Received: by 10.223.176.5 with SMTP id f5csp1098968wra; Wed, 31 Jan 2018 01:04:51 -0800 (PST) X-Google-Smtp-Source: AH8x227tTkmhSNgHsaHJKyVBXzWkqPtpoHf6RpHQ2MbAkHHyUJPYz1Uj1fQ5UdEJDk3GGVbi+bB+ X-Received: by 10.98.157.26 with SMTP id i26mr32838964pfd.12.1517389491747; Wed, 31 Jan 2018 01:04:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517389491; cv=none; d=google.com; s=arc-20160816; b=PwMGXzit2L0XZ6mBRDwXwkpWNDFVLEKgg37ZyBbPns3XnvaexA8KCqG2XjfNQZACsD Lx2h850ZEa3qcP7oWhE7MXvUZPtsvHre7sv27ldG2QlrDUm7Wdp63ScsDsbX+wQfkOxX kphj6MP75D3ZCKZTpCHjp28pZETnEPdNKji3MJh/Yr83EQOF1a+SnNlppWTb+3+Kc1uI Go47ZjwpwNaX8XFOBOQBIe6Y05PP5SX0llOp00t/wSvKszGmXFbwIEtGUkuFTX7fb2de LZgJmIP/aNbWF3zRvgDwySRJEZqIyllDdOwFXMsgBhxV8jCzO6Luty63kLyo/UTFrHVE iO9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=rQd8dvCsyzvkX+T6u+M8HYI+8Hv3uqvBetIUyWeELDw=; b=TMVGUVNDLJmZETg2ikwAwCqXpGRyNsDAGjLEspo9LspNQhINt834+jBYvgU8qc8K0T HchgJINkaQqY3o6/uZKVntoamqAmM4Bf0i70p4tilyjizg9J5UIaOkeDbtWbplFyq7s7 tfSp/bRr7VUEBfEzIOsylIS1OR6UD34xPrqipW9aLbyUeBBZCkX3dw6aA7E+teN5s6El thqOTm5Uq7lR5I4OJHZnw7pchypxlcP70wpUNTmFWMAu0VQLI+btwA47VOHGM5kda01w WwgqDe7Ntg8JBf9iZlcbiYsGbT4eS57dapg3Z+rFSBpjK1tO0qA8YVO7mbYmCaxOSDMG YbMw== 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 b187si1084881pfg.66.2018.01.31.01.04.36; Wed, 31 Jan 2018 01:04:51 -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 S1752618AbeAaI6b (ORCPT + 99 others); Wed, 31 Jan 2018 03:58:31 -0500 Received: from mx01.hxt-semitech.com.96.203.223.in-addr.arpa ([223.203.96.7]:40721 "EHLO barracuda.hxt-semitech.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752276AbeAaI6a (ORCPT ); Wed, 31 Jan 2018 03:58:30 -0500 X-ASG-Debug-ID: 1517389106-093b7e06e818930001-xx1T2L Received: from HXTBJIDCEMVIW01.hxtcorp.net (localhost [10.128.0.14]) by barracuda.hxt-semitech.com with ESMTP id wf1hCyazpOOTxUNT (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 31 Jan 2018 16:58:26 +0800 (CST) X-Barracuda-Envelope-From: shunyong.yang@hxt-semitech.com Received: from y.localdomain (10.5.21.109) by HXTBJIDCEMVIW01.hxtcorp.net (10.128.0.14) with Microsoft SMTP Server (TLS) id 15.0.847.32; Wed, 31 Jan 2018 16:58:35 +0800 From: Yang Shunyong To: CC: , , , Yang Shunyong , Joey Zheng Subject: [PATCH v2] dmaengine: dmatest: add norandom option Date: Wed, 31 Jan 2018 16:56:39 +0800 X-ASG-Orig-Subj: [PATCH v2] dmaengine: dmatest: add norandom option Message-ID: <1517388999-15399-1-git-send-email-shunyong.yang@hxt-semitech.com> X-Mailer: git-send-email 1.8.3.1 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 HXTBJIDCEMVIW01.hxtcorp.net (10.128.0.14) X-Barracuda-Connect: localhost[10.128.0.14] X-Barracuda-Start-Time: 1517389106 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.4753 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.47444 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, but data verification is still performed. This patch adds option norandom to disable random offset setup. Option noverify has been changed to disable data verification only. Cc: Joey Zheng Signed-off-by: Yang Shunyong --- v2: change to symbolic permissions. --- 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 80cc2be6483c..e5e39f8131ab 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -74,7 +74,11 @@ static bool noverify; module_param(noverify, bool, S_IRUGO | S_IWUSR); -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, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(norandom, "Disable random offset setup (default: random)"); static bool verbose; module_param(verbose, bool, S_IRUGO | S_IWUSR); @@ -103,6 +107,7 @@ struct dmatest_params { unsigned int pq_sources; int timeout; bool noverify; + bool norandom; }; /** @@ -575,7 +580,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; @@ -586,17 +591,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, @@ -975,6 +982,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