#define _LSI_SCSI_DXE_H_\r
\r
typedef struct {\r
+ //\r
+ // Allocate 32 UINT32 entries for the script and it's sufficient for\r
+ // 16 instructions.\r
+ //\r
+ UINT32 Script[32];\r
//\r
// The max size of CDB is 32.\r
//\r
// Count (DBC), a 24-bit register, so the maximum is 0xFFFFFF (16MB-1).\r
//\r
UINT8 Data[SIZE_64KB];\r
+ //\r
+ // For SCSI Message In phase\r
+ //\r
+ UINT8 MsgIn[2];\r
+ //\r
+ // For SCSI Message Out phase\r
+ //\r
+ UINT8 MsgOut;\r
+ //\r
+ // For SCSI Status phase\r
+ //\r
+ UINT8 Status;\r
} LSI_SCSI_DMA_BUFFER;\r
\r
typedef struct {\r
EFI_PCI_IO_PROTOCOL *PciIo;\r
UINT8 MaxTarget;\r
UINT8 MaxLun;\r
+ UINT32 StallPerPollUsec;\r
LSI_SCSI_DMA_BUFFER *Dma;\r
EFI_PHYSICAL_ADDRESS DmaPhysical;\r
VOID *DmaMapping;\r
#define LSI_SCSI_FROM_PASS_THRU(PassThruPtr) \\r
CR (PassThruPtr, LSI_SCSI_DEV, PassThru, LSI_SCSI_DEV_SIGNATURE)\r
\r
+#define LSI_SCSI_DMA_ADDR(Dev, MemberName) \\r
+ ((UINT32)(Dev->DmaPhysical + OFFSET_OF (LSI_SCSI_DMA_BUFFER, MemberName)))\r
+\r
\r
//\r
// Probe, start and stop functions of this driver, called by the DXE core for\r