Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81b86d4d authored by Bradley Grove's avatar Bradley Grove Committed by James Bottomley
Browse files

[SCSI] pm80xx: Enable BAR shift to avoid BIOS conflict with MPI space for ATTO pm8001 based HBAs.

parent f49d2132
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -644,7 +644,7 @@ static int pm8001_chip_init(struct pm8001_hba_info *pm8001_ha)
	pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid);
	pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid);
	/* 8081 controllers need BAR shift to access MPI space
	/* 8081 controllers need BAR shift to access MPI space
	* as this is shared with BIOS data */
	* as this is shared with BIOS data */
	if (deviceid == 0x8081) {
	if (deviceid == 0x8081 || deviceid == 0x0042) {
		if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) {
		if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) {
			PM8001_FAIL_DBG(pm8001_ha,
			PM8001_FAIL_DBG(pm8001_ha,
				pm8001_printk("Shift Bar4 to 0x%x failed\n",
				pm8001_printk("Shift Bar4 to 0x%x failed\n",
@@ -673,7 +673,7 @@ static int pm8001_chip_init(struct pm8001_hba_info *pm8001_ha)
	for (i = 0; i < PM8001_MAX_OUTB_NUM; i++)
	for (i = 0; i < PM8001_MAX_OUTB_NUM; i++)
		update_outbnd_queue_table(pm8001_ha, i);
		update_outbnd_queue_table(pm8001_ha, i);
	/* 8081 controller donot require these operations */
	/* 8081 controller donot require these operations */
	if (deviceid != 0x8081) {
	if (deviceid != 0x8081 && deviceid != 0x0042) {
		mpi_set_phys_g3_with_ssc(pm8001_ha, 0);
		mpi_set_phys_g3_with_ssc(pm8001_ha, 0);
		/* 7->130ms, 34->500ms, 119->1.5s */
		/* 7->130ms, 34->500ms, 119->1.5s */
		mpi_set_open_retry_interval_reg(pm8001_ha, 119);
		mpi_set_open_retry_interval_reg(pm8001_ha, 119);
@@ -701,7 +701,7 @@ static int mpi_uninit_check(struct pm8001_hba_info *pm8001_ha)
	u32 gst_len_mpistate;
	u32 gst_len_mpistate;
	u16 deviceid;
	u16 deviceid;
	pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid);
	pci_read_config_word(pm8001_ha->pdev, PCI_DEVICE_ID, &deviceid);
	if (deviceid == 0x8081) {
	if (deviceid == 0x8081 || deviceid == 0x0042) {
		if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) {
		if (-1 == pm8001_bar4_shift(pm8001_ha, GSM_SM_BASE)) {
			PM8001_FAIL_DBG(pm8001_ha,
			PM8001_FAIL_DBG(pm8001_ha,
				pm8001_printk("Shift Bar4 to 0x%x failed\n",
				pm8001_printk("Shift Bar4 to 0x%x failed\n",