aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat/dma.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-09-08 20:42:58 -0400
committerDan Williams <dan.j.williams@intel.com>2009-09-08 20:42:58 -0400
commit9de6fc717bdc574cf5faf9d46ce0f9d6265c7952 (patch)
tree55cb18ecfae85033d61f730b5f32d2ac1fb572bc /drivers/dma/ioat/dma.c
parentb094ad3be564e7cc59cca4ff0256550d3a55dd3b (diff)
ioat3: xor self test
This adds a hardware specific self test to be called from ioat_probe. In the ioat3 case we will have tests for all the different raid operations, while ioat1 and ioat2 will continue to just test memcpy. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/ioat/dma.c')
-rw-r--r--drivers/dma/ioat/dma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c
index cb08f8108496..32a757be75c1 100644
--- a/drivers/dma/ioat/dma.c
+++ b/drivers/dma/ioat/dma.c
@@ -799,7 +799,7 @@ static void __devinit ioat_dma_test_callback(void *dma_async_param)
799 * ioat_dma_self_test - Perform a IOAT transaction to verify the HW works. 799 * ioat_dma_self_test - Perform a IOAT transaction to verify the HW works.
800 * @device: device to be tested 800 * @device: device to be tested
801 */ 801 */
802static int __devinit ioat_dma_self_test(struct ioatdma_device *device) 802int __devinit ioat_dma_self_test(struct ioatdma_device *device)
803{ 803{
804 int i; 804 int i;
805 u8 *src; 805 u8 *src;
@@ -1039,7 +1039,7 @@ int __devinit ioat_probe(struct ioatdma_device *device)
1039 if (err) 1039 if (err)
1040 goto err_setup_interrupts; 1040 goto err_setup_interrupts;
1041 1041
1042 err = ioat_dma_self_test(device); 1042 err = device->self_test(device);
1043 if (err) 1043 if (err)
1044 goto err_self_test; 1044 goto err_self_test;
1045 1045
@@ -1197,6 +1197,7 @@ int __devinit ioat1_dma_probe(struct ioatdma_device *device, int dca)
1197 1197
1198 device->intr_quirk = ioat1_intr_quirk; 1198 device->intr_quirk = ioat1_intr_quirk;
1199 device->enumerate_channels = ioat1_enumerate_channels; 1199 device->enumerate_channels = ioat1_enumerate_channels;
1200 device->self_test = ioat_dma_self_test;
1200 dma = &device->common; 1201 dma = &device->common;
1201 dma->device_prep_dma_memcpy = ioat1_dma_prep_memcpy; 1202 dma->device_prep_dma_memcpy = ioat1_dma_prep_memcpy;
1202 dma->device_issue_pending = ioat1_dma_memcpy_issue_pending; 1203 dma->device_issue_pending = ioat1_dma_memcpy_issue_pending;