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.22 (requested by briggs in...
details: https://anonhg.NetBSD.org/src/rev/eb6f04bacd14
branches: netbsd-3
changeset: 576472:eb6f04bacd14
user: tron <tron%NetBSD.org@localhost>
date: Sun Jul 03 21:12:21 2005 +0000
description:
Pull up revision 1.22 (requested by briggs in ticket #522):
Match the 6300ESB on-board SATA/RAID controller.
Set the ATA RAID flag, if appropriate, in the SATA chip map.
Ensure that the interrupts are enabled in the SATA chip map.
diffstat:
sys/dev/pci/piixide.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diffs (45 lines):
diff -r b03e832e96e9 -r eb6f04bacd14 sys/dev/pci/piixide.c
--- a/sys/dev/pci/piixide.c Sun Jul 03 21:11:10 2005 +0000
+++ b/sys/dev/pci/piixide.c Sun Jul 03 21:12:21 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: piixide.c,v 1.19.2.1 2005/06/21 21:23:50 tron Exp $ */
+/* $NetBSD: piixide.c,v 1.19.2.2 2005/07/03 21:12:21 tron Exp $ */
/*
* Copyright (c) 1999, 2000, 2001 Manuel Bouyer.
@@ -141,6 +141,11 @@
"Intel 6300ESB Serial ATA Controller",
piixsata_chip_map,
},
+ { PCI_PRODUCT_INTEL_6300ESB_RAID,
+ 0,
+ "Intel 6300ESB Serial ATA/RAID Controller",
+ piixsata_chip_map,
+ },
{ PCI_PRODUCT_INTEL_82801FB_IDE,
0,
"Intel 82801FB IDE Controller (ICH6)",
@@ -717,7 +722,7 @@
{
struct pciide_channel *cp;
bus_size_t cmdsize, ctlsize;
- pcireg_t interface;
+ pcireg_t interface, cmdsts;
int channel;
if (pciide_chipen(sc, pa) == 0)
@@ -741,6 +746,14 @@
sc->sc_wdcdev.sc_atac.atac_channels = sc->wdc_chanarray;
sc->sc_wdcdev.sc_atac.atac_nchannels = PCIIDE_NUM_CHANNELS;
+ cmdsts = pci_conf_read(sc->sc_pc, sc->sc_tag, PCI_COMMAND_STATUS_REG);
+ cmdsts &= ~0x0400;
+ pci_conf_write(sc->sc_pc, sc->sc_tag, PCI_COMMAND_STATUS_REG, cmdsts);
+
+ if (PCI_CLASS(pa->pa_class) == PCI_CLASS_MASS_STORAGE &&
+ PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_MASS_STORAGE_RAID)
+ sc->sc_wdcdev.sc_atac.atac_cap |= ATAC_CAP_RAID;
+
interface = PCI_INTERFACE(pa->pa_class);
wdc_allocate_regs(&sc->sc_wdcdev);
Home |
Main Index |
Thread Index |
Old Index