9 #define XFER_BLOCK_SIZE 65024
13 #define READ_TRANSACTION 0
14 #define WRITE_TRANSACTION 1
17 #define CDB_PAGE_SIZE(v) ((v) << 16)
18 #define CDB_PAGE_TABLE_PRESENT(v) ((v) << 19)
19 #define CDB_MAX_PAYLOAD(v) ((v) << 20)
20 #define CDB_SPEED(v) ((v) << 24)
21 #define CDB_DIRECTION(v) ((v) << 27)
22 #define CDB_DATA_SIZE(v) ((v))
25 #define WRITE_REQ_INCOMING 1
26 #define READ_REQ_INCOMING 2
27 #define BUS_RESET_COMPLETE 4
28 #define ERROR_TIME_OUT 8
31 #define SBP2_LOGIN_REQUEST 0x0
32 #define SBP2_QUERY_LOGINS_REQUEST 0x1
33 #define SBP2_RECONNECT_REQUEST 0x3
34 #define SBP2_SET_PASSWORD_REQUEST 0x4
35 #define SBP2_LOGOUT_REQUEST 0x7
36 #define SBP2_ABORT_TASK_REQUEST 0xb
37 #define SBP2_ABORT_TASK_SET 0xc
38 #define SBP2_LOGICAL_UNIT_RESET 0xe
39 #define SBP2_TARGET_RESET_REQUEST 0xf
42 #define IEEE1394_CROM_LOGICAL_UNIT_NUM 0x14
43 #define IEEE1394_CROM_UNIT_CHARA 0x3A
44 #define IEEE1394_CROM_CSR_OFFSET 0x54
45 #define IEEE1394_CROM_UNIT_DIRECTORY 0xD1
48 #define MANAGEMENT_ORB_LOGINID(v) ((v))
49 #define MANAGEMENT_ORB_LUN(v) ((v))
50 #define MANAGEMENT_ORB_FUNCTION(v) ((v) << 16)
51 #define MANAGEMENT_ORB_RECONNECT(v) ((v) << 20)
52 #define MANAGEMENT_ORB_EXCLUSIVE(v) ((v) ? 1 << 28 : 0)
54 #define ORB_REQUEST_FORMAT(v) ((v) << 29)
55 #define ORB_NOTIFY ((1) << 31)
57 #define MANAGEMENT_ORB_RESPONSE_LENGTH(v) ((v)&0x0000FFFF)
58 #define MANAGEMENT_ORB_PASSWORD_LENGTH(v) ((v) << 16)
60 #define NULL_POINTER (1 << 15)
62 #define RESP_SBP_STATUS(v) (((v) >> 16) & 0xFF)
63 #define RESP_LEN(v) (((v) >> 24) & 0x07)
64 #define RESP_DEAD(v) (((v) >> 27) & 0x01)
65 #define RESP_RESP(v) (((v) >> 28) & 0x03)
66 #define RESP_SRC(v) (((v) >> 30) & 0x03)
102 u32 function_data[4];
124 unsigned char CDBs[12];
130 unsigned short int nodeID;
131 unsigned short int InitiatorNodeID;
132 unsigned short int max_payload;
133 unsigned short int LUN;
135 unsigned short int loginID;
137 unsigned char IsConnected;
138 unsigned char mgt_ORB_timeout;
139 unsigned char ORB_size;
142 unsigned long int ManagementAgent_high;
143 unsigned long int ManagementAgent_low;
145 unsigned long int CommandBlockAgent_high;
146 unsigned long int CommandBlockAgent_low;
148 unsigned long int sectorSize;
149 unsigned long int maxLBA;
156 extern void init_ieee1394DiskDriver(
void);
158 extern int ieee1394_Sync(
void);
159 extern void DeinitIEEE1394(
void);