Commit 6b24d425 authored by Raghava Aditya Renukunta's avatar Raghava Aditya Renukunta Committed by Martin K. Petersen

scsi: aacraid: Using single reset mask for IOP reset

The driver can now trigger IOP reset with a single reset mask. Removed
code that retrieves a reset_mask from the firmware.
Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Reviewed-by: default avatarDavid Carroll <david.carroll@microsemi.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 144ecd41
...@@ -2378,6 +2378,7 @@ struct revision ...@@ -2378,6 +2378,7 @@ struct revision
#define SOFT_RESET_TIME 60 #define SOFT_RESET_TIME 60
struct aac_common struct aac_common
{ {
/* /*
...@@ -2490,6 +2491,8 @@ struct aac_hba_info { ...@@ -2490,6 +2491,8 @@ struct aac_hba_info {
#define IOP_RESET_ALWAYS 0x00001001 #define IOP_RESET_ALWAYS 0x00001001
#define RE_INIT_ADAPTER 0x000000ee #define RE_INIT_ADAPTER 0x000000ee
#define IOP_SRC_RESET_MASK 0x00000100
/* /*
* Adapter Status Register * Adapter Status Register
* *
......
...@@ -704,22 +704,10 @@ static void aac_send_iop_reset(struct aac_dev *dev, int bled) ...@@ -704,22 +704,10 @@ static void aac_send_iop_reset(struct aac_dev *dev, int bled)
0, 0, 0, 0, 0, 0, &var, 0, 0, 0, 0, 0, 0, &var,
&reset_mask, NULL, NULL, NULL); &reset_mask, NULL, NULL, NULL);
if ((bled || var != 0x00000001) && !dev->doorbell_mask)
bled = -EINVAL;
else if (dev->doorbell_mask) {
reset_mask = dev->doorbell_mask;
bled = 0;
var = 0x00000001;
}
aac_set_intx_mode(dev); aac_set_intx_mode(dev);
if (!bled && (dev->supplement_adapter_info.supported_options2 & src_writel(dev, MUnit.IDR, IOP_SRC_RESET_MASK);
AAC_OPTION_DOORBELL_RESET)) {
src_writel(dev, MUnit.IDR, reset_mask);
} else {
src_writel(dev, MUnit.IDR, 0x100);
}
msleep(30000); msleep(30000);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment