diff options
author | Bradley Grove <bgrove@attotech.com> | 2013-12-19 10:50:57 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2014-03-15 13:18:59 -0400 |
commit | 81b86d4d275244ad7e134e95cbcfee49198da854 (patch) | |
tree | 92865a11619e4365b20c2145aa9538f5e831347f /drivers/scsi/pm8001 | |
parent | f49d2132ab050c46f04ef21d43ba475cfec008ea (diff) |
[SCSI] pm80xx: Enable BAR shift to avoid BIOS conflict with MPI space for ATTO pm8001 based HBAs.
Signed-off-by: Bradley Grove <bgrove@attotech.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/pm8001')
-rw-r--r-- | drivers/scsi/pm8001/pm8001_hwi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c index 46ace52eeb2d..561ca2c348d6 100644 --- a/drivers/scsi/pm8001/pm8001_hwi.c +++ b/drivers/scsi/pm8001/pm8001_hwi.c | |||
@@ -644,7 +644,7 @@ static int pm8001_chip_init(struct pm8001_hba_info *pm8001_ha) | |||
644 | pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid); | 644 | pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid); |
645 | /* 8081 controllers need BAR shift to access MPI space | 645 | /* 8081 controllers need BAR shift to access MPI space |
646 | * as this is shared with BIOS data */ | 646 | * as this is shared with BIOS data */ |
647 | if (deviceid == 0x8081) { | 647 | if (deviceid == 0x8081 || deviceid == 0x0042) { |
648 | if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) { | 648 | if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) { |
649 | PM8001_FAIL_DBG(pm8001_ha, | 649 | PM8001_FAIL_DBG(pm8001_ha, |
650 | pm8001_printk("Shift Bar4 to 0x%x failed\n", | 650 | pm8001_printk("Shift Bar4 to 0x%x failed\n", |
@@ -673,7 +673,7 @@ static int pm8001_chip_init(struct pm8001_hba_info *pm8001_ha) | |||
673 | for (i = 0; i < PM8001_MAX_OUTB_NUM; i++) | 673 | for (i = 0; i < PM8001_MAX_OUTB_NUM; i++) |
674 | update_outbnd_queue_table(pm8001_ha, i); | 674 | update_outbnd_queue_table(pm8001_ha, i); |
675 | /* 8081 controller donot require these operations */ | 675 | /* 8081 controller donot require these operations */ |
676 | if (deviceid != 0x8081) { | 676 | if (deviceid != 0x8081 && deviceid != 0x0042) { |
677 | mpi_set_phys_g3_with_ssc(pm8001_ha, 0); | 677 | mpi_set_phys_g3_with_ssc(pm8001_ha, 0); |
678 | /* 7->130ms, 34->500ms, 119->1.5s */ | 678 | /* 7->130ms, 34->500ms, 119->1.5s */ |
679 | mpi_set_open_retry_interval_reg(pm8001_ha, 119); | 679 | mpi_set_open_retry_interval_reg(pm8001_ha, 119); |
@@ -701,7 +701,7 @@ static int mpi_uninit_check(struct pm8001_hba_info *pm8001_ha) | |||
701 | u32 gst_len_mpistate; | 701 | u32 gst_len_mpistate; |
702 | u16 deviceid; | 702 | u16 deviceid; |
703 | pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid); | 703 | pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid); |
704 | if (deviceid == 0x8081) { | 704 | if (deviceid == 0x8081 || deviceid == 0x0042) { |
705 | if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) { | 705 | if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) { |
706 | PM8001_FAIL_DBG(pm8001_ha, | 706 | PM8001_FAIL_DBG(pm8001_ha, |
707 | pm8001_printk("Shift Bar4 to 0x%x failed\n", | 707 | pm8001_printk("Shift Bar4 to 0x%x failed\n", |