Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3]: src/sys/dev/pci Pull up revision 1.23 (requested by tron in t...



details:   https://anonhg.NetBSD.org/src/rev/6e7b7d84a662
branches:  netbsd-3
changeset: 576733:6e7b7d84a662
user:      riz <riz%NetBSD.org@localhost>
date:      Sat Jul 23 14:51:55 2005 +0000

description:
Pull up revision 1.23 (requested by tron in ticket #609):
Add support for PATA and SATA ports in the Intel ICH7 southbridge (82801G).
Patch supplied by Marcello Balduccini in PR port-i386/30795.

diffstat:

 sys/dev/pci/piixide.c |  26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diffs (82 lines):

diff -r 949bbf7c962a -r 6e7b7d84a662 sys/dev/pci/piixide.c
--- a/sys/dev/pci/piixide.c     Thu Jul 21 21:26:03 2005 +0000
+++ b/sys/dev/pci/piixide.c     Sat Jul 23 14:51:55 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: piixide.c,v 1.19.2.2 2005/07/03 21:12:21 tron Exp $    */
+/*     $NetBSD: piixide.c,v 1.19.2.3 2005/07/23 14:51:55 riz Exp $     */
 
 /*
  * Copyright (c) 1999, 2000, 2001 Manuel Bouyer.
@@ -166,6 +166,16 @@
          "Intel 82801FBM Serial ATA Controller (ICH6)",
          piixsata_chip_map,
        },
+       { PCI_PRODUCT_INTEL_82801G_IDE,
+         0,
+         "Intel 82801GB/GR IDE Controller (ICH7)",
+         piix_chip_map,
+       },
+       { PCI_PRODUCT_INTEL_82801G_SATA,
+         0,
+         "Intel 82801GB/GR Serial ATA/Raid Controller (ICH7)",
+         piixsata_chip_map,
+       },
        { 0,
          0,
          NULL,
@@ -259,6 +269,7 @@
                case PCI_PRODUCT_INTEL_82801EB_IDE:
                case PCI_PRODUCT_INTEL_6300ESB_IDE:
                case PCI_PRODUCT_INTEL_82801FB_IDE:
+               case PCI_PRODUCT_INTEL_82801G_IDE:
                        sc->sc_wdcdev.sc_atac.atac_cap |= ATAC_CAP_UDMA;
                }
        }
@@ -277,6 +288,7 @@
        case PCI_PRODUCT_INTEL_82801EB_IDE:
        case PCI_PRODUCT_INTEL_6300ESB_IDE:
        case PCI_PRODUCT_INTEL_82801FB_IDE:
+       case PCI_PRODUCT_INTEL_82801G_IDE:
                sc->sc_wdcdev.sc_atac.atac_udma_cap = 5;
                break;
        default:
@@ -311,7 +323,8 @@
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE ||
-                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE) {
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE ||
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801G_IDE) {
                        ATADEBUG_PRINT((", IDE_CONTROL 0x%x",
                            pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)),
                            DEBUG_PROBE);
@@ -375,7 +388,8 @@
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE ||
-                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE) {
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE ||
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801G_IDE) {
                        ATADEBUG_PRINT((", IDE_CONTROL 0x%x",
                            pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)),
                            DEBUG_PROBE);
@@ -537,7 +551,8 @@
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE ||
-                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE) {
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE ||
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801G_IDE) {
                        ideconf |= PIIX_CONFIG_PINGPONG;
                }
                if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BA_IDE ||
@@ -548,7 +563,8 @@
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801DBM_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE ||
                    sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE ||
-                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE) {
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE ||
+                   sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801G_IDE) {
                        /* setup Ultra/100 */
                        if (drvp->UDMA_mode > 2 &&
                            (ideconf & PIIX_CONFIG_CR(channel, drive)) == 0)



Home | Main Index | Thread Index | Old Index