Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 2020 01:14:23 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r367506 - in stable/12/sys: cam dev/ahci dev/siis
Message-ID:  <202011090114.0A91ENJL010315@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Mon Nov  9 01:14:22 2020
New Revision: 367506
URL: https://svnweb.freebsd.org/changeset/base/367506

Log:
  MFC r367261: Add icc (Isochronous Command Completion) ccb_ataio field.

Modified:
  stable/12/sys/cam/cam_ccb.h
  stable/12/sys/dev/ahci/ahci.c
  stable/12/sys/dev/siis/siis.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cam/cam_ccb.h
==============================================================================
--- stable/12/sys/cam/cam_ccb.h	Mon Nov  9 01:13:28 2020	(r367505)
+++ stable/12/sys/cam/cam_ccb.h	Mon Nov  9 01:14:22 2020	(r367506)
@@ -785,6 +785,8 @@ struct ccb_ataio {
 	u_int32_t  resid;		/* Transfer residual length: 2's comp */
 	u_int8_t   ata_flags;		/* Flags for the rest of the buffer */
 #define ATA_FLAG_AUX 0x1
+#define ATA_FLAG_ICC 0x2
+	uint8_t    icc;			/* Isochronous Command Completion */
 	uint32_t   aux;
 	uint32_t   unused;
 };

Modified: stable/12/sys/dev/ahci/ahci.c
==============================================================================
--- stable/12/sys/dev/ahci/ahci.c	Mon Nov  9 01:13:28 2020	(r367505)
+++ stable/12/sys/dev/ahci/ahci.c	Mon Nov  9 01:14:22 2020	(r367506)
@@ -2585,15 +2585,17 @@ ahci_setup_fis(struct ahci_channel *ch, struct ahci_cm
 			fis[12] = ccb->ataio.cmd.sector_count;
 		}
 		fis[13] = ccb->ataio.cmd.sector_count_exp;
+		if (ccb->ataio.ata_flags & ATA_FLAG_ICC)
+			fis[14] = ccb->ataio.icc;
 		fis[15] = ATA_A_4BIT;
+		if (ccb->ataio.ata_flags & ATA_FLAG_AUX) {
+			fis[16] =  ccb->ataio.aux        & 0xff;
+			fis[17] = (ccb->ataio.aux >>  8) & 0xff;
+			fis[18] = (ccb->ataio.aux >> 16) & 0xff;
+			fis[19] = (ccb->ataio.aux >> 24) & 0xff;
+		}
 	} else {
 		fis[15] = ccb->ataio.cmd.control;
-	}
-	if (ccb->ataio.ata_flags & ATA_FLAG_AUX) {
-		fis[16] =  ccb->ataio.aux        & 0xff;
-		fis[17] = (ccb->ataio.aux >>  8) & 0xff;
-		fis[18] = (ccb->ataio.aux >> 16) & 0xff;
-		fis[19] = (ccb->ataio.aux >> 24) & 0xff;
 	}
 	return (20);
 }

Modified: stable/12/sys/dev/siis/siis.c
==============================================================================
--- stable/12/sys/dev/siis/siis.c	Mon Nov  9 01:13:28 2020	(r367505)
+++ stable/12/sys/dev/siis/siis.c	Mon Nov  9 01:14:22 2020	(r367506)
@@ -1729,6 +1729,8 @@ siis_setup_fis(device_t dev, struct siis_cmd *ctp, uni
 			fis[12] = ccb->ataio.cmd.sector_count;
 			fis[13] = ccb->ataio.cmd.sector_count_exp;
 		}
+		if (ccb->ataio.ata_flags & ATA_FLAG_ICC)
+			fis[14] = ccb->ataio.icc;
 		fis[15] = ATA_A_4BIT;
 		if (ccb->ataio.ata_flags & ATA_FLAG_AUX) {
 			fis[16] =  ccb->ataio.aux        & 0xff;



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