|
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; |