Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Dec 2009 20:17:35 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r200807 - stable/8/sys/dev/ata/chipsets
Message-ID:  <200912212017.nBLKHZQo039636@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912212017.nBLKHZQo039636>