pm80xx: thermal, sas controller config and error handling update
Subsystems (2)
PATCH v2 12/12 pm80xx: thermal, sas controller config and error handling update
Quoted 1 line
From
375653061c0db3189e9e5678b11291b7b0195ac3Mon Sep 17 00:00:00 2001
From: Sakthivel K <[email protected]>
Date: Mon, 11 Mar 2013 20:44:36 +0530
Subject: [PATCH V2 12/12] pm80xx: thermal, sas controller config and error handling update
Modified thermal configuration to happen after interrupt registration Added SAS controller configuration during initialization Added error handling logic to handle I_T_Nexus errors and variants
--- drivers/scsi/pm8001/pm8001_hwi.c | 2 +- drivers/scsi/pm8001/pm8001_init.c | 2 + drivers/scsi/pm8001/pm8001_sas.c | 66 ++++++++++++++++ drivers/scsi/pm8001/pm8001_sas.h | 2 + drivers/scsi/pm8001/pm80xx_hwi.c | 150 +++++++++++++++++++++++++++++++++---- drivers/scsi/pm8001/pm80xx_hwi.h | 44 +++++++++++- 6 files changed, 249 insertions(+), 17 deletions(-)
drivers/scsi/pm8001/pm8001_hwi.c +1 -1
@@ -1670,7 +1670,7 @@ void pm8001_work_fn(struct work_struct *work) }break ;case IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS : dev = pm8001_dev->sas_device; -pm8001_I_T_nexus_reset (dev); +pm8001_I_T_nexus_event_handler (dev);break ;case IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY : dev = pm8001_dev->sas_device;
drivers/scsi/pm8001/pm8001_init.c +2 -0
@@ -1165,6 +1165,8 @@ static int pm8001_pci_probe(struct pci_dev *pdev,if (pm8001_ha->chip_id != chip_8001) {for (i =1 ; i < pm8001_ha->number_of_intr; i++)PM8001_CHIP_DISP ->interrupt_enable (pm8001_ha, i); +/* setup thermal configuration. */ +pm80xx_set_thermal_config (pm8001_ha); }pm8001_init_sas_add (pm8001_ha);
drivers/scsi/pm8001/pm8001_sas.c +66 -0
72 lines not on this page · raw message
drivers/scsi/pm8001/pm8001_sas.h +2 -0
@@ -562,6 +562,7 @@ int pm8001_dev_found(struct domain_device *dev);void pm8001_dev_gone (struct domain_device *dev);int pm8001_lu_reset (struct domain_device *dev,u8 *lun);int pm8001_I_T_nexus_reset (struct domain_device *dev); +int pm8001_I_T_nexus_event_handler (struct domain_device *dev);int pm8001_query_task (struct sas_task *task); void pm8001_open_reject_retry( struct pm8001_hba_info *pm8001_ha,
@@ -624,6 +625,7 @@ void pm8001_free_task(struct sas_task *task);void pm8001_tag_free (struct pm8001_hba_info *pm8001_ha,u32 tag);struct pm8001_device *pm8001_find_dev (struct pm8001_hba_info *pm8001_ha,u32 device_id); +int pm80xx_set_thermal_config (struct pm8001_hba_info *pm8001_ha);int pm8001_bar4_shift (struct pm8001_hba_info *pm8001_ha,u32 shiftValue);
drivers/scsi/pm8001/pm80xx_hwi.c +135 -15
228 lines not on this page · raw message
drivers/scsi/pm8001/pm80xx_hwi.h +43 -1
62 lines not on this page · raw message
Signature · 1 line
1.7.1
Quoted 1 line
From
375653061c0db3189e9e5678b11291b7b0195ac3Mon Sep 17 00:00:00 2001
From: Sakthivel K <[email protected]>
Date: Mon, 11 Mar 2013 20:44:36 +0530
Subject: [PATCH V2 12/12] pm80xx: thermal, sas controller config and error handling update
Modified thermal configuration to happen after interrupt registration Added SAS controller configuration during initialization Added error handling logic to handle I_T_Nexus errors and variants
--- drivers/scsi/pm8001/pm8001_hwi.c | 2 +- drivers/scsi/pm8001/pm8001_init.c | 2 + drivers/scsi/pm8001/pm8001_sas.c | 66 ++++++++++++++++ drivers/scsi/pm8001/pm8001_sas.h | 2 + drivers/scsi/pm8001/pm80xx_hwi.c | 150 +++++++++++++++++++++++++++++++++---- drivers/scsi/pm8001/pm80xx_hwi.h | 44 +++++++++++- 6 files changed, 249 insertions(+), 17 deletions(-)
drivers/scsi/pm8001/pm8001_hwi.c +1 -1
@@ -1670,7 +1670,7 @@ void pm8001_work_fn(struct work_struct *work) }break ;case IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS : dev = pm8001_dev->sas_device; -pm8001_I_T_nexus_reset (dev); +pm8001_I_T_nexus_event_handler (dev);break ;case IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY : dev = pm8001_dev->sas_device;
drivers/scsi/pm8001/pm8001_init.c +2 -0
@@ -1165,6 +1165,8 @@ static int pm8001_pci_probe(struct pci_dev *pdev,if (pm8001_ha->chip_id != chip_8001) {for (i =1 ; i < pm8001_ha->number_of_intr; i++)PM8001_CHIP_DISP ->interrupt_enable (pm8001_ha, i); +/* setup thermal configuration. */ +pm80xx_set_thermal_config (pm8001_ha); }pm8001_init_sas_add (pm8001_ha);
drivers/scsi/pm8001/pm8001_sas.c +66 -0
72 lines not on this page · raw message
drivers/scsi/pm8001/pm8001_sas.h +2 -0
@@ -562,6 +562,7 @@ int pm8001_dev_found(struct domain_device *dev);void pm8001_dev_gone (struct domain_device *dev);int pm8001_lu_reset (struct domain_device *dev,u8 *lun);int pm8001_I_T_nexus_reset (struct domain_device *dev); +int pm8001_I_T_nexus_event_handler (struct domain_device *dev);int pm8001_query_task (struct sas_task *task); void pm8001_open_reject_retry( struct pm8001_hba_info *pm8001_ha,
@@ -624,6 +625,7 @@ void pm8001_free_task(struct sas_task *task);void pm8001_tag_free (struct pm8001_hba_info *pm8001_ha,u32 tag);struct pm8001_device *pm8001_find_dev (struct pm8001_hba_info *pm8001_ha,u32 device_id); +int pm80xx_set_thermal_config (struct pm8001_hba_info *pm8001_ha);int pm8001_bar4_shift (struct pm8001_hba_info *pm8001_ha,u32 shiftValue);
drivers/scsi/pm8001/pm80xx_hwi.c +135 -15
228 lines not on this page · raw message
drivers/scsi/pm8001/pm80xx_hwi.h +43 -1
62 lines not on this page · raw message
Signature · 1 line
1.7.1