aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptbase.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:47:24 -0500
commit2152f8536668a957ea3214735b4761e7b22ef7d8 (patch)
tree56723fc51445b1bc930c6400d4c00fd6fc831f88 /drivers/message/fusion/mptbase.h
parent7cae7e26f245151b9ccad868bf2edf8c8048d307 (diff)
parent30afc84cf7325e88fb9746340eba3c161080ff49 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (138 commits) [SCSI] libata: implement minimal transport template for ->eh_timed_out [SCSI] eliminate rphy allocation in favour of expander/end device allocation [SCSI] convert mptsas over to end_device/expander allocations [SCSI] allow displaying and setting of cache type via sysfs [SCSI] add scsi_mode_select to scsi_lib.c [SCSI] 3ware 9000 add big endian support [SCSI] qla2xxx: update MAINTAINERS [SCSI] scsi: move target_destroy call [SCSI] fusion - bump version [SCSI] fusion - expander hotplug suport in mptsas module [SCSI] fusion - exposing raid components in mptsas [SCSI] fusion - memory leak, and initializing fields [SCSI] fusion - exclosure misspelled [SCSI] fusion - cleanup mptsas event handling functions [SCSI] fusion - removing target_id/bus_id from the VirtDevice structure [SCSI] fusion - static fix's [SCSI] fusion - move some debug firmware event debug msgs to verbose level [SCSI] fusion - loginfo header update [SCSI] add scsi_reprobe_device [SCSI] megaraid_sas: fix extended timeout handling ...
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r--drivers/message/fusion/mptbase.h36
1 files changed, 16 insertions, 20 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index 723d5430095..be7e8501b53 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -76,8 +76,8 @@
76#define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR 76#define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR
77#endif 77#endif
78 78
79#define MPT_LINUX_VERSION_COMMON "3.03.07" 79#define MPT_LINUX_VERSION_COMMON "3.03.08"
80#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.07" 80#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.08"
81#define WHAT_MAGIC_STRING "@" "(" "#" ")" 81#define WHAT_MAGIC_STRING "@" "(" "#" ")"
82 82
83#define show_mptmod_ver(s,ver) \ 83#define show_mptmod_ver(s,ver) \
@@ -331,6 +331,7 @@ typedef struct _SYSIF_REGS
331 * VirtDevice - FC LUN device or SCSI target device 331 * VirtDevice - FC LUN device or SCSI target device
332 */ 332 */
333typedef struct _VirtTarget { 333typedef struct _VirtTarget {
334 struct scsi_target *starget;
334 u8 tflags; 335 u8 tflags;
335 u8 ioc_id; 336 u8 ioc_id;
336 u8 target_id; 337 u8 target_id;
@@ -343,14 +344,10 @@ typedef struct _VirtTarget {
343 u8 type; /* byte 0 of Inquiry data */ 344 u8 type; /* byte 0 of Inquiry data */
344 u32 num_luns; 345 u32 num_luns;
345 u32 luns[8]; /* Max LUNs is 256 */ 346 u32 luns[8]; /* Max LUNs is 256 */
346 u8 inq_data[8];
347} VirtTarget; 347} VirtTarget;
348 348
349typedef struct _VirtDevice { 349typedef struct _VirtDevice {
350 VirtTarget *vtarget; 350 VirtTarget *vtarget;
351 u8 ioc_id;
352 u8 bus_id;
353 u8 target_id;
354 u8 configured_lun; 351 u8 configured_lun;
355 u32 lun; 352 u32 lun;
356} VirtDevice; 353} VirtDevice;
@@ -364,6 +361,7 @@ typedef struct _VirtDevice {
364#define MPT_TARGET_FLAGS_Q_YES 0x08 361#define MPT_TARGET_FLAGS_Q_YES 0x08
365#define MPT_TARGET_FLAGS_VALID_56 0x10 362#define MPT_TARGET_FLAGS_VALID_56 0x10
366#define MPT_TARGET_FLAGS_SAF_TE_ISSUED 0x20 363#define MPT_TARGET_FLAGS_SAF_TE_ISSUED 0x20
364#define MPT_TARGET_FLAGS_RAID_COMPONENT 0x40
367 365
368/* 366/*
369 * /proc/mpt interface 367 * /proc/mpt interface
@@ -447,13 +445,6 @@ typedef struct _mpt_ioctl_events {
447 * Substructure to store SCSI specific configuration page data 445 * Substructure to store SCSI specific configuration page data
448 */ 446 */
449 /* dvStatus defines: */ 447 /* dvStatus defines: */
450#define MPT_SCSICFG_NEGOTIATE 0x01 /* Negotiate on next IO */
451#define MPT_SCSICFG_NEED_DV 0x02 /* Schedule DV */
452#define MPT_SCSICFG_DV_PENDING 0x04 /* DV on this physical id pending */
453#define MPT_SCSICFG_DV_NOT_DONE 0x08 /* DV has not been performed */
454#define MPT_SCSICFG_BLK_NEGO 0x10 /* WriteSDP1 with WDTR and SDTR disabled */
455#define MPT_SCSICFG_RELOAD_IOC_PG3 0x20 /* IOC Pg 3 data is obsolete */
456 /* Args passed to writeSDP1: */
457#define MPT_SCSICFG_USE_NVRAM 0x01 /* WriteSDP1 using NVRAM */ 448#define MPT_SCSICFG_USE_NVRAM 0x01 /* WriteSDP1 using NVRAM */
458#define MPT_SCSICFG_ALL_IDS 0x02 /* WriteSDP1 to all IDS */ 449#define MPT_SCSICFG_ALL_IDS 0x02 /* WriteSDP1 to all IDS */
459/* #define MPT_SCSICFG_BLK_NEGO 0x10 WriteSDP1 with WDTR and SDTR disabled */ 450/* #define MPT_SCSICFG_BLK_NEGO 0x10 WriteSDP1 with WDTR and SDTR disabled */
@@ -464,7 +455,6 @@ typedef struct _SpiCfgData {
464 IOCPage4_t *pIocPg4; /* SEP devices addressing */ 455 IOCPage4_t *pIocPg4; /* SEP devices addressing */
465 dma_addr_t IocPg4_dma; /* Phys Addr of IOCPage4 data */ 456 dma_addr_t IocPg4_dma; /* Phys Addr of IOCPage4 data */
466 int IocPg4Sz; /* IOCPage4 size */ 457 int IocPg4Sz; /* IOCPage4 size */
467 u8 dvStatus[MPT_MAX_SCSI_DEVICES];
468 u8 minSyncFactor; /* 0xFF if async */ 458 u8 minSyncFactor; /* 0xFF if async */
469 u8 maxSyncOffset; /* 0 if async */ 459 u8 maxSyncOffset; /* 0 if async */
470 u8 maxBusWidth; /* 0 if narrow, 1 if wide */ 460 u8 maxBusWidth; /* 0 if narrow, 1 if wide */
@@ -474,13 +464,11 @@ typedef struct _SpiCfgData {
474 u8 sdp0version; /* SDP0 version */ 464 u8 sdp0version; /* SDP0 version */
475 u8 sdp0length; /* SDP0 length */ 465 u8 sdp0length; /* SDP0 length */
476 u8 dvScheduled; /* 1 if scheduled */ 466 u8 dvScheduled; /* 1 if scheduled */
477 u8 forceDv; /* 1 to force DV scheduling */
478 u8 noQas; /* Disable QAS for this adapter */ 467 u8 noQas; /* Disable QAS for this adapter */
479 u8 Saf_Te; /* 1 to force all Processors as 468 u8 Saf_Te; /* 1 to force all Processors as
480 * SAF-TE if Inquiry data length 469 * SAF-TE if Inquiry data length
481 * is too short to check for SAF-TE 470 * is too short to check for SAF-TE
482 */ 471 */
483 u8 mpt_dv; /* command line option: enhanced=1, basic=0 */
484 u8 bus_reset; /* 1 to allow bus reset */ 472 u8 bus_reset; /* 1 to allow bus reset */
485 u8 rsvd[1]; 473 u8 rsvd[1];
486}SpiCfgData; 474}SpiCfgData;
@@ -631,6 +619,10 @@ typedef struct _MPT_ADAPTER
631 struct net_device *netdev; 619 struct net_device *netdev;
632 struct list_head sas_topology; 620 struct list_head sas_topology;
633 struct mutex sas_topology_mutex; 621 struct mutex sas_topology_mutex;
622 struct mutex sas_discovery_mutex;
623 u8 sas_discovery_runtime;
624 u8 sas_discovery_ignore_events;
625 int sas_index; /* index refrencing */
634 MPT_SAS_MGMT sas_mgmt; 626 MPT_SAS_MGMT sas_mgmt;
635 int num_ports; 627 int num_ports;
636 struct work_struct mptscsih_persistTask; 628 struct work_struct mptscsih_persistTask;
@@ -728,12 +720,18 @@ typedef struct _mpt_sge {
728#define dhsprintk(x) 720#define dhsprintk(x)
729#endif 721#endif
730 722
731#ifdef MPT_DEBUG_EVENTS 723#if defined(MPT_DEBUG_EVENTS) || defined(MPT_DEBUG_VERBOSE_EVENTS)
732#define devtprintk(x) printk x 724#define devtprintk(x) printk x
733#else 725#else
734#define devtprintk(x) 726#define devtprintk(x)
735#endif 727#endif
736 728
729#ifdef MPT_DEBUG_VERBOSE_EVENTS
730#define devtverboseprintk(x) printk x
731#else
732#define devtverboseprintk(x)
733#endif
734
737#ifdef MPT_DEBUG_RESET 735#ifdef MPT_DEBUG_RESET
738#define drsprintk(x) printk x 736#define drsprintk(x) printk x
739#else 737#else
@@ -1030,10 +1028,8 @@ extern int mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *cfg);
1030extern void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size); 1028extern void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size);
1031extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); 1029extern void mpt_free_fw_memory(MPT_ADAPTER *ioc);
1032extern int mpt_findImVolumes(MPT_ADAPTER *ioc); 1030extern int mpt_findImVolumes(MPT_ADAPTER *ioc);
1033extern int mpt_read_ioc_pg_3(MPT_ADAPTER *ioc);
1034extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); 1031extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode);
1035extern int mptbase_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum); 1032extern int mptbase_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum);
1036extern int mpt_alt_ioc_wait(MPT_ADAPTER *ioc);
1037 1033
1038/* 1034/*
1039 * Public data decl's... 1035 * Public data decl's...