diff options
Diffstat (limited to 'drivers/pci/controller/dwc')
-rw-r--r-- | drivers/pci/controller/dwc/pci-dra7xx.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c index ce9224a36f62..a32d6dde7a57 100644 --- a/drivers/pci/controller/dwc/pci-dra7xx.c +++ b/drivers/pci/controller/dwc/pci-dra7xx.c | |||
@@ -542,7 +542,7 @@ static const struct of_device_id of_dra7xx_pcie_match[] = { | |||
542 | }; | 542 | }; |
543 | 543 | ||
544 | /* | 544 | /* |
545 | * dra7xx_pcie_ep_unaligned_memaccess: workaround for AM572x/AM571x Errata i870 | 545 | * dra7xx_pcie_unaligned_memaccess: workaround for AM572x/AM571x Errata i870 |
546 | * @dra7xx: the dra7xx device where the workaround should be applied | 546 | * @dra7xx: the dra7xx device where the workaround should be applied |
547 | * | 547 | * |
548 | * Access to the PCIe slave port that are not 32-bit aligned will result | 548 | * Access to the PCIe slave port that are not 32-bit aligned will result |
@@ -552,7 +552,7 @@ static const struct of_device_id of_dra7xx_pcie_match[] = { | |||
552 | * | 552 | * |
553 | * To avoid this issue set PCIE_SS1_AXI2OCP_LEGACY_MODE_ENABLE to 1. | 553 | * To avoid this issue set PCIE_SS1_AXI2OCP_LEGACY_MODE_ENABLE to 1. |
554 | */ | 554 | */ |
555 | static int dra7xx_pcie_ep_unaligned_memaccess(struct device *dev) | 555 | static int dra7xx_pcie_unaligned_memaccess(struct device *dev) |
556 | { | 556 | { |
557 | int ret; | 557 | int ret; |
558 | struct device_node *np = dev->of_node; | 558 | struct device_node *np = dev->of_node; |
@@ -704,6 +704,11 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev) | |||
704 | 704 | ||
705 | dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE, | 705 | dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE, |
706 | DEVICE_TYPE_RC); | 706 | DEVICE_TYPE_RC); |
707 | |||
708 | ret = dra7xx_pcie_unaligned_memaccess(dev); | ||
709 | if (ret) | ||
710 | dev_err(dev, "WA for Errata i870 not applied\n"); | ||
711 | |||
707 | ret = dra7xx_add_pcie_port(dra7xx, pdev); | 712 | ret = dra7xx_add_pcie_port(dra7xx, pdev); |
708 | if (ret < 0) | 713 | if (ret < 0) |
709 | goto err_gpio; | 714 | goto err_gpio; |
@@ -717,7 +722,7 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev) | |||
717 | dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE, | 722 | dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE, |
718 | DEVICE_TYPE_EP); | 723 | DEVICE_TYPE_EP); |
719 | 724 | ||
720 | ret = dra7xx_pcie_ep_unaligned_memaccess(dev); | 725 | ret = dra7xx_pcie_unaligned_memaccess(dev); |
721 | if (ret) | 726 | if (ret) |
722 | goto err_gpio; | 727 | goto err_gpio; |
723 | 728 | ||