diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_base.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_base.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h index e18b0544c38f..b4afe431ac1e 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.h +++ b/drivers/scsi/mpt2sas/mpt2sas_base.h | |||
@@ -3,7 +3,7 @@ | |||
3 | * for access to MPT (Message Passing Technology) firmware. | 3 | * for access to MPT (Message Passing Technology) firmware. |
4 | * | 4 | * |
5 | * This code is based on drivers/scsi/mpt2sas/mpt2_base.h | 5 | * This code is based on drivers/scsi/mpt2sas/mpt2_base.h |
6 | * Copyright (C) 2007-2009 LSI Corporation | 6 | * Copyright (C) 2007-2010 LSI Corporation |
7 | * (mailto:DL-MPTFusionLinux@lsi.com) | 7 | * (mailto:DL-MPTFusionLinux@lsi.com) |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or | 9 | * This program is free software; you can redistribute it and/or |
@@ -69,11 +69,11 @@ | |||
69 | #define MPT2SAS_DRIVER_NAME "mpt2sas" | 69 | #define MPT2SAS_DRIVER_NAME "mpt2sas" |
70 | #define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>" | 70 | #define MPT2SAS_AUTHOR "LSI Corporation <DL-MPTFusionLinux@lsi.com>" |
71 | #define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver" | 71 | #define MPT2SAS_DESCRIPTION "LSI MPT Fusion SAS 2.0 Device Driver" |
72 | #define MPT2SAS_DRIVER_VERSION "04.100.01.00" | 72 | #define MPT2SAS_DRIVER_VERSION "05.100.00.02" |
73 | #define MPT2SAS_MAJOR_VERSION 04 | 73 | #define MPT2SAS_MAJOR_VERSION 05 |
74 | #define MPT2SAS_MINOR_VERSION 100 | 74 | #define MPT2SAS_MINOR_VERSION 100 |
75 | #define MPT2SAS_BUILD_VERSION 01 | 75 | #define MPT2SAS_BUILD_VERSION 00 |
76 | #define MPT2SAS_RELEASE_VERSION 00 | 76 | #define MPT2SAS_RELEASE_VERSION 02 |
77 | 77 | ||
78 | /* | 78 | /* |
79 | * Set MPT2SAS_SG_DEPTH value based on user input. | 79 | * Set MPT2SAS_SG_DEPTH value based on user input. |
@@ -119,7 +119,6 @@ | |||
119 | #define MPT2_IOC_PRE_RESET 1 /* prior to host reset */ | 119 | #define MPT2_IOC_PRE_RESET 1 /* prior to host reset */ |
120 | #define MPT2_IOC_AFTER_RESET 2 /* just after host reset */ | 120 | #define MPT2_IOC_AFTER_RESET 2 /* just after host reset */ |
121 | #define MPT2_IOC_DONE_RESET 3 /* links re-initialized */ | 121 | #define MPT2_IOC_DONE_RESET 3 /* links re-initialized */ |
122 | #define MPT2_IOC_RUNNING 4 /* shost running */ | ||
123 | 122 | ||
124 | /* | 123 | /* |
125 | * logging format | 124 | * logging format |
@@ -260,16 +259,6 @@ struct _internal_cmd { | |||
260 | u16 smid; | 259 | u16 smid; |
261 | }; | 260 | }; |
262 | 261 | ||
263 | /* | ||
264 | * SAS Topology Structures | ||
265 | */ | ||
266 | |||
267 | #define MPTSAS_STATE_TR_SEND 0x0001 | ||
268 | #define MPTSAS_STATE_TR_COMPLETE 0x0002 | ||
269 | #define MPTSAS_STATE_CNTRL_SEND 0x0004 | ||
270 | #define MPTSAS_STATE_CNTRL_COMPLETE 0x0008 | ||
271 | |||
272 | #define MPT2SAS_REQ_SAS_CNTRL 0x0010 | ||
273 | 262 | ||
274 | /** | 263 | /** |
275 | * struct _sas_device - attached device information | 264 | * struct _sas_device - attached device information |
@@ -307,7 +296,6 @@ struct _sas_device { | |||
307 | u16 slot; | 296 | u16 slot; |
308 | u8 hidden_raid_component; | 297 | u8 hidden_raid_component; |
309 | u8 responding; | 298 | u8 responding; |
310 | u16 state; | ||
311 | }; | 299 | }; |
312 | 300 | ||
313 | /** | 301 | /** |
@@ -378,6 +366,7 @@ struct _sas_port { | |||
378 | * @phy_id: unique phy id | 366 | * @phy_id: unique phy id |
379 | * @handle: device handle for this phy | 367 | * @handle: device handle for this phy |
380 | * @attached_handle: device handle for attached device | 368 | * @attached_handle: device handle for attached device |
369 | * @phy_belongs_to_port: port has been created for this phy | ||
381 | */ | 370 | */ |
382 | struct _sas_phy { | 371 | struct _sas_phy { |
383 | struct list_head port_siblings; | 372 | struct list_head port_siblings; |
@@ -387,6 +376,7 @@ struct _sas_phy { | |||
387 | u8 phy_id; | 376 | u8 phy_id; |
388 | u16 handle; | 377 | u16 handle; |
389 | u16 attached_handle; | 378 | u16 attached_handle; |
379 | u8 phy_belongs_to_port; | ||
390 | }; | 380 | }; |
391 | 381 | ||
392 | /** | 382 | /** |
@@ -603,7 +593,6 @@ struct MPT2SAS_ADAPTER { | |||
603 | /* fw event handler */ | 593 | /* fw event handler */ |
604 | char firmware_event_name[20]; | 594 | char firmware_event_name[20]; |
605 | struct workqueue_struct *firmware_event_thread; | 595 | struct workqueue_struct *firmware_event_thread; |
606 | u8 fw_events_off; | ||
607 | spinlock_t fw_event_lock; | 596 | spinlock_t fw_event_lock; |
608 | struct list_head fw_event_list; | 597 | struct list_head fw_event_list; |
609 | 598 | ||
@@ -611,6 +600,7 @@ struct MPT2SAS_ADAPTER { | |||
611 | int aen_event_read_flag; | 600 | int aen_event_read_flag; |
612 | u8 broadcast_aen_busy; | 601 | u8 broadcast_aen_busy; |
613 | u8 shost_recovery; | 602 | u8 shost_recovery; |
603 | struct completion shost_recovery_done; | ||
614 | spinlock_t ioc_reset_in_progress_lock; | 604 | spinlock_t ioc_reset_in_progress_lock; |
615 | u8 ioc_link_reset_in_progress; | 605 | u8 ioc_link_reset_in_progress; |
616 | u8 ignore_loginfos; | 606 | u8 ignore_loginfos; |
@@ -688,7 +678,8 @@ struct MPT2SAS_ADAPTER { | |||
688 | dma_addr_t request_dma; | 678 | dma_addr_t request_dma; |
689 | u32 request_dma_sz; | 679 | u32 request_dma_sz; |
690 | struct request_tracker *scsi_lookup; | 680 | struct request_tracker *scsi_lookup; |
691 | spinlock_t scsi_lookup_lock; | 681 | ulong scsi_lookup_pages; |
682 | spinlock_t scsi_lookup_lock; | ||
692 | struct list_head free_list; | 683 | struct list_head free_list; |
693 | int pending_io_count; | 684 | int pending_io_count; |
694 | wait_queue_head_t reset_wq; | 685 | wait_queue_head_t reset_wq; |
@@ -700,7 +691,7 @@ struct MPT2SAS_ADAPTER { | |||
700 | u16 max_sges_in_chain_message; | 691 | u16 max_sges_in_chain_message; |
701 | u16 chains_needed_per_io; | 692 | u16 chains_needed_per_io; |
702 | u16 chain_offset_value_for_main_message; | 693 | u16 chain_offset_value_for_main_message; |
703 | u16 chain_depth; | 694 | u32 chain_depth; |
704 | 695 | ||
705 | /* hi-priority queue */ | 696 | /* hi-priority queue */ |
706 | u16 hi_priority_smid; | 697 | u16 hi_priority_smid; |
@@ -814,8 +805,9 @@ void mpt2sas_halt_firmware(struct MPT2SAS_ADAPTER *ioc); | |||
814 | /* scsih shared API */ | 805 | /* scsih shared API */ |
815 | u8 mpt2sas_scsih_event_callback(struct MPT2SAS_ADAPTER *ioc, u8 msix_index, | 806 | u8 mpt2sas_scsih_event_callback(struct MPT2SAS_ADAPTER *ioc, u8 msix_index, |
816 | u32 reply); | 807 | u32 reply); |
817 | void mpt2sas_scsih_issue_tm(struct MPT2SAS_ADAPTER *ioc, u16 handle, uint lun, | 808 | int mpt2sas_scsih_issue_tm(struct MPT2SAS_ADAPTER *ioc, u16 handle, |
818 | u8 type, u16 smid_task, ulong timeout); | 809 | uint channel, uint id, uint lun, u8 type, u16 smid_task, |
810 | ulong timeout, struct scsi_cmnd *scmd); | ||
819 | void mpt2sas_scsih_set_tm_flag(struct MPT2SAS_ADAPTER *ioc, u16 handle); | 811 | void mpt2sas_scsih_set_tm_flag(struct MPT2SAS_ADAPTER *ioc, u16 handle); |
820 | void mpt2sas_scsih_clear_tm_flag(struct MPT2SAS_ADAPTER *ioc, u16 handle); | 812 | void mpt2sas_scsih_clear_tm_flag(struct MPT2SAS_ADAPTER *ioc, u16 handle); |
821 | struct _sas_node *mpt2sas_scsih_expander_find_by_handle(struct MPT2SAS_ADAPTER *ioc, | 813 | struct _sas_node *mpt2sas_scsih_expander_find_by_handle(struct MPT2SAS_ADAPTER *ioc, |