summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa.c
diff options
context:
space:
mode:
authorStephen M. Cameron2010-05-27 22:13:38 +0200
committerJames Bottomley2010-07-27 19:01:09 +0200
commitf7c391015ab64c835a9bb403626b38a51d6432cc (patch)
tree8d7cfbf3b49927abfb677129ceb80e13fbd65feb /drivers/scsi/hpsa.c
parent[SCSI] hpsa: factor out hpsa-CISS-signature-present (diff)
downloadkernel-qcow2-linux-f7c391015ab64c835a9bb403626b38a51d6432cc.tar.gz
kernel-qcow2-linux-f7c391015ab64c835a9bb403626b38a51d6432cc.tar.xz
kernel-qcow2-linux-f7c391015ab64c835a9bb403626b38a51d6432cc.zip
[SCSI] hpsa: factor out hpsa_enable_scsi_prefetch
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/hpsa.c')
-rw-r--r--drivers/scsi/hpsa.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index f2a9af64dfaa..62f9784ecf8f 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3384,6 +3384,18 @@ static inline bool hpsa_CISS_signature_present(struct ctlr_info *h)
return true;
}
+/* Need to enable prefetch in the SCSI core for 6400 in x86 */
+static inline void hpsa_enable_scsi_prefetch(struct ctlr_info *h)
+{
+#ifdef CONFIG_X86
+ u32 prefetch;
+
+ prefetch = readl(&(h->cfgtable->SCSI_Prefetch));
+ prefetch |= 0x100;
+ writel(prefetch, &(h->cfgtable->SCSI_Prefetch));
+#endif
+}
+
static int __devinit hpsa_pci_init(struct ctlr_info *h)
{
int i, prod_index, err;
@@ -3431,15 +3443,7 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h)
err = -ENODEV;
goto err_out_free_res;
}
-#ifdef CONFIG_X86
- {
- /* Need to enable prefetch in the SCSI core for 6400 in x86 */
- u32 prefetch;
- prefetch = readl(&(h->cfgtable->SCSI_Prefetch));
- prefetch |= 0x100;
- writel(prefetch, &(h->cfgtable->SCSI_Prefetch));
- }
-#endif
+ hpsa_enable_scsi_prefetch(h);
/* Disabling DMA prefetch for the P600
* An ASIC bug may result in a prefetch beyond