diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /drivers/message/fusion/mptsas.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'drivers/message/fusion/mptsas.c')
-rw-r--r-- | drivers/message/fusion/mptsas.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 83a5115f0251..7596aecd5072 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
@@ -307,7 +307,7 @@ mptsas_requeue_fw_event(MPT_ADAPTER *ioc, struct fw_event_work *fw_event, | |||
307 | spin_unlock_irqrestore(&ioc->fw_event_lock, flags); | 307 | spin_unlock_irqrestore(&ioc->fw_event_lock, flags); |
308 | } | 308 | } |
309 | 309 | ||
310 | /* free memory assoicated to a sas firmware event */ | 310 | /* free memory associated to a sas firmware event */ |
311 | static void | 311 | static void |
312 | mptsas_free_fw_event(MPT_ADAPTER *ioc, struct fw_event_work *fw_event) | 312 | mptsas_free_fw_event(MPT_ADAPTER *ioc, struct fw_event_work *fw_event) |
313 | { | 313 | { |
@@ -1094,7 +1094,7 @@ mptsas_block_io_starget(struct scsi_target *starget) | |||
1094 | /** | 1094 | /** |
1095 | * mptsas_target_reset_queue | 1095 | * mptsas_target_reset_queue |
1096 | * | 1096 | * |
1097 | * Receive request for TARGET_RESET after recieving an firmware | 1097 | * Receive request for TARGET_RESET after receiving an firmware |
1098 | * event NOT_RESPONDING_EVENT, then put command in link list | 1098 | * event NOT_RESPONDING_EVENT, then put command in link list |
1099 | * and queue if task_queue already in use. | 1099 | * and queue if task_queue already in use. |
1100 | * | 1100 | * |
@@ -1146,7 +1146,7 @@ mptsas_target_reset_queue(MPT_ADAPTER *ioc, | |||
1146 | * | 1146 | * |
1147 | * This function will delete scheduled target reset from the list and | 1147 | * This function will delete scheduled target reset from the list and |
1148 | * try to send next target reset. This will be called from completion | 1148 | * try to send next target reset. This will be called from completion |
1149 | * context of any Task managment command. | 1149 | * context of any Task management command. |
1150 | */ | 1150 | */ |
1151 | 1151 | ||
1152 | void | 1152 | void |
@@ -1403,7 +1403,7 @@ mptsas_sas_enclosure_pg0(MPT_ADAPTER *ioc, struct mptsas_enclosure *enclosure, | |||
1403 | /** | 1403 | /** |
1404 | * mptsas_add_end_device - report a new end device to sas transport layer | 1404 | * mptsas_add_end_device - report a new end device to sas transport layer |
1405 | * @ioc: Pointer to MPT_ADAPTER structure | 1405 | * @ioc: Pointer to MPT_ADAPTER structure |
1406 | * @phy_info: decribes attached device | 1406 | * @phy_info: describes attached device |
1407 | * | 1407 | * |
1408 | * return (0) success (1) failure | 1408 | * return (0) success (1) failure |
1409 | * | 1409 | * |
@@ -1481,7 +1481,7 @@ mptsas_add_end_device(MPT_ADAPTER *ioc, struct mptsas_phyinfo *phy_info) | |||
1481 | /** | 1481 | /** |
1482 | * mptsas_del_end_device - report a deleted end device to sas transport layer | 1482 | * mptsas_del_end_device - report a deleted end device to sas transport layer |
1483 | * @ioc: Pointer to MPT_ADAPTER structure | 1483 | * @ioc: Pointer to MPT_ADAPTER structure |
1484 | * @phy_info: decribes attached device | 1484 | * @phy_info: describes attached device |
1485 | * | 1485 | * |
1486 | **/ | 1486 | **/ |
1487 | static void | 1487 | static void |
@@ -1889,7 +1889,7 @@ mptsas_slave_alloc(struct scsi_device *sdev) | |||
1889 | } | 1889 | } |
1890 | 1890 | ||
1891 | static int | 1891 | static int |
1892 | mptsas_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | 1892 | mptsas_qcmd_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) |
1893 | { | 1893 | { |
1894 | MPT_SCSI_HOST *hd; | 1894 | MPT_SCSI_HOST *hd; |
1895 | MPT_ADAPTER *ioc; | 1895 | MPT_ADAPTER *ioc; |
@@ -1913,6 +1913,8 @@ mptsas_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
1913 | return mptscsih_qcmd(SCpnt,done); | 1913 | return mptscsih_qcmd(SCpnt,done); |
1914 | } | 1914 | } |
1915 | 1915 | ||
1916 | static DEF_SCSI_QCMD(mptsas_qcmd) | ||
1917 | |||
1916 | /** | 1918 | /** |
1917 | * mptsas_mptsas_eh_timed_out - resets the scsi_cmnd timeout | 1919 | * mptsas_mptsas_eh_timed_out - resets the scsi_cmnd timeout |
1918 | * if the device under question is currently in the | 1920 | * if the device under question is currently in the |
@@ -1971,7 +1973,6 @@ static struct scsi_host_template mptsas_driver_template = { | |||
1971 | .change_queue_depth = mptscsih_change_queue_depth, | 1973 | .change_queue_depth = mptscsih_change_queue_depth, |
1972 | .eh_abort_handler = mptscsih_abort, | 1974 | .eh_abort_handler = mptscsih_abort, |
1973 | .eh_device_reset_handler = mptscsih_dev_reset, | 1975 | .eh_device_reset_handler = mptscsih_dev_reset, |
1974 | .eh_bus_reset_handler = mptscsih_bus_reset, | ||
1975 | .eh_host_reset_handler = mptscsih_host_reset, | 1976 | .eh_host_reset_handler = mptscsih_host_reset, |
1976 | .bios_param = mptscsih_bios_param, | 1977 | .bios_param = mptscsih_bios_param, |
1977 | .can_queue = MPT_SAS_CAN_QUEUE, | 1978 | .can_queue = MPT_SAS_CAN_QUEUE, |
@@ -3061,6 +3062,9 @@ static int mptsas_probe_one_phy(struct device *dev, | |||
3061 | case MPI_SAS_IOUNIT0_RATE_3_0: | 3062 | case MPI_SAS_IOUNIT0_RATE_3_0: |
3062 | phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS; | 3063 | phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS; |
3063 | break; | 3064 | break; |
3065 | case MPI_SAS_IOUNIT0_RATE_6_0: | ||
3066 | phy->negotiated_linkrate = SAS_LINK_RATE_6_0_GBPS; | ||
3067 | break; | ||
3064 | case MPI_SAS_IOUNIT0_RATE_SATA_OOB_COMPLETE: | 3068 | case MPI_SAS_IOUNIT0_RATE_SATA_OOB_COMPLETE: |
3065 | case MPI_SAS_IOUNIT0_RATE_UNKNOWN: | 3069 | case MPI_SAS_IOUNIT0_RATE_UNKNOWN: |
3066 | default: | 3070 | default: |
@@ -3689,7 +3693,8 @@ mptsas_send_link_status_event(struct fw_event_work *fw_event) | |||
3689 | } | 3693 | } |
3690 | 3694 | ||
3691 | if (link_rate == MPI_SAS_IOUNIT0_RATE_1_5 || | 3695 | if (link_rate == MPI_SAS_IOUNIT0_RATE_1_5 || |
3692 | link_rate == MPI_SAS_IOUNIT0_RATE_3_0) { | 3696 | link_rate == MPI_SAS_IOUNIT0_RATE_3_0 || |
3697 | link_rate == MPI_SAS_IOUNIT0_RATE_6_0) { | ||
3693 | 3698 | ||
3694 | if (!port_info) { | 3699 | if (!port_info) { |
3695 | if (ioc->old_sas_discovery_protocal) { | 3700 | if (ioc->old_sas_discovery_protocal) { |
@@ -5007,7 +5012,6 @@ mptsas_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *reply) | |||
5007 | (ioc_stat & MPI_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE)) { | 5012 | (ioc_stat & MPI_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE)) { |
5008 | VirtTarget *vtarget = NULL; | 5013 | VirtTarget *vtarget = NULL; |
5009 | u8 id, channel; | 5014 | u8 id, channel; |
5010 | u32 log_info = le32_to_cpu(reply->IOCLogInfo); | ||
5011 | 5015 | ||
5012 | id = sas_event_data->TargetID; | 5016 | id = sas_event_data->TargetID; |
5013 | channel = sas_event_data->Bus; | 5017 | channel = sas_event_data->Bus; |
@@ -5018,7 +5022,8 @@ mptsas_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *reply) | |||
5018 | "LogInfo (0x%x) available for " | 5022 | "LogInfo (0x%x) available for " |
5019 | "INTERNAL_DEVICE_RESET" | 5023 | "INTERNAL_DEVICE_RESET" |
5020 | "fw_id %d fw_channel %d\n", ioc->name, | 5024 | "fw_id %d fw_channel %d\n", ioc->name, |
5021 | log_info, id, channel)); | 5025 | le32_to_cpu(reply->IOCLogInfo), |
5026 | id, channel)); | ||
5022 | if (vtarget->raidVolume) { | 5027 | if (vtarget->raidVolume) { |
5023 | devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT | 5028 | devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT |
5024 | "Skipping Raid Volume for inDMD\n", | 5029 | "Skipping Raid Volume for inDMD\n", |