diff options
Diffstat (limited to 'drivers/pci/controller/dwc/pci-dra7xx.c')
| -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[] = {  };  /* - * dra7xx_pcie_ep_unaligned_memaccess: workaround for AM572x/AM571x Errata i870 + * dra7xx_pcie_unaligned_memaccess: workaround for AM572x/AM571x Errata i870   * @dra7xx: the dra7xx device where the workaround should be applied   *   * 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[] = {   *   * To avoid this issue set PCIE_SS1_AXI2OCP_LEGACY_MODE_ENABLE to 1.   */ -static int dra7xx_pcie_ep_unaligned_memaccess(struct device *dev) +static int dra7xx_pcie_unaligned_memaccess(struct device *dev)  {  	int ret;  	struct device_node *np = dev->of_node; @@ -704,6 +704,11 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)  		dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE,  				   DEVICE_TYPE_RC); + +		ret = dra7xx_pcie_unaligned_memaccess(dev); +		if (ret) +			dev_err(dev, "WA for Errata i870 not applied\n"); +  		ret = dra7xx_add_pcie_port(dra7xx, pdev);  		if (ret < 0)  			goto err_gpio; @@ -717,7 +722,7 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)  		dra7xx_pcie_writel(dra7xx, PCIECTRL_TI_CONF_DEVICE_TYPE,  				   DEVICE_TYPE_EP); -		ret = dra7xx_pcie_ep_unaligned_memaccess(dev); +		ret = dra7xx_pcie_unaligned_memaccess(dev);  		if (ret)  			goto err_gpio; |