svn commit: r200807 - stable/8/sys/dev/ata/chipsets
Marius Strobl
marius at FreeBSD.org
Mon Dec 21 20:17:35 UTC 2009
Author: marius
Date: Mon Dec 21 20:17:34 2009
New Revision: 200807
URL: http://svn.freebsd.org/changeset/base/200807
Log:
MFC: r200544
Set ATA_CHECKS_CABLE when appropriate.
Reviewed by: mav
Modified:
stable/8/sys/dev/ata/chipsets/ata-amd.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
Modified: stable/8/sys/dev/ata/chipsets/ata-amd.c
==============================================================================
--- stable/8/sys/dev/ata/chipsets/ata-amd.c Mon Dec 21 20:12:01 2009 (r200806)
+++ stable/8/sys/dev/ata/chipsets/ata-amd.c Mon Dec 21 20:17:34 2009 (r200807)
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
#include <ata_if.h>
/* local prototypes */
+static int ata_amd_ch_attach(device_t dev);
static int ata_amd_chipinit(device_t dev);
static int ata_amd_setmode(device_t dev, int target, int mode);
@@ -59,7 +60,6 @@ static int ata_amd_setmode(device_t dev,
#define AMD_BUG 0x01
#define AMD_CABLE 0x02
-
/*
* American Micro Devices (AMD) chipset support functions
*/
@@ -100,6 +100,7 @@ ata_amd_chipinit(device_t dev)
else
pci_write_config(dev, 0x41, pci_read_config(dev, 0x41, 1) | 0xf0, 1);
+ ctlr->ch_attach = ata_amd_ch_attach;
ctlr->setmode = ata_amd_setmode;
return 0;
}
@@ -137,4 +138,19 @@ ata_amd_setmode(device_t dev, int target
return (mode);
}
+static int
+ata_amd_ch_attach(device_t dev)
+{
+ struct ata_pci_controller *ctlr;
+ struct ata_channel *ch;
+ int error;
+
+ ctlr = device_get_softc(device_get_parent(dev));
+ ch = device_get_softc(dev);
+ error = ata_pci_ch_attach(dev);
+ if (ctlr->chip->cfg1 & AMD_CABLE)
+ ch->flags |= ATA_CHECKS_CABLE;
+ return (error);
+}
+
ATA_DECLARE_DRIVER(ata_amd);
More information about the svn-src-stable-8
mailing list