Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: aha1542: Clarify 'struct ccb' comments

This driver's original authors did pretty bad job of documenting the
Command Control Block (CCB) structure -- especially its 2nd byte, where the
bit numbers were completely left out. Sync up the 'struct ccb' comments to
the Adaptec AHA-154xA manual.

Link: https://lore.kernel.org/r/17a7be14-a9d2-9822-bb3e-1d7385f486b0@omprussia.ru
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Sergey Shtylyov and committed by
Martin K. Petersen
5637d5b7 fb475b74

+19 -14
+19 -14
drivers/scsi/aha1542.h
··· 78 78 #define MAX_CDB 12 79 79 #define MAX_SENSE 14 80 80 81 - struct ccb { /* Command Control Block 5.3 */ 82 - u8 op; /* Command Control Block Operation Code */ 83 - u8 idlun; /* op=0,2:Target Id, op=1:Initiator Id */ 84 - /* Outbound data transfer, length is checked*/ 85 - /* Inbound data transfer, length is checked */ 86 - /* Logical Unit Number */ 81 + /* Command Control Block (CCB), 5.3 */ 82 + struct ccb { 83 + u8 op; /* Command Control Block Operation Code: */ 84 + /* 0x00: SCSI Initiator CCB, 0x01: SCSI Target CCB, */ 85 + /* 0x02: SCSI Initiator CCB with Scatter/Gather, */ 86 + /* 0x81: SCSI Bus Device Reset CCB */ 87 + u8 idlun; /* Address and Direction Control: */ 88 + /* Bits 7-5: op=0, 2: Target ID, op=1: Initiator ID */ 89 + /* Bit 4: Outbound data transfer, length is checked */ 90 + /* Bit 3: Inbound data transfer, length is checked */ 91 + /* Bits 2-0: Logical Unit Number */ 87 92 u8 cdblen; /* SCSI Command Length */ 88 - u8 rsalen; /* Request Sense Allocation Length/Disable */ 89 - u8 datalen[3]; /* Data Length (msb, .., lsb) */ 90 - u8 dataptr[3]; /* Data Pointer */ 91 - u8 linkptr[3]; /* Link Pointer */ 93 + u8 rsalen; /* Request Sense Allocation Length/Disable Auto Sense */ 94 + u8 datalen[3]; /* Data Length (MSB, ..., LSB) */ 95 + u8 dataptr[3]; /* Data Pointer (MSB, ..., LSB) */ 96 + u8 linkptr[3]; /* Link Pointer (MSB, ..., LSB) */ 92 97 u8 commlinkid; /* Command Linking Identifier */ 93 - u8 hastat; /* Host Adapter Status (HASTAT) */ 94 - u8 tarstat; /* Target Device Status */ 98 + u8 hastat; /* Host Adapter Status (HASTAT) */ 99 + u8 tarstat; /* Target Device Status (TARSTAT) */ 95 100 u8 reserved[2]; 96 - u8 cdb[MAX_CDB+MAX_SENSE]; /* SCSI Command Descriptor Block */ 97 - /* REQUEST SENSE */ 101 + u8 cdb[MAX_CDB + MAX_SENSE]; /* SCSI Command Descriptor Block */ 102 + /* followed by the Auto Sense data */ 98 103 }; 99 104 100 105 #define AHA1542_REGION_SIZE 4