View | Details | Raw Unified | Return to bug 27750 | Differences between
and this patch

Collapse All | Expand All

(-)ata-dma.c.orig Tue May 29 07:36:28 2001 (-9 / +5 lines)
Lines 723-736 Link Here
723
    case 0x4d38105a:   /* Promise Ultra/FastTrak 66 controllers */
723
    case 0x4d38105a:   /* Promise Ultra/FastTrak 66 controllers */
724
    case 0x4d30105a:   /* Promise Ultra/FastTrak 100 controllers */
724
    case 0x4d30105a:   /* Promise Ultra/FastTrak 100 controllers */
725
    case 0x0d30105a:   /* Promise OEM ATA100 controllers */
725
    case 0x0d30105a:   /* Promise OEM ATA100 controllers */
726
    case 0x4d68105a:   /* Promise Ultra100 TX2 controllers */
727
       /* the Promise can only do DMA on ATA disks not on ATAPI devices */
726
       /* the Promise can only do DMA on ATA disks not on ATAPI devices */
728
       if ((device == ATA_MASTER && scp->devices & ATA_ATAPI_MASTER) ||
727
       if ((device == ATA_MASTER && scp->devices & ATA_ATAPI_MASTER) ||
729
           (device == ATA_SLAVE && scp->devices & ATA_ATAPI_SLAVE))
728
           (device == ATA_SLAVE && scp->devices & ATA_ATAPI_SLAVE))
730
           break;
729
           break;
731
730
732
       if (udmamode >= 5 && (scp->chiptype == 0x4d30105a || 
731
       if (udmamode >= 5 &&                                                    +           (scp->chiptype == 0x4d30105a || scp->chiptype == 0x0d30105a) &&
733
           scp->chiptype == 0x0d30105a || scp->chiptype == 0x4d68105a) &&
734
           !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){
732
           !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){
735
           error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
733
           error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
736
                               ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY);    @@ -745,11 +744,10 @@
734
                               ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY);    @@ -745,11 +744,10 @@
737
           }
735
           }
738
       }
736
       }
739
       if (udmamode >= 4 && (scp->chiptype == 0x4d38105a || 
737
       if (udmamode >= 4 && (scp->chiptype == 0x4d38105a || 
740
           scp->chiptype == 0x4d30105a || scp->chiptype == 0x0d30105a ||
738
           scp->chiptype == 0x4d30105a || scp->chiptype == 0x0d30105a) &&
741
                       scp->chiptype == 0x4d68105a) && !(pci_read_config(parent
739
           !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){
742
                       &(scp->channel ? 1<<11 : 1<<10))){
740
           error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
743
                       error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0
741
                               ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY);
744
                         ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY);
745
           if (bootverbose)
742
           if (bootverbose)
746
               ata_printf(scp, device,
743
               ata_printf(scp, device,
747
                          "%s setting UDMA4 on Promise chip\n",
744
                          "%s setting UDMA4 on Promise chip\n",
Lines 1043-1049 Link Here
1043
    case 0x4d38105a:  /* Promise Ultra/Fasttrak 66 */
1041
    case 0x4d38105a:  /* Promise Ultra/Fasttrak 66 */
1044
    case 0x4d30105a:  /* Promise Ultra/Fasttrak 100 */
1042
    case 0x4d30105a:  /* Promise Ultra/Fasttrak 100 */
1045
    case 0x0d30105a:  /* Promise OEM ATA 100 */
1043
    case 0x0d30105a:  /* Promise OEM ATA 100 */
1046
    case 0x4d68105a:  /* Promise Ultra100 TX2 */
1047
       switch (mode) {
1044
       switch (mode) {
1048
       default:
1045
       default:
1049
       case ATA_PIO0:  t->pa = 15; t->pb = 31; t->mb = 7; t->mc = 15; break;
1046
       case ATA_PIO0:  t->pa = 15; t->pb = 31; t->mb = 7; t->mc = 15; break;

Return to bug 27750