diff options
Diffstat (limited to 'drivers/pci/controller/dwc/pci-imx6.c')
| -rw-r--r-- | drivers/pci/controller/dwc/pci-imx6.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 2cbef2d7c207..bd02760257e5 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c | |||
| @@ -67,6 +67,7 @@ struct imx6_pcie { | |||
| 67 | #define PHY_PLL_LOCK_WAIT_USLEEP_MAX 200 | 67 | #define PHY_PLL_LOCK_WAIT_USLEEP_MAX 200 |
| 68 | 68 | ||
| 69 | /* PCIe Root Complex registers (memory-mapped) */ | 69 | /* PCIe Root Complex registers (memory-mapped) */ |
| 70 | #define PCIE_RC_IMX6_MSI_CAP 0x50 | ||
| 70 | #define PCIE_RC_LCR 0x7c | 71 | #define PCIE_RC_LCR 0x7c |
| 71 | #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN1 0x1 | 72 | #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN1 0x1 |
| 72 | #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN2 0x2 | 73 | #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN2 0x2 |
| @@ -848,6 +849,7 @@ static int imx6_pcie_probe(struct platform_device *pdev) | |||
| 848 | struct resource *dbi_base; | 849 | struct resource *dbi_base; |
| 849 | struct device_node *node = dev->of_node; | 850 | struct device_node *node = dev->of_node; |
| 850 | int ret; | 851 | int ret; |
| 852 | u16 val; | ||
| 851 | 853 | ||
| 852 | imx6_pcie = devm_kzalloc(dev, sizeof(*imx6_pcie), GFP_KERNEL); | 854 | imx6_pcie = devm_kzalloc(dev, sizeof(*imx6_pcie), GFP_KERNEL); |
| 853 | if (!imx6_pcie) | 855 | if (!imx6_pcie) |
| @@ -989,6 +991,14 @@ static int imx6_pcie_probe(struct platform_device *pdev) | |||
| 989 | if (ret < 0) | 991 | if (ret < 0) |
| 990 | return ret; | 992 | return ret; |
| 991 | 993 | ||
| 994 | if (pci_msi_enabled()) { | ||
| 995 | val = dw_pcie_readw_dbi(pci, PCIE_RC_IMX6_MSI_CAP + | ||
| 996 | PCI_MSI_FLAGS); | ||
| 997 | val |= PCI_MSI_FLAGS_ENABLE; | ||
| 998 | dw_pcie_writew_dbi(pci, PCIE_RC_IMX6_MSI_CAP + PCI_MSI_FLAGS, | ||
| 999 | val); | ||
| 1000 | } | ||
| 1001 | |||
| 992 | return 0; | 1002 | return 0; |
| 993 | } | 1003 | } |
| 994 | 1004 | ||
