diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 15:16:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 15:16:07 -0500 |
commit | 12dbf3fc4d06d2c0c4c44dc0612df04248b3cfd3 (patch) | |
tree | 158610ef6c7711afb60d78956ab4b131bf6a08ef /drivers/message/fusion/mptbase.h | |
parent | 61b7efddc5256225099d13185659e9ad9d8abc8a (diff) | |
parent | fc091e03820bf67e543362bd40959701a71d0c27 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 6c48d1f54ac9..47053ac65068 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.05" | 79 | #define MPT_LINUX_VERSION_COMMON "3.03.06" |
80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.05" | 80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.06" |
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) \ |
@@ -413,7 +413,7 @@ typedef struct _MPT_IOCTL { | |||
413 | u8 status; /* current command status */ | 413 | u8 status; /* current command status */ |
414 | u8 reset; /* 1 if bus reset allowed */ | 414 | u8 reset; /* 1 if bus reset allowed */ |
415 | u8 target; /* target for reset */ | 415 | u8 target; /* target for reset */ |
416 | struct semaphore sem_ioc; | 416 | struct mutex ioctl_mutex; |
417 | } MPT_IOCTL; | 417 | } MPT_IOCTL; |
418 | 418 | ||
419 | #define MPT_SAS_MGMT_STATUS_RF_VALID 0x02 /* The Reply Frame is VALID */ | 419 | #define MPT_SAS_MGMT_STATUS_RF_VALID 0x02 /* The Reply Frame is VALID */ |
@@ -421,7 +421,7 @@ typedef struct _MPT_IOCTL { | |||
421 | #define MPT_SAS_MGMT_STATUS_TM_FAILED 0x40 /* User TM request failed */ | 421 | #define MPT_SAS_MGMT_STATUS_TM_FAILED 0x40 /* User TM request failed */ |
422 | 422 | ||
423 | typedef struct _MPT_SAS_MGMT { | 423 | typedef struct _MPT_SAS_MGMT { |
424 | struct semaphore mutex; | 424 | struct mutex mutex; |
425 | struct completion done; | 425 | struct completion done; |
426 | u8 reply[MPT_DEFAULT_FRAME_SIZE]; /* reply frame data */ | 426 | u8 reply[MPT_DEFAULT_FRAME_SIZE]; /* reply frame data */ |
427 | u8 status; /* current command status */ | 427 | u8 status; /* current command status */ |
@@ -499,6 +499,22 @@ typedef struct _RaidCfgData { | |||
499 | int isRaid; /* bit field, 1 if RAID */ | 499 | int isRaid; /* bit field, 1 if RAID */ |
500 | }RaidCfgData; | 500 | }RaidCfgData; |
501 | 501 | ||
502 | #define MPT_RPORT_INFO_FLAGS_REGISTERED 0x01 /* rport registered */ | ||
503 | #define MPT_RPORT_INFO_FLAGS_MISSING 0x02 /* missing from DevPage0 scan */ | ||
504 | #define MPT_RPORT_INFO_FLAGS_MAPPED_VDEV 0x04 /* target mapped in vdev */ | ||
505 | |||
506 | /* | ||
507 | * data allocated for each fc rport device | ||
508 | */ | ||
509 | struct mptfc_rport_info | ||
510 | { | ||
511 | struct list_head list; | ||
512 | struct fc_rport *rport; | ||
513 | VirtDevice *vdev; | ||
514 | FCDevicePage0_t pg0; | ||
515 | u8 flags; | ||
516 | }; | ||
517 | |||
502 | /* | 518 | /* |
503 | * Adapter Structure - pci_dev specific. Maximum: MPT_MAX_ADAPTERS | 519 | * Adapter Structure - pci_dev specific. Maximum: MPT_MAX_ADAPTERS |
504 | */ | 520 | */ |
@@ -612,7 +628,16 @@ typedef struct _MPT_ADAPTER | |||
612 | struct list_head list; | 628 | struct list_head list; |
613 | struct net_device *netdev; | 629 | struct net_device *netdev; |
614 | struct list_head sas_topology; | 630 | struct list_head sas_topology; |
631 | struct mutex sas_topology_mutex; | ||
615 | MPT_SAS_MGMT sas_mgmt; | 632 | MPT_SAS_MGMT sas_mgmt; |
633 | int num_ports; | ||
634 | |||
635 | struct list_head fc_rports; | ||
636 | spinlock_t fc_rport_lock; /* list and ri flags */ | ||
637 | spinlock_t fc_rescan_work_lock; | ||
638 | int fc_rescan_work_count; | ||
639 | struct work_struct fc_rescan_work; | ||
640 | |||
616 | } MPT_ADAPTER; | 641 | } MPT_ADAPTER; |
617 | 642 | ||
618 | /* | 643 | /* |
@@ -999,6 +1024,7 @@ extern void mpt_free_fw_memory(MPT_ADAPTER *ioc); | |||
999 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); | 1024 | extern int mpt_findImVolumes(MPT_ADAPTER *ioc); |
1000 | extern int mpt_read_ioc_pg_3(MPT_ADAPTER *ioc); | 1025 | extern int mpt_read_ioc_pg_3(MPT_ADAPTER *ioc); |
1001 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); | 1026 | extern int mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 persist_opcode); |
1027 | extern int mptbase_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum); | ||
1002 | extern int mpt_alt_ioc_wait(MPT_ADAPTER *ioc); | 1028 | extern int mpt_alt_ioc_wait(MPT_ADAPTER *ioc); |
1003 | 1029 | ||
1004 | /* | 1030 | /* |