*** ../../man-orig/sata_pkt.txt	Mon Nov  7 18:50:28 2005
--- sata_pkt.man.changed	Mon Nov  7 18:22:00 2005
***************
*** 5,11 ****
      sata_pkt - SATA packet structure
  
  SYNOPSIS
!     #include <sys/sata/impl/sata_hba.h> 
  
  
  INTERFACE LEVEL
--- 5,11 ----
      sata_pkt - SATA packet structure
  
  SYNOPSIS
!     #include <sys/sata/sata_hba.h> 
  
  
  INTERFACE LEVEL
***************
*** 22,75 ****
      specified in the packet is called, with a pointer to the packet as its
      argument. From fields within the sata packet the SATA HBA Framework can
      determine the success  or failure of the command and pass the appropriate
!     status and informantion to the scsi target driver.
  
  
  STRUCTURE MEMBERS
  
!    int			sata_pkt_rev;		/* structure  version */
     
!    sata_device_t 	device;			/* sata port/device address
     						   and state */
     						   
!    void			*hba_driver_private;	/* pointer to SATA HBA driver
!    						   private data */
     						   
!    void 		*sata_framework_private; /* pointer to opaque SATA
!    						   framework private data */
     						   
!    uint32_t		op_mode;		/* mode of operation */
     
!    sata_cmd_t		sata_cmd;		/* composite sata command */
     
!    int			pkt_time;		/* time allotted to command
     						   execution */
     						   
!    void			(*spkt_completion)(struct sata_pkt *); /* packet
     							 completion callback */
     							 
!    int			completion_reason;	/* reason for the packet
     						   completion */
  
  
!    sata_pkt_rev		Version of the sata_pkt structure.
  
!    device		sata_device structure identifying device address and
!    			returning device configuration stata and port status
  
!    hba_driver_private	An opaque pointer that SATA HBA driver uses to address
!    			some private data structures related to the packet
!    			operations.
  
!    sata_framework_private An opaque pointer that SATA HBA Framework uses to
     			  address private data structures.
  
!    op_mode		Field containing flags specifying the mode of 
     			the packet operation:
  
              		SATA_OPMODE_INTERRUPTS	Use interrupts while performing
              					packet operation - it's a hint
!             					rather then the requirement.
  
              		SATA_OPMODE_POLLING	Use polling instead of
              					interrupts performing packet
--- 22,77 ----
      specified in the packet is called, with a pointer to the packet as its
      argument. From fields within the sata packet the SATA HBA Framework can
      determine the success  or failure of the command and pass the appropriate
!     status and information to the scsi target driver.
  
  
  STRUCTURE MEMBERS
  
!    int			satapkt_rev;		/* structure  version */
     
!    sata_device_t 	satapkt_device;		/* sata port/device address
     						   and state */
     						   
!    void			*satapkt_hba_driver_private; /* pointer to SATA HBA
! 							driver private data
! 						      */
     						   
!    void 		*satapkt_framework_private; /* pointer to opaque SATA
!    						       framework private data
! 						     */
     						   
!    uint32_t		satapkt_op_mode;	/* mode of operation */
     
!    sata_cmd_t		satapkt_cmd;		/* composite sata command */
     
!    int			satapkt_time;		/* time allotted to command
     						   execution */
     						   
!    void			(*satapkt_comp)(struct sata_pkt *); /* packet
     							 completion callback */
     							 
!    int			satapkt_reason;		/* reason for the packet
     						   completion */
  
  
!    satapkt_rev		Version of the sata_pkt structure.
  
!    satapkt_device	sata_device structure identifying device address and
!    			returning device configuration sata and port status
  
!    satapkt_hba_driver_private	An opaque pointer meant to be used by
! 			SATA HBA driver to park any of its private data
! 			structures.
  
!    satapkt_framework_private An opaque pointer that SATA HBA Framework uses to
  			address private data structures.
  
!    satapkt_op_mode	Field containing flags specifying the mode of 
     			the packet operation:
  
              		SATA_OPMODE_INTERRUPTS	Use interrupts while performing
              					packet operation - it's a hint
!             					rather than the requirement.
  
              		SATA_OPMODE_POLLING	Use polling instead of
              					interrupts performing packet
***************
*** 100,118 ****
              					sata_pkt has to be updated
              					before the function return.
  
!     sata_cmd		Structure defining specifc SATA command (ATA/ATAPI),
      			data buffer address, and DMA cookies  needed for the
      			command execution.  SATA HBA driver should use values
      			set up in sata_cmd structure to program SATA device
      			registers, in the HBA-specific manner. 
  
!     pkt_time		Time value representing the maximum time in seconds
      			that this command is allowed to take to complete.
      			Timeout starts when the command SATA command is 
      			sent to a SATA device. pkt_time shall be set to 0
      			if no timeout is required.
  
!     spkt_completion	Specifies the packet completion callback routine. It is
      			valid only when sata_pkt op_mode field does not have
      			SATA_OPMODE_SUNCH flag set. When the SATA HBA driver
      			rejected the packet, or it has gone as far as it 
--- 102,120 ----
              					sata_pkt has to be updated
              					before the function return.
  
!     satapkt_cmd		Structure defining specific SATA command (ATA/ATAPI),
      			data buffer address, and DMA cookies  needed for the
      			command execution.  SATA HBA driver should use values
      			set up in sata_cmd structure to program SATA device
      			registers, in the HBA-specific manner. 
  
!     satapkt_time	Time value representing the maximum time in seconds
      			that this command is allowed to take to complete.
      			Timeout starts when the command SATA command is 
      			sent to a SATA device. pkt_time shall be set to 0
      			if no timeout is required.
  
!     satapkt_comp	Specifies the packet completion callback routine. It is
      			valid only when sata_pkt op_mode field does not have
      			SATA_OPMODE_SUNCH flag set. When the SATA HBA driver
      			rejected the packet, or it has gone as far as it 
***************
*** 122,132 ****
      			The completion_reason field and other appropriate info
      			in sata_pkt has to be updated before the callback.
      			The callback function may be called from the interrupt
!     			contex.
         
!     completion_reason	This field specifies the reason for the packet
      			operation completion:
      			
              		SATA_PKT_BUSY		Packet operation was not
                                                  completed - the packet
              					was rejected by SATA HBA
--- 124,137 ----
      			The completion_reason field and other appropriate info
      			in sata_pkt has to be updated before the callback.
      			The callback function may be called from the interrupt
!     			context.
         
!     satapkt_reason	This field specifies the reason for the packet
      			operation completion:
      			
+             		SATA_PKT_COMPLETED	Packet operation was completed
+             					without an error.
+ 
              		SATA_PKT_BUSY		Packet operation was not
                                                  completed - the packet
              					was rejected by SATA HBA
***************
*** 134,142 ****
              					was busy performing some other
              					operation(s).
              					
-             		SATA_PKT_COMPLETED	Packet operation was completed
-             					without an error.
-             					
              		SATA_PKT_DEV_ERROR	Packet operation was not
              					completed because of a SATA
              					device error. Other information
--- 139,144 ----
***************
*** 178,183 ****
--- 180,189 ----
              					terminated by the SATA HBA
              					driver.
  
+ 			SATA_PKT_RESET 		Packet execution was aborted 
+ 						because device reset.
+ 
+ 
  SEE ALSO
      sata_hba_tran(9S), sata_address(9S), sata_device(9S), sata_cmd(9S)
      
