svn commit: r200611 - in stable/8/sys/dev/ata: . chipsets

Marius Strobl marius at FreeBSD.org
Wed Dec 16 18:39:32 UTC 2009


Author: marius
Date: Wed Dec 16 18:39:32 2009
New Revision: 200611
URL: http://svn.freebsd.org/changeset/base/200611

Log:
  MFC: r200459
  
  Unbreak the ata_atapi() usage. Since r200171 (MFC'ed in r200432) the
  mode setting functions get a ata_device type device passed instead of
  a ata_channel one, thus ata_atapi() has to be adjusted accordingly.
  
  Reviewed by:	mav

Modified:
  stable/8/sys/dev/ata/ata-all.c
  stable/8/sys/dev/ata/ata-all.h
  stable/8/sys/dev/ata/chipsets/ata-ite.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/ata-all.c
==============================================================================
--- stable/8/sys/dev/ata/ata-all.c	Wed Dec 16 18:03:35 2009	(r200610)
+++ stable/8/sys/dev/ata/ata-all.c	Wed Dec 16 18:39:32 2009	(r200611)
@@ -1150,12 +1150,11 @@ ata_satarev2str(int rev)
 }
 
 int
-ata_atapi(device_t dev)
+ata_atapi(device_t dev, int target)
 {
-    struct ata_channel *ch = device_get_softc(device_get_parent(dev));
-    struct ata_device *atadev = device_get_softc(dev);
+    struct ata_channel *ch = device_get_softc(dev);
 
-    return (ch->devices & (ATA_ATAPI_MASTER << atadev->unit));
+    return (ch->devices & (ATA_ATAPI_MASTER << target));
 }
 
 int

Modified: stable/8/sys/dev/ata/ata-all.h
==============================================================================
--- stable/8/sys/dev/ata/ata-all.h	Wed Dec 16 18:03:35 2009	(r200610)
+++ stable/8/sys/dev/ata/ata-all.h	Wed Dec 16 18:39:32 2009	(r200611)
@@ -622,7 +622,7 @@ void ata_udelay(int interval);
 char *ata_unit2str(struct ata_device *atadev);
 const char *ata_mode2str(int mode);
 const char *ata_satarev2str(int rev);
-int ata_atapi(device_t dev);
+int ata_atapi(device_t dev, int target);
 int ata_pmode(struct ata_params *ap);
 int ata_wmode(struct ata_params *ap);
 int ata_umode(struct ata_params *ap);

Modified: stable/8/sys/dev/ata/chipsets/ata-ite.c
==============================================================================
--- stable/8/sys/dev/ata/chipsets/ata-ite.c	Wed Dec 16 18:03:35 2009	(r200610)
+++ stable/8/sys/dev/ata/chipsets/ata-ite.c	Wed Dec 16 18:39:32 2009	(r200611)
@@ -212,12 +212,12 @@ ata_ite_8213_setmode(device_t dev, int t
 	reg40 |= 0x4033;
 	/* Set PIO/WDMA timings. */
 	if (target == 0) {
-	    reg40 |= (ata_atapi(dev) ? 0x04 : 0x00);
+	    reg40 |= (ata_atapi(dev, target) ? 0x04 : 0x00);
 	    mask40 = 0x3300;
 	    new40 = timings[ata_mode2idx(piomode)] << 8;
 	}
 	else {
-	    reg40 |= (ata_atapi(dev) ? 0x40 : 0x00);
+	    reg40 |= (ata_atapi(dev, target) ? 0x40 : 0x00);
 	    mask44 = 0x0f;
 	    new44 = ((timings[ata_mode2idx(piomode)] & 0x30) >> 2) |
 		    (timings[ata_mode2idx(piomode)] & 0x03);


More information about the svn-src-stable mailing list