Deleted Added
full compact
28c28
< * $FreeBSD: head/sys/dev/ata/ata-dma.c 94426 2002-04-11 11:04:23Z sos $
---
> * $FreeBSD: head/sys/dev/ata/ata-dma.c 94826 2002-04-16 08:30:51Z sos $
504a505
> case 0x01bc10de: /* nVIDIA nForce */
507,520d507
< if (udmamode >= 5) {
< error = ata_command(atadev, ATA_C_SETFEATURES, 0,
< ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY);
< if (bootverbose)
< ata_prtdev(atadev, "%s setting UDMA5 on AMD chip\n",
< (error) ? "failed" : "success");
< if (!error) {
< pci_write_config(parent, 0x53 - devno, 0xc6, 1);
< ata_dmacreate(atadev, apiomode, ATA_UDMA5);
< return;
< }
< }
< /* FALLTHROUGH */
<
522,535d508
< if (udmamode >= 4) {
< error = ata_command(atadev, ATA_C_SETFEATURES, 0,
< ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY);
< if (bootverbose)
< ata_prtdev(atadev, "%s setting UDMA4 on AMD chip\n",
< (error) ? "failed" : "success");
< if (!error) {
< pci_write_config(parent, 0x53 - devno, 0xc5, 1);
< ata_dmacreate(atadev, apiomode, ATA_UDMA4);
< return;
< }
< }
< goto via_82c586;
<
538,542c511,516
< int via_modes[4][7] = {
< { 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* ATA33 */
< { 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 }, /* ATA66 */
< { 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 }, /* ATA100 */
< { 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 }}; /* ATA133 */
---
> int via_modes[5][7] = {
> { 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* VIA ATA33 */
> { 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 }, /* VIA ATA66 */
> { 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 }, /* VIA ATA100 */
> { 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 }, /* VIA ATA133 */
> { 0x00, 0x00, 0xc0, 0x00, 0xc5, 0xc6, 0x00 }}; /* AMD/nVIDIA */
543a518
> char *chip = "VIA";
567d541
< via_82c586:
571c545,561
< else
---
> else if (chiptype == 0x74411022 || /* AMD 768 */
> chiptype == 0x74111022) { /* AMD 766 */
> udmamode = imin(udmamode, 5);
> reg_val = via_modes[4];
> chip = "AMD";
> }
> else if (chiptype == 0x74091022) { /* AMD 756 */
> udmamode = imin(udmamode, 4);
> reg_val = via_modes[4];
> chip = "AMD";
> }
> else if (chiptype == 0x01bc10de) { /* nVIDIA */
> udmamode = imin(udmamode, 5);
> reg_val = via_modes[4];
> chip = "nVIDIA";
> }
> else
573c563
<
---
>
578,579c568,569
< ata_prtdev(atadev, "%s setting UDMA6 on VIA chip\n",
< (error) ? "failed" : "success");
---
> ata_prtdev(atadev, "%s setting UDMA6 on %s chip\n",
> (error) ? "failed" : "success", chip);
590,591c580,581
< ata_prtdev(atadev, "%s setting UDMA5 on VIA chip\n",
< (error) ? "failed" : "success");
---
> ata_prtdev(atadev, "%s setting UDMA5 on %s chip\n",
> (error) ? "failed" : "success", chip);
602,603c592,593
< ata_prtdev(atadev, "%s setting UDMA4 on VIA chip\n",
< (error) ? "failed" : "success");
---
> ata_prtdev(atadev, "%s setting UDMA4 on %s chip\n",
> (error) ? "failed" : "success", chip);
614,615c604,605
< ata_prtdev(atadev, "%s setting UDMA2 on VIA chip\n",
< (error) ? "failed" : "success");
---
> ata_prtdev(atadev, "%s setting UDMA2 on %s chip\n",
> (error) ? "failed" : "success", chip);
622,635c612,623
<
< }
< if (wdmamode >= 2 && apiomode >= 4) {
< error = ata_command(atadev, ATA_C_SETFEATURES, 0,
< ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY);
< if (bootverbose)
< ata_prtdev(atadev, "%s setting WDMA2 on %s chip\n",
< (error) ? "failed" : "success",
< (chiptype == 0x74091022) ? "AMD" : "VIA");
< if (!error) {
< pci_write_config(parent, 0x53 - devno, 0x0b, 1);
< pci_write_config(parent, 0x4b - devno, 0x31, 1);
< ata_dmacreate(atadev, apiomode, ATA_WDMA2);
< return;
---
> if (wdmamode >= 2 && apiomode >= 4) {
> error = ata_command(atadev, ATA_C_SETFEATURES, 0,
> ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY);
> if (bootverbose)
> ata_prtdev(atadev, "%s setting WDMA2 on %s chip\n",
> (error) ? "failed" : "success", chip);
> if (!error) {
> pci_write_config(parent, 0x53 - devno, 0x0b, 1);
> pci_write_config(parent, 0x4b - devno, 0x31, 1);
> ata_dmacreate(atadev, apiomode, ATA_WDMA2);
> return;
> }