lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 12 Mar 2009 15:30:41 +0900
From:	Nobuhiro Iwamatsu <iwamatsu.nobuhiro@...esas.com>
To:	linux-kernel@...r.kernel.org
Cc:	Haavard Skinnemoen <hskinnemoen@...el.com>,
	maciej.sosnowski@...el.com, dan.j.williams@...el.com
Subject: [PATCH] dmaengine: Add Kconfig of DMA data align for DMA Test driver

Test drivers of DMA engine usually perform DMA transfer by 1 byte unit.
This can set transfer size of DMA and aligns data for tests.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@...esas.com>
Cc: Haavard Skinnemoen <hskinnemoen@...el.com>
Cc: Maciej Sosnowski <maciej.sosnowski@...el.com>
Cc: Dan Williams <dan.j.williams@...el.com>
---
 drivers/dma/Kconfig   |    8 ++++++++
 drivers/dma/dmatest.c |    7 +++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 48ea59e..7f9e1ec 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -105,4 +105,12 @@ config DMATEST
 	  Simple DMA test client. Say N unless you're debugging a
 	  DMA Device driver.

+config DMATEST_DATA_ALIGN
+	int "DMA Test data align size"
+	depends on DMATEST
+	default "1"
+	help
+	  Test drivers of DMA engine usually perform DMA transfer by 1 byte unit.
+	  This can set transfer size of DMA and aligns data for tests.
+
 endif
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index 732fa1e..e7f273c 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -224,8 +224,15 @@ static int dmatest_func(void *data)
 		total_tests++;

 		len = dmatest_random() % test_buf_size + 1;
+#if CONFIG_DMATEST_DATA_ALIGN > 1
+		len -= (len % CONFIG_DMATEST_DATA_ALIGN);
+#endif
 		src_off = dmatest_random() % (test_buf_size - len + 1);
 		dst_off = dmatest_random() % (test_buf_size - len + 1);
+#if CONFIG_DMATEST_DATA_ALIGN > 1
+		src_off -= (src_off % CONFIG_DMATEST_DATA_ALIGN);
+		dst_off -= (dst_off % CONFIG_DMATEST_DATA_ALIGN);
+#endif

 		dmatest_init_srcbuf(thread->srcbuf, src_off, len);
 		dmatest_init_dstbuf(thread->dstbuf, dst_off, len);
-- 
1.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ