Commit a3cb900cc408977a11519bc7c760f3e499079589
Committed by
Jeff Garzik
1 parent
65e3164311
Exists in
master
and in
20 other branches
[libata] pata_ali: Use IGN_SIMPLEX
Some ALi devices report simplex if they have been disabled and re-enabled, and restoring the byte does not work. Ignore it - the needed supporting logic is already present for the SATA ULi ports. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Showing 1 changed file with 11 additions and 6 deletions Side-by-side Diff
drivers/ata/pata_ali.c
... | ... | @@ -497,14 +497,16 @@ |
497 | 497 | }; |
498 | 498 | /* Revision 0x20 added DMA */ |
499 | 499 | static const struct ata_port_info info_20 = { |
500 | - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, | |
500 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | | |
501 | + ATA_FLAG_IGN_SIMPLEX, | |
501 | 502 | .pio_mask = ATA_PIO4, |
502 | 503 | .mwdma_mask = ATA_MWDMA2, |
503 | 504 | .port_ops = &ali_20_port_ops |
504 | 505 | }; |
505 | 506 | /* Revision 0x20 with support logic added UDMA */ |
506 | 507 | static const struct ata_port_info info_20_udma = { |
507 | - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, | |
508 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | | |
509 | + ATA_FLAG_IGN_SIMPLEX, | |
508 | 510 | .pio_mask = ATA_PIO4, |
509 | 511 | .mwdma_mask = ATA_MWDMA2, |
510 | 512 | .udma_mask = ATA_UDMA2, |
... | ... | @@ -512,7 +514,8 @@ |
512 | 514 | }; |
513 | 515 | /* Revision 0xC2 adds UDMA66 */ |
514 | 516 | static const struct ata_port_info info_c2 = { |
515 | - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, | |
517 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | | |
518 | + ATA_FLAG_IGN_SIMPLEX, | |
516 | 519 | .pio_mask = ATA_PIO4, |
517 | 520 | .mwdma_mask = ATA_MWDMA2, |
518 | 521 | .udma_mask = ATA_UDMA4, |
... | ... | @@ -520,7 +523,8 @@ |
520 | 523 | }; |
521 | 524 | /* Revision 0xC3 is UDMA66 for now */ |
522 | 525 | static const struct ata_port_info info_c3 = { |
523 | - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, | |
526 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | | |
527 | + ATA_FLAG_IGN_SIMPLEX, | |
524 | 528 | .pio_mask = ATA_PIO4, |
525 | 529 | .mwdma_mask = ATA_MWDMA2, |
526 | 530 | .udma_mask = ATA_UDMA4, |
... | ... | @@ -528,7 +532,8 @@ |
528 | 532 | }; |
529 | 533 | /* Revision 0xC4 is UDMA100 */ |
530 | 534 | static const struct ata_port_info info_c4 = { |
531 | - .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48, | |
535 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_PIO_LBA48 | | |
536 | + ATA_FLAG_IGN_SIMPLEX, | |
532 | 537 | .pio_mask = ATA_PIO4, |
533 | 538 | .mwdma_mask = ATA_MWDMA2, |
534 | 539 | .udma_mask = ATA_UDMA5, |
... | ... | @@ -536,7 +541,7 @@ |
536 | 541 | }; |
537 | 542 | /* Revision 0xC5 is UDMA133 with LBA48 DMA */ |
538 | 543 | static const struct ata_port_info info_c5 = { |
539 | - .flags = ATA_FLAG_SLAVE_POSS, | |
544 | + .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_IGN_SIMPLEX, | |
540 | 545 | .pio_mask = ATA_PIO4, |
541 | 546 | .mwdma_mask = ATA_MWDMA2, |
542 | 547 | .udma_mask = ATA_UDMA6, |