Merge branch 'pci/imx6'
- Enable MSI for imx6 downstream components (Richard Zhu) * pci/imx6: PCI: imx: Enable MSI from downstream components
This commit is contained in:
		
						commit
						72199051af
					
				| @ -74,6 +74,7 @@ struct imx6_pcie { | ||||
| #define PHY_PLL_LOCK_WAIT_USLEEP_MAX	200 | ||||
| 
 | ||||
| /* PCIe Root Complex registers (memory-mapped) */ | ||||
| #define PCIE_RC_IMX6_MSI_CAP			0x50 | ||||
| #define PCIE_RC_LCR				0x7c | ||||
| #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN1	0x1 | ||||
| #define PCIE_RC_LCR_MAX_LINK_SPEEDS_GEN2	0x2 | ||||
| @ -926,6 +927,7 @@ static int imx6_pcie_probe(struct platform_device *pdev) | ||||
| 	struct resource *dbi_base; | ||||
| 	struct device_node *node = dev->of_node; | ||||
| 	int ret; | ||||
| 	u16 val; | ||||
| 
 | ||||
| 	imx6_pcie = devm_kzalloc(dev, sizeof(*imx6_pcie), GFP_KERNEL); | ||||
| 	if (!imx6_pcie) | ||||
| @ -1071,6 +1073,14 @@ static int imx6_pcie_probe(struct platform_device *pdev) | ||||
| 	if (ret < 0) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	if (pci_msi_enabled()) { | ||||
| 		val = dw_pcie_readw_dbi(pci, PCIE_RC_IMX6_MSI_CAP + | ||||
| 					PCI_MSI_FLAGS); | ||||
| 		val |= PCI_MSI_FLAGS_ENABLE; | ||||
| 		dw_pcie_writew_dbi(pci, PCIE_RC_IMX6_MSI_CAP + PCI_MSI_FLAGS, | ||||
| 				   val); | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user