Received: by 10.223.176.46 with SMTP id f43csp2751726wra; Mon, 22 Jan 2018 02:49:35 -0800 (PST) X-Google-Smtp-Source: AH8x225GQ2+xApUIGU+gVHTzE2t98pJARDQZHSABvF0ihV6Pqzqle8MlB1jAADmnurDmhh58N2Cg X-Received: by 2002:a17:902:7182:: with SMTP id b2-v6mr3454944pll.38.1516618175188; Mon, 22 Jan 2018 02:49:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516618175; cv=none; d=google.com; s=arc-20160816; b=0yFzqOBtI8r02O8FN+zVheuFG4voMB4Q8ygn8DYlVyhD2Qbn+Jpbp5QKTdeX2ljVxg T3WvmzoA/7x4unz3DRSm0jt7wq6ydkHHFAgRIOKISGAiuqjlW//6vsZVrokwhpICYSDi B/QPJ0hNwjjjToxcSE4AxcgwNABebowCyPwNXiDjD/12fvIE0J7a4QMa/Aa6N5vCo4rN 6a/3ZCHTqe0D3hQAQp3iAVFi/SkuZLBFb8m2xzMpQ2cD8Bkjig3ZhJP7Nef/EttG+Hw2 quybMYZUvMdqo6KnR60vDp0Ki+lgd7ujI7peSAFg/HTm9cqkCS+E4QaFgYG9j7xeCUcr EjTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=dMosti5Z8rwaVUtPFO6KZwEnV2du61Cu9qC8fdmnjtc=; b=nWttnHsPWydudsWeTwg3hMcGlQ9ND5jOZmFlN+smWJxeTmqwXxk06S3npVN/JtgM4k IQ5nPsIpxrqjWvcH52bYkPpCKyg1YMKVMssAxTL3KFq+N82v0FHx+qETfKOEtiVWwsyw 16fv+15eN08Ho7LruCTPs5WQ6T4xigDC408+H3Lwwi0FxaM/5iAalBSsb9K+fGbqXrfa hPjHYdhLLJmK/b6XyfuiiWE/fwE0ZZ7FY/UCmZyZIFmCk+NSA66IrCUl74g1a3eMOzzG Aj89RaFX9VF7HhMoamJREF1ZwdBE9szEErcUGGKaDKkFwOkxWT6kItVp0XGPPlFoBSd5 V6fQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a66si13837485pgc.276.2018.01.22.02.49.20; Mon, 22 Jan 2018 02:49:35 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751155AbeAVKsv (ORCPT + 99 others); Mon, 22 Jan 2018 05:48:51 -0500 Received: from mx01.hxt-semitech.com.96.203.223.in-addr.arpa ([223.203.96.7]:45338 "EHLO barracuda.hxt-semitech.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751097AbeAVKss (ORCPT ); Mon, 22 Jan 2018 05:48:48 -0500 X-ASG-Debug-ID: 1516618124-093b7e099d25a40001-xx1T2L Received: from HXTBJIDCEMVIW02.hxtcorp.net (localhost [10.128.0.15]) by barracuda.hxt-semitech.com with ESMTP id yX8MVZzZ9CTV7650 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Jan 2018 18:48:45 +0800 (CST) X-Barracuda-Envelope-From: shunyong.yang@hxt-semitech.com Received: from y.localdomain (10.5.21.109) by HXTBJIDCEMVIW02.hxtcorp.net (10.128.0.15) with Microsoft SMTP Server (TLS) id 15.0.847.32; Mon, 22 Jan 2018 18:48:52 +0800 From: Yang Shunyong To: CC: , , , Yang Shunyong Subject: [PATCH 2/2] dmaengine: dmatest: add norandom option Date: Mon, 22 Jan 2018 18:44:41 +0800 X-ASG-Orig-Subj: [PATCH 2/2] dmaengine: dmatest: add norandom option Message-ID: <1516617881-30044-2-git-send-email-shunyong.yang@hxt-semitech.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1516617881-30044-1-git-send-email-shunyong.yang@hxt-semitech.com> References: <1516617881-30044-1-git-send-email-shunyong.yang@hxt-semitech.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.5.21.109] X-ClientProxiedBy: HXTBJIDCEMVIW02.hxtcorp.net (10.128.0.15) To HXTBJIDCEMVIW02.hxtcorp.net (10.128.0.15) X-Barracuda-Connect: localhost[10.128.0.15] X-Barracuda-Start-Time: 1516618125 X-Barracuda-Encrypted: ECDHE-RSA-AES256-SHA X-Barracuda-URL: https://192.168.50.101:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at hxt-semitech.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Bayes: INNOCENT GLOBAL 0.4626 1.0000 0.0000 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=9.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.47133 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Existing option noverify disables both random src/dst address offset setup and data verification. Sometimes, we need to control random src/dst address setup and verification separately, such as disabling random to make sure that test covers addresses in all interleaving banks in one run. This patch adds option norandom to disable random offset setup. Option noverify has been changed to disable data verification only. Signed-off-by: Yang Shunyong --- drivers/dma/dmatest.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index 4cdccc3..cc3ab97 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -72,7 +72,11 @@ static bool noverify; module_param(noverify, bool, 0644); -MODULE_PARM_DESC(noverify, "Disable random data setup and verification"); +MODULE_PARM_DESC(noverify, "Disable data verification (default: verify)"); + +static bool norandom; +module_param(norandom, bool, 0644); +MODULE_PARM_DESC(norandom, "Disable random offset setup (default: random)"); static bool verbose; module_param(verbose, bool, 0644); @@ -101,6 +105,7 @@ struct dmatest_params { unsigned int pq_sources; int timeout; bool noverify; + bool norandom; }; /** @@ -573,7 +578,7 @@ static int dmatest_func(void *data) break; } - if (params->noverify) + if (params->norandom) len = params->buf_size; else len = dmatest_random() % params->buf_size + 1; @@ -584,17 +589,19 @@ static int dmatest_func(void *data) total_len += len; - if (params->noverify) { + if (params->norandom) { src_off = 0; dst_off = 0; } else { - start = ktime_get(); src_off = dmatest_random() % (params->buf_size - len + 1); dst_off = dmatest_random() % (params->buf_size - len + 1); src_off = (src_off >> align) << align; dst_off = (dst_off >> align) << align; + } + if (!params->noverify) { + start = ktime_get(); dmatest_init_srcs(thread->srcs, src_off, len, params->buf_size, is_memset); dmatest_init_dsts(thread->dsts, dst_off, len, @@ -973,6 +980,7 @@ static void run_threaded_test(struct dmatest_info *info) params->pq_sources = pq_sources; params->timeout = timeout; params->noverify = noverify; + params->norandom = norandom; request_channels(info, DMA_MEMCPY); request_channels(info, DMA_MEMSET); -- 1.8.3.1