You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[SCSI] dpt_i2o: 64 bit support
This is the code to actually support 64 bit platforms. 64 bit DMA is enabled on both x86_32 PAE and 64 bit platforms. This code is based in part on the unofficial adaptec 64-bit dpt_i2o driver update that I got from Mark Salyzyn at Adaptec. Signed-off-by: Miquel van Smoorenburg <miquels@cistron.nl> Acked-by: Mark Salyzyn <Mark_Salyzyn@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
committed by
James Bottomley
parent
67af2b060e
commit
62ac5aedc5
@@ -89,7 +89,7 @@ typedef struct {
|
||||
int njobs; /* # of jobs sent to HA */
|
||||
int qdepth; /* Controller queue depth. */
|
||||
int wakebase; /* mpx wakeup base index. */
|
||||
uLONG SGsize; /* Scatter/Gather list size. */
|
||||
uINT SGsize; /* Scatter/Gather list size. */
|
||||
unsigned heads; /* heads for drives on cntlr. */
|
||||
unsigned sectors; /* sectors for drives on cntlr. */
|
||||
uCHAR do_drive32; /* Flag for Above 16 MB Ability */
|
||||
@@ -97,8 +97,8 @@ typedef struct {
|
||||
char idPAL[4]; /* 4 Bytes Of The ID Pal */
|
||||
uCHAR primary; /* 1 For Primary, 0 For Secondary */
|
||||
uCHAR eataVersion; /* EATA Version */
|
||||
uLONG cpLength; /* EATA Command Packet Length */
|
||||
uLONG spLength; /* EATA Status Packet Length */
|
||||
uINT cpLength; /* EATA Command Packet Length */
|
||||
uINT spLength; /* EATA Status Packet Length */
|
||||
uCHAR drqNum; /* DRQ Index (0,5,6,7) */
|
||||
uCHAR flag1; /* EATA Flags 1 (Byte 9) */
|
||||
uCHAR flag2; /* EATA Flags 2 (Byte 30) */
|
||||
@@ -107,23 +107,23 @@ typedef struct {
|
||||
typedef struct {
|
||||
uSHORT length; // Remaining length of this
|
||||
uSHORT drvrHBAnum; // Relative HBA # used by the driver
|
||||
uLONG baseAddr; // Base I/O address
|
||||
uINT baseAddr; // Base I/O address
|
||||
uSHORT blinkState; // Blink LED state (0=Not in blink LED)
|
||||
uCHAR pciBusNum; // PCI Bus # (Optional)
|
||||
uCHAR pciDeviceNum; // PCI Device # (Optional)
|
||||
uSHORT hbaFlags; // Miscellaneous HBA flags
|
||||
uSHORT Interrupt; // Interrupt set for this device.
|
||||
# if (defined(_DPT_ARC))
|
||||
uLONG baseLength;
|
||||
uINT baseLength;
|
||||
ADAPTER_OBJECT *AdapterObject;
|
||||
LARGE_INTEGER DmaLogicalAddress;
|
||||
PVOID DmaVirtualAddress;
|
||||
LARGE_INTEGER ReplyLogicalAddress;
|
||||
PVOID ReplyVirtualAddress;
|
||||
# else
|
||||
uLONG reserved1; // Reserved for future expansion
|
||||
uLONG reserved2; // Reserved for future expansion
|
||||
uLONG reserved3; // Reserved for future expansion
|
||||
uINT reserved1; // Reserved for future expansion
|
||||
uINT reserved2; // Reserved for future expansion
|
||||
uINT reserved3; // Reserved for future expansion
|
||||
# endif
|
||||
} drvrHBAinfo_S;
|
||||
|
||||
|
||||
@@ -33,11 +33,7 @@
|
||||
/* to make sure we are talking the same size under all OS's */
|
||||
typedef unsigned char sigBYTE;
|
||||
typedef unsigned short sigWORD;
|
||||
#if (defined(_MULTI_DATAMODEL) && defined(sun) && !defined(_ILP32))
|
||||
typedef uint32_t sigLONG;
|
||||
#else
|
||||
typedef unsigned long sigLONG;
|
||||
#endif
|
||||
typedef unsigned int sigINT;
|
||||
|
||||
/*
|
||||
* use sigWORDLittleEndian for:
|
||||
@@ -300,7 +296,7 @@ typedef struct dpt_sig {
|
||||
sigBYTE dsFiletype; /* type of file */
|
||||
sigBYTE dsFiletypeFlags; /* flags to specify load type, etc. */
|
||||
sigBYTE dsOEM; /* OEM file was created for */
|
||||
sigLONG dsOS; /* which Operating systems */
|
||||
sigINT dsOS; /* which Operating systems */
|
||||
sigWORD dsCapabilities; /* RAID levels, etc. */
|
||||
sigWORD dsDeviceSupp; /* Types of SCSI devices supported */
|
||||
sigWORD dsAdapterSupp; /* DPT adapter families supported */
|
||||
|
||||
@@ -145,8 +145,8 @@
|
||||
uCHAR smartROMRevision;
|
||||
uSHORT flags; /* See bit definitions above */
|
||||
uSHORT conventionalMemSize; /* in KB */
|
||||
uLONG extendedMemSize; /* in KB */
|
||||
uLONG osType; /* Same as DPTSIG's definition */
|
||||
uINT extendedMemSize; /* in KB */
|
||||
uINT osType; /* Same as DPTSIG's definition */
|
||||
uCHAR osMajorVersion;
|
||||
uCHAR osMinorVersion; /* The OS version */
|
||||
uCHAR osRevision;
|
||||
|
||||
Reference in New Issue
Block a user