aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-05-22 15:49:51 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2009-06-02 10:21:41 -0400
commit1745de5e5639457513fe43440f2800e23c3cbc7d (patch)
tree0323bd8756c0b42060724ce282facce2a885c9a2
parent8a6fc708b9bb48a79a385bdc2be0959ee2ab788d (diff)
dma-debug: add dma_debug_driver kernel command line
This patch add the dma_debug_driver= boot parameter to enable the driver filter for early boot. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
-rw-r--r--Documentation/kernel-parameters.txt7
-rw-r--r--lib/dma-debug.c18
2 files changed, 25 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index e87bdbfbcc75..b3f1314588c9 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -646,6 +646,13 @@ and is between 256 and 4096 characters. It is defined in the file
646 DMA-API debugging code disables itself because the 646 DMA-API debugging code disables itself because the
647 architectural default is too low. 647 architectural default is too low.
648 648
649 dma_debug_driver=<driver_name>
650 With this option the DMA-API debugging driver
651 filter feature can be enabled at boot time. Just
652 pass the driver to filter for as the parameter.
653 The filter can be disabled or changed to another
654 driver later using sysfs.
655
649 dscc4.setup= [NET] 656 dscc4.setup= [NET]
650 657
651 dtc3181e= [HW,SCSI] 658 dtc3181e= [HW,SCSI]
diff --git a/lib/dma-debug.c b/lib/dma-debug.c
index c6330b1a7be7..d0618aa13b49 100644
--- a/lib/dma-debug.c
+++ b/lib/dma-debug.c
@@ -1109,3 +1109,21 @@ void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
1109} 1109}
1110EXPORT_SYMBOL(debug_dma_sync_sg_for_device); 1110EXPORT_SYMBOL(debug_dma_sync_sg_for_device);
1111 1111
1112static int __init dma_debug_driver_setup(char *str)
1113{
1114 int i;
1115
1116 for (i = 0; i < NAME_MAX_LEN - 1; ++i, ++str) {
1117 current_driver_name[i] = *str;
1118 if (*str == 0)
1119 break;
1120 }
1121
1122 if (current_driver_name[0])
1123 printk(KERN_INFO "DMA-API: enable driver filter for "
1124 "driver [%s]\n", current_driver_name);
1125
1126
1127 return 1;
1128}
1129__setup("dma_debug_driver=", dma_debug_driver_setup);