* [PATCH 3/5] alim15x3: add "wdc_udma" module parameter
@ 2008-05-08 21:04 Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; only message in thread
From: Bartlomiej Zolnierkiewicz @ 2008-05-08 21:04 UTC (permalink / raw)
To: linux-ide; +Cc: linux-kernel
Add "wdc_udma" module parameter for allowing UDMA transfers
on M1543C-E chipset for WDC disks.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
drivers/ide/pci/alim15x3.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
Index: b/drivers/ide/pci/alim15x3.c
===================================================================
--- a/drivers/ide/pci/alim15x3.c
+++ b/drivers/ide/pci/alim15x3.c
@@ -39,6 +39,16 @@
#include <asm/io.h>
/*
+ * Allow UDMA on M1543C-E chipset for WDC disks that ignore CRC checking
+ * (this is DANGEROUS and could result in data corruption).
+ */
+static int wdc_udma;
+
+module_param(wdc_udma, bool, 0);
+MODULE_PARM_DESC(wdc_udma,
+ "allow UDMA on M1543C-E chipset for WDC disks (DANGEROUS)");
+
+/*
* ALi devices are not plug in. Otherwise these static values would
* need to go. They ought to go away anyway
*/
@@ -116,7 +126,7 @@ static void ali_set_pio_mode(ide_drive_t
* The actual rules for the ALi are:
* No UDMA on revisions <= 0x20
* Disk only for revisions < 0xC2
- * Not WDC drives for revisions < 0xC2
+ * Not WDC drives on M1543C-E (?)
*
* FIXME: WDC ifdef needs to die
*/
@@ -127,7 +137,8 @@ static u8 ali_udma_filter(ide_drive_t *d
if (drive->media != ide_disk)
return 0;
#ifndef CONFIG_WDC_ALI15X3
- if (chip_is_1543c_e && strstr(drive->id->model, "WDC "))
+ if (chip_is_1543c_e && strstr(drive->id->model, "WDC ") &&
+ wdc_udma == 0)
return 0;
#endif
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-05-08 20:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-08 21:04 [PATCH 3/5] alim15x3: add "wdc_udma" module parameter Bartlomiej Zolnierkiewicz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.