diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2011-01-06 15:48:29 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-01-24 12:30:43 -0500 |
commit | 02ec19c82e87e3748d326ca5e15e7ddb18c73476 (patch) | |
tree | bec075bdfbe16a1ca5cc4df9ada03ef9a14a01b5 /drivers/scsi/hpsa.c | |
parent | 6eaf46fdc719991a3ccda1e14b274e9adb515978 (diff) |
[SCSI] hpsa: allow driver to put controller in either simple or performant mode
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.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 4fb62c2aac05..10076f1868e0 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c | |||
@@ -74,6 +74,10 @@ static int hpsa_allow_any; | |||
74 | module_param(hpsa_allow_any, int, S_IRUGO|S_IWUSR); | 74 | module_param(hpsa_allow_any, int, S_IRUGO|S_IWUSR); |
75 | MODULE_PARM_DESC(hpsa_allow_any, | 75 | MODULE_PARM_DESC(hpsa_allow_any, |
76 | "Allow hpsa driver to access unknown HP Smart Array hardware"); | 76 | "Allow hpsa driver to access unknown HP Smart Array hardware"); |
77 | static int hpsa_simple_mode; | ||
78 | module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR); | ||
79 | MODULE_PARM_DESC(hpsa_simple_mode, | ||
80 | "Use 'simple mode' rather than 'performant mode'"); | ||
77 | 81 | ||
78 | /* define the PCI info for the cards we can control */ | 82 | /* define the PCI info for the cards we can control */ |
79 | static const struct pci_device_id hpsa_pci_device_id[] = { | 83 | static const struct pci_device_id hpsa_pci_device_id[] = { |
@@ -4038,6 +4042,9 @@ static __devinit void hpsa_put_ctlr_into_performant_mode(struct ctlr_info *h) | |||
4038 | { | 4042 | { |
4039 | u32 trans_support; | 4043 | u32 trans_support; |
4040 | 4044 | ||
4045 | if (hpsa_simple_mode) | ||
4046 | return; | ||
4047 | |||
4041 | trans_support = readl(&(h->cfgtable->TransportSupport)); | 4048 | trans_support = readl(&(h->cfgtable->TransportSupport)); |
4042 | if (!(trans_support & PERFORMANT_MODE)) | 4049 | if (!(trans_support & PERFORMANT_MODE)) |
4043 | return; | 4050 | return; |