Commit dc9c0beecfeb4866fdbc245c295cf30d340b702c
Committed by
David S. Miller
1 parent
65112dccf8
Exists in
master
and in
6 other branches
piix: ICH7 MWDMA1 errata
Based on libata commit c611bed7. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 10 additions and 8 deletions Side-by-side Diff
drivers/ide/piix.c
... | ... | @@ -331,7 +331,7 @@ |
331 | 331 | .udma_mask = udma, \ |
332 | 332 | } |
333 | 333 | |
334 | -#define DECLARE_ICH_DEV(udma) \ | |
334 | +#define DECLARE_ICH_DEV(mwdma, udma) \ | |
335 | 335 | { \ |
336 | 336 | .name = DRV_NAME, \ |
337 | 337 | .init_chipset = init_chipset_ich, \ |
... | ... | @@ -340,7 +340,7 @@ |
340 | 340 | .port_ops = &ich_port_ops, \ |
341 | 341 | .pio_mask = ATA_PIO4, \ |
342 | 342 | .swdma_mask = ATA_SWDMA2_ONLY, \ |
343 | - .mwdma_mask = ATA_MWDMA12_ONLY, \ | |
343 | + .mwdma_mask = mwdma, \ | |
344 | 344 | .udma_mask = udma, \ |
345 | 345 | } |
346 | 346 | |
347 | 347 | |
348 | 348 | |
... | ... | @@ -362,13 +362,15 @@ |
362 | 362 | /* 2: PIIX4 */ |
363 | 363 | DECLARE_PIIX_DEV(ATA_UDMA2), |
364 | 364 | /* 3: ICH0 */ |
365 | - DECLARE_ICH_DEV(ATA_UDMA2), | |
365 | + DECLARE_ICH_DEV(ATA_MWDMA12_ONLY, ATA_UDMA2), | |
366 | 366 | /* 4: ICH */ |
367 | - DECLARE_ICH_DEV(ATA_UDMA4), | |
367 | + DECLARE_ICH_DEV(ATA_MWDMA12_ONLY, ATA_UDMA4), | |
368 | 368 | /* 5: PIIX4 */ |
369 | 369 | DECLARE_PIIX_DEV(ATA_UDMA4), |
370 | - /* 6: ICH[2-7]/ICH[2-3]M/C-ICH/ICH5-SATA/ESB2/ICH8M */ | |
371 | - DECLARE_ICH_DEV(ATA_UDMA5), | |
370 | + /* 6: ICH[2-6]/ICH[2-3]M/C-ICH/ICH5-SATA/ESB2/ICH8M */ | |
371 | + DECLARE_ICH_DEV(ATA_MWDMA12_ONLY, ATA_UDMA5), | |
372 | + /* 7: ICH7/7-R, no MWDMA1 */ | |
373 | + DECLARE_ICH_DEV(ATA_MWDMA2_ONLY, ATA_UDMA5), | |
372 | 374 | }; |
373 | 375 | |
374 | 376 | /** |
375 | 377 | |
... | ... | @@ -438,9 +440,9 @@ |
438 | 440 | #endif |
439 | 441 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ESB_2), 6 }, |
440 | 442 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICH6_19), 6 }, |
441 | - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICH7_21), 6 }, | |
443 | + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICH7_21), 7 }, | |
442 | 444 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_82801DB_1), 6 }, |
443 | - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ESB2_18), 6 }, | |
445 | + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ESB2_18), 7 }, | |
444 | 446 | { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICH8_6), 6 }, |
445 | 447 | { 0, }, |
446 | 448 | }; |