diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:07 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:07 -0400 |
commit | 18137207236285989dfc0ee7f929b954199228f3 (patch) | |
tree | d55f1287ae64318190e18cb7a64ca514c76c3414 /drivers/ide/pci/pdc202xx_old.c | |
parent | de372ecd80a42c4fb485c7232475301a18d05184 (diff) |
ide: fix UDMA/MWDMA/SWDMA masks (v3)
* use 0x00 instead of 0x80 to disable ->{ultra,mwdma,swdma}_mask
* add udma_mask field to ide_pci_device_t and use it to initialize
->ultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers
* fix UDMA masks to match with chipset specific *_ratemask()
(alim15x3, hpt366, serverworks and siimage drivers need UDMA mask
filtering method - done in the next patch)
v2:
* piix: fix cable detection for 82801AA_1 and 82372FB_1
[ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
* cmd64x: use hwif->cds->udma_mask
[ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
* aec62xx: fix newly introduced bug - check DMA status not command register
[ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
v3:
* piix: use hwif->cds->udma_mask
[ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/pdc202xx_old.c')
-rw-r--r-- | drivers/ide/pci/pdc202xx_old.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index a7a639fe1eaf..d7a38067fb34 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -478,7 +478,7 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif) | |||
478 | 478 | ||
479 | hwif->drives[0].autotune = hwif->drives[1].autotune = 1; | 479 | hwif->drives[0].autotune = hwif->drives[1].autotune = 1; |
480 | 480 | ||
481 | hwif->ultra_mask = 0x3f; | 481 | hwif->ultra_mask = hwif->cds->udma_mask; |
482 | hwif->mwdma_mask = 0x07; | 482 | hwif->mwdma_mask = 0x07; |
483 | hwif->swdma_mask = 0x07; | 483 | hwif->swdma_mask = 0x07; |
484 | hwif->atapi_dma = 1; | 484 | hwif->atapi_dma = 1; |
@@ -587,6 +587,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
587 | .autodma = AUTODMA, | 587 | .autodma = AUTODMA, |
588 | .bootable = OFF_BOARD, | 588 | .bootable = OFF_BOARD, |
589 | .extra = 16, | 589 | .extra = 16, |
590 | .udma_mask = 0x07, /* udma0-2 */ | ||
590 | },{ /* 1 */ | 591 | },{ /* 1 */ |
591 | .name = "PDC20262", | 592 | .name = "PDC20262", |
592 | .init_setup = init_setup_pdc202ata4, | 593 | .init_setup = init_setup_pdc202ata4, |
@@ -597,6 +598,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
597 | .autodma = AUTODMA, | 598 | .autodma = AUTODMA, |
598 | .bootable = OFF_BOARD, | 599 | .bootable = OFF_BOARD, |
599 | .extra = 48, | 600 | .extra = 48, |
601 | .udma_mask = 0x1f, /* udma0-4 */ | ||
600 | },{ /* 2 */ | 602 | },{ /* 2 */ |
601 | .name = "PDC20263", | 603 | .name = "PDC20263", |
602 | .init_setup = init_setup_pdc202ata4, | 604 | .init_setup = init_setup_pdc202ata4, |
@@ -607,6 +609,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
607 | .autodma = AUTODMA, | 609 | .autodma = AUTODMA, |
608 | .bootable = OFF_BOARD, | 610 | .bootable = OFF_BOARD, |
609 | .extra = 48, | 611 | .extra = 48, |
612 | .udma_mask = 0x1f, /* udma0-4 */ | ||
610 | },{ /* 3 */ | 613 | },{ /* 3 */ |
611 | .name = "PDC20265", | 614 | .name = "PDC20265", |
612 | .init_setup = init_setup_pdc20265, | 615 | .init_setup = init_setup_pdc20265, |
@@ -617,6 +620,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
617 | .autodma = AUTODMA, | 620 | .autodma = AUTODMA, |
618 | .bootable = OFF_BOARD, | 621 | .bootable = OFF_BOARD, |
619 | .extra = 48, | 622 | .extra = 48, |
623 | .udma_mask = 0x3f, /* udma0-5 */ | ||
620 | },{ /* 4 */ | 624 | },{ /* 4 */ |
621 | .name = "PDC20267", | 625 | .name = "PDC20267", |
622 | .init_setup = init_setup_pdc202xx, | 626 | .init_setup = init_setup_pdc202xx, |
@@ -627,6 +631,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
627 | .autodma = AUTODMA, | 631 | .autodma = AUTODMA, |
628 | .bootable = OFF_BOARD, | 632 | .bootable = OFF_BOARD, |
629 | .extra = 48, | 633 | .extra = 48, |
634 | .udma_mask = 0x3f, /* udma0-5 */ | ||
630 | } | 635 | } |
631 | }; | 636 | }; |
632 | 637 | ||