From 372863638f6eb692e597c69b6677e2312a7ee600 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Fri, 8 Jun 2012 08:48:21 -0700 Subject: [PATCH] scsi: Add write same SCSI operation * Will be used for TRIM --- headers/private/drivers/scsi_cmds.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/headers/private/drivers/scsi_cmds.h b/headers/private/drivers/scsi_cmds.h index 2baabdd2eb..1e1a47ccbd 100644 --- a/headers/private/drivers/scsi_cmds.h +++ b/headers/private/drivers/scsi_cmds.h @@ -196,6 +196,7 @@ #define SCSI_OP_READ_16 0x88 #define SCSI_OP_WRITE_16 0x8a #define SCSI_OP_VERIFY_16 0x8f +#define SCSI_OP_WRITE_SAME_16 0x93 #define SCSI_OP_SERVICE_ACTION_IN 0x9e #define SCSI_OP_SERVICE_ACTION_OUT 0x9f #define SCSI_OP_MOVE_MEDIUM 0xa5 @@ -435,6 +436,28 @@ typedef struct scsi_cmd_rw_16 { } _PACKED scsi_cmd_rw_16; +// WRITE SAME (16) + +typedef struct scsi_cmd_wsame_16 { + uint8 opcode; + LBITFIELD8_6( + _res1_0 : 1, + lb_data : 1, + pb_data : 1, + unmap : 1, + _res1_4 : 1, + write_protect : 3 + ); + uint64 lba; + uint32 length; + LBITFIELD8_2( + group_number : 5, + _res14_5 : 3 + ); + uint8 control; +} _PACKED scsi_cmd_wsame_16; + + // REQUEST SENSE typedef struct scsi_cmd_request_sense {