summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven L. Roberts <robers97@gmail.com>2017-05-10 14:58:13 -0500
committerDoug Ledford <dledford@redhat.com>2017-06-01 17:03:40 -0400
commite4785b0633574a607daaa04bf2fe43550055194f (patch)
tree9e13d7745b5180e2672f7acd9c015d864ccb9ec9
parentc4dd4b69f55abcc8dd079f8de55d9d8c2ddbefce (diff)
downloadlinux-e4785b0633574a607daaa04bf2fe43550055194f.tar.gz
linux-e4785b0633574a607daaa04bf2fe43550055194f.tar.bz2
linux-e4785b0633574a607daaa04bf2fe43550055194f.zip
RDMA/hfi1: change PCI bar addr assignments to Linux API functions
The Omni-Path adapter driver fails to load on the ppc64le platform due to invalid PCI setup. This patch makes the PCI configuration more robust and will fix 64 bit addressing for ppc64le. Signed-off-by: Steven L Roberts <robers97@gmail.com> Acked-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/infiniband/hw/hfi1/pcie.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/hfi1/pcie.c b/drivers/infiniband/hw/hfi1/pcie.c
index 93faf86d54b6..6a9f6f9819e1 100644
--- a/drivers/infiniband/hw/hfi1/pcie.c
+++ b/drivers/infiniband/hw/hfi1/pcie.c
@@ -207,8 +207,8 @@ int hfi1_pcie_ddinit(struct hfi1_devdata *dd, struct pci_dev *pdev)
/*
* Save BARs and command to rewrite after device reset.
*/
- dd->pcibar0 = addr;
- dd->pcibar1 = addr >> 32;
+ pci_read_config_dword(dd->pcidev, PCI_BASE_ADDRESS_0, &dd->pcibar0);
+ pci_read_config_dword(dd->pcidev, PCI_BASE_ADDRESS_1, &dd->pcibar1);
pci_read_config_dword(dd->pcidev, PCI_ROM_ADDRESS, &dd->pci_rom);
pci_read_config_word(dd->pcidev, PCI_COMMAND, &dd->pci_command);
pcie_capability_read_word(dd->pcidev, PCI_EXP_DEVCTL, &dd->pcie_devctl);