aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ipr.c4
-rw-r--r--drivers/scsi/ipr.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index b773852b4ea8..97f33ddc7bdd 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4281,6 +4281,7 @@ static int ipr_ioa_reset_done(struct ipr_cmnd *ipr_cmd)
4281 ioa_cfg->in_reset_reload = 0; 4281 ioa_cfg->in_reset_reload = 0;
4282 ioa_cfg->allow_cmds = 1; 4282 ioa_cfg->allow_cmds = 1;
4283 ioa_cfg->reset_cmd = NULL; 4283 ioa_cfg->reset_cmd = NULL;
4284 ioa_cfg->doorbell |= IPR_RUNTIME_RESET;
4284 4285
4285 list_for_each_entry(res, &ioa_cfg->used_res_q, queue) { 4286 list_for_each_entry(res, &ioa_cfg->used_res_q, queue) {
4286 if (ioa_cfg->allow_ml_add_del && (res->add_to_ml || res->del_from_ml)) { 4287 if (ioa_cfg->allow_ml_add_del && (res->add_to_ml || res->del_from_ml)) {
@@ -5101,7 +5102,7 @@ static int ipr_reset_enable_ioa(struct ipr_cmnd *ipr_cmd)
5101 } 5102 }
5102 5103
5103 /* Enable destructive diagnostics on IOA */ 5104 /* Enable destructive diagnostics on IOA */
5104 writel(IPR_DOORBELL, ioa_cfg->regs.set_uproc_interrupt_reg); 5105 writel(ioa_cfg->doorbell, ioa_cfg->regs.set_uproc_interrupt_reg);
5105 5106
5106 writel(IPR_PCII_OPER_INTERRUPTS, ioa_cfg->regs.clr_interrupt_mask_reg); 5107 writel(IPR_PCII_OPER_INTERRUPTS, ioa_cfg->regs.clr_interrupt_mask_reg);
5107 int_reg = readl(ioa_cfg->regs.sense_interrupt_mask_reg); 5108 int_reg = readl(ioa_cfg->regs.sense_interrupt_mask_reg);
@@ -5917,6 +5918,7 @@ static void __devinit ipr_init_ioa_cfg(struct ipr_ioa_cfg *ioa_cfg,
5917 ioa_cfg->host = host; 5918 ioa_cfg->host = host;
5918 ioa_cfg->pdev = pdev; 5919 ioa_cfg->pdev = pdev;
5919 ioa_cfg->log_level = ipr_log_level; 5920 ioa_cfg->log_level = ipr_log_level;
5921 ioa_cfg->doorbell = IPR_DOORBELL;
5920 sprintf(ioa_cfg->eye_catcher, IPR_EYECATCHER); 5922 sprintf(ioa_cfg->eye_catcher, IPR_EYECATCHER);
5921 sprintf(ioa_cfg->trace_start, IPR_TRACE_START_LABEL); 5923 sprintf(ioa_cfg->trace_start, IPR_TRACE_START_LABEL);
5922 sprintf(ioa_cfg->ipr_free_label, IPR_FREEQ_LABEL); 5924 sprintf(ioa_cfg->ipr_free_label, IPR_FREEQ_LABEL);
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 57d55b284caf..8aad480e9b64 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -192,6 +192,7 @@
192#define IPR_SDT_FMT2_EXP_ROM_SEL 0x8 192#define IPR_SDT_FMT2_EXP_ROM_SEL 0x8
193#define IPR_FMT2_SDT_READY_TO_USE 0xC4D4E3F2 193#define IPR_FMT2_SDT_READY_TO_USE 0xC4D4E3F2
194#define IPR_DOORBELL 0x82800000 194#define IPR_DOORBELL 0x82800000
195#define IPR_RUNTIME_RESET 0x40000000
195 196
196#define IPR_PCII_IOA_TRANS_TO_OPER (0x80000000 >> 0) 197#define IPR_PCII_IOA_TRANS_TO_OPER (0x80000000 >> 0)
197#define IPR_PCII_IOARCB_XFER_FAILED (0x80000000 >> 3) 198#define IPR_PCII_IOARCB_XFER_FAILED (0x80000000 >> 3)
@@ -913,6 +914,7 @@ struct ipr_ioa_cfg {
913 u16 reset_retries; 914 u16 reset_retries;
914 915
915 u32 errors_logged; 916 u32 errors_logged;
917 u32 doorbell;
916 918
917 struct Scsi_Host *host; 919 struct Scsi_Host *host;
918 struct pci_dev *pdev; 920 struct pci_dev *pdev;