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; |
