diff options
-rw-r--r-- | drivers/scsi/hpsa.c | 14 | ||||
-rw-r--r-- | drivers/scsi/hpsa_cmd.h | 3 |
2 files changed, 9 insertions, 8 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index f929875a9187..25afeb4c4a62 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c | |||
@@ -4382,15 +4382,15 @@ static inline bool hpsa_CISS_signature_present(struct ctlr_info *h) | |||
4382 | return true; | 4382 | return true; |
4383 | } | 4383 | } |
4384 | 4384 | ||
4385 | /* Need to enable prefetch in the SCSI core for 6400 in x86 */ | 4385 | static inline void hpsa_set_driver_support_bits(struct ctlr_info *h) |
4386 | static inline void hpsa_enable_scsi_prefetch(struct ctlr_info *h) | ||
4387 | { | 4386 | { |
4388 | #ifdef CONFIG_X86 | 4387 | #ifdef CONFIG_X86 |
4389 | u32 prefetch; | 4388 | /* Need to enable prefetch in the SCSI core for 6400 in x86 */ |
4389 | u32 driver_support; | ||
4390 | 4390 | ||
4391 | prefetch = readl(&(h->cfgtable->SCSI_Prefetch)); | 4391 | driver_support = readl(&(h->cfgtable->driver_support)); |
4392 | prefetch |= 0x100; | 4392 | driver_support |= ENABLE_SCSI_PREFETCH; |
4393 | writel(prefetch, &(h->cfgtable->SCSI_Prefetch)); | 4393 | writel(driver_support, &(h->cfgtable->driver_support)); |
4394 | #endif | 4394 | #endif |
4395 | } | 4395 | } |
4396 | 4396 | ||
@@ -4501,7 +4501,7 @@ static int hpsa_pci_init(struct ctlr_info *h) | |||
4501 | err = -ENODEV; | 4501 | err = -ENODEV; |
4502 | goto err_out_free_res; | 4502 | goto err_out_free_res; |
4503 | } | 4503 | } |
4504 | hpsa_enable_scsi_prefetch(h); | 4504 | hpsa_set_driver_support_bits(h); |
4505 | hpsa_p600_dma_prefetch_quirk(h); | 4505 | hpsa_p600_dma_prefetch_quirk(h); |
4506 | err = hpsa_enter_simple_mode(h); | 4506 | err = hpsa_enter_simple_mode(h); |
4507 | if (err) | 4507 | if (err) |
diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h index a894f2eca7ac..5158709c00f6 100644 --- a/drivers/scsi/hpsa_cmd.h +++ b/drivers/scsi/hpsa_cmd.h | |||
@@ -356,7 +356,8 @@ struct CfgTable { | |||
356 | u32 TransMethodOffset; | 356 | u32 TransMethodOffset; |
357 | u8 ServerName[16]; | 357 | u8 ServerName[16]; |
358 | u32 HeartBeat; | 358 | u32 HeartBeat; |
359 | u32 SCSI_Prefetch; | 359 | u32 driver_support; |
360 | #define ENABLE_SCSI_PREFETCH 0x100 | ||
360 | u32 MaxScatterGatherElements; | 361 | u32 MaxScatterGatherElements; |
361 | u32 MaxLogicalUnits; | 362 | u32 MaxLogicalUnits; |
362 | u32 MaxPhysicalDevices; | 363 | u32 MaxPhysicalDevices; |