Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jun 2013 04:57:48 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r251986 - stable/9/sys/cam
Message-ID:  <201306190457.r5J4vm9a064110@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: scottl
Date: Wed Jun 19 04:57:47 2013
New Revision: 251986
URL: http://svnweb.freebsd.org/changeset/base/251986

Log:
  Tweak the CAM_DATA flags that were added with r251874 to allow source
  compatibility and almost 100% binary compatibility.  The old
  CAM_SG_LIST_PHYS flag is essentially lost in binary compatibility for
  legacy SIM drivers.  The use of this flag is excedingly rare.
  
  Obtained from:	Netflix

Modified:
  stable/9/sys/cam/cam_ccb.h

Modified: stable/9/sys/cam/cam_ccb.h
==============================================================================
--- stable/9/sys/cam/cam_ccb.h	Wed Jun 19 04:47:41 2013	(r251985)
+++ stable/9/sys/cam/cam_ccb.h	Wed Jun 19 04:57:47 2013	(r251986)
@@ -63,7 +63,7 @@ typedef enum {
 					      * Perform transport negotiation
 					      * with this command.
 					      */
-	CAM_DATA_ISPHYS		= 0x00000010,/* Data type with physical addrs */
+	CAM_DATA_ISPHYS		= 0x00200000,/* Data type with physical addrs */
 	CAM_DIS_AUTOSENSE	= 0x00000020,/* Disable autosense feature     */
 	CAM_DIR_BOTH		= 0x00000000,/* Data direction (00:IN/OUT)    */
 	CAM_DIR_IN		= 0x00000040,/* Data direction (01:DATA IN)   */
@@ -71,10 +71,10 @@ typedef enum {
 	CAM_DIR_NONE		= 0x000000C0,/* Data direction (11:no data)   */
 	CAM_DIR_MASK		= 0x000000C0,/* Data direction Mask	      */
 	CAM_DATA_VADDR		= 0x00000000,/* Data type (000:Virtual)       */
-	CAM_DATA_PADDR		= 0x00000010,/* Data type (001:Physical)      */
-	CAM_DATA_SG		= 0x00040000,/* Data type (010:sglist)        */
-	CAM_DATA_SG_PADDR	= 0x00040010,/* Data type (011:sglist phys)   */
-	CAM_DATA_BIO		= 0x00200000,/* Data type (100:bio)           */
+	CAM_DATA_PADDR		= 0x00200000,/* Data type (001:Physical)      */
+	CAM_DATA_SG		= 0x00000010,/* Data type (010:sglist)        */
+	CAM_DATA_SG_PADDR	= 0x00200010,/* Data type (011:sglist phys)   */
+	CAM_DATA_BIO		= 0x00040000,/* Data type (100:bio)           */
 	CAM_DATA_MASK		= 0x00240010,/* Data type mask                */
 	CAM_SOFT_RST_OP		= 0x00000100,/* Use Soft reset alternative    */
 	CAM_ENG_SYNC		= 0x00000200,/* Flush resid bytes on complete */
@@ -91,6 +91,11 @@ typedef enum {
 	CAM_CDB_PHYS		= 0x00400000,/* CDB poiner is physical	      */
 	CAM_ENG_SGLIST		= 0x00800000,/* SG list is for the HBA engine */
 
+/* Compatibility for FreeBSD 9.x*/
+	CAM_SCATTER_VALID	= 0x00000010,/* These exist for src compat for*/
+	CAM_SG_LIST_PHYS	= 0x00200010,/* old drivers.  Hardly anything */
+	CAM_DATA_PHYS		= 0x00200000,/* uses them.		      */
+
 /* Phase cognizant mode flags */
 	CAM_DIS_AUTOSRP		= 0x01000000,/* Disable autosave/restore ptrs */
 	CAM_DIS_AUTODISC	= 0x02000000,/* Disable auto disconnect	      */



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