diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 13:47:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 13:47:24 -0500 |
commit | 2152f8536668a957ea3214735b4761e7b22ef7d8 (patch) | |
tree | 56723fc51445b1bc930c6400d4c00fd6fc831f88 /drivers/message/fusion/mptbase.h | |
parent | 7cae7e26f245151b9ccad868bf2edf8c8048d307 (diff) | |
parent | 30afc84cf7325e88fb9746340eba3c161080ff49 (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.h | 36 |
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 | */ |
333 | typedef struct _VirtTarget { | 333 | typedef 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 | ||
349 | typedef struct _VirtDevice { | 349 | typedef 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); | |||
1030 | extern void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size); | 1028 | extern void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size); |
1031 | extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); | 1029 | extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); |
1032 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); | 1030 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); |
1033 | extern int mpt_read_ioc_pg_3(MPT_ADAPTER *ioc); | ||
1034 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); | 1031 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); |
1035 | extern int mptbase_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum); | 1032 | extern int mptbase_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum); |
1036 | extern int mpt_alt_ioc_wait(MPT_ADAPTER *ioc); | ||
1037 | 1033 | ||
1038 | /* | 1034 | /* |
1039 | * Public data decl's... | 1035 | * Public data decl's... |