34 lines
987 B
Diff
34 lines
987 B
Diff
|
commit e84634dc6c7f3f6af9b8ef1fb36f0d85c476ab95
|
||
|
Author: Tim Harvey <tharvey@gateworks.com>
|
||
|
Date: Thu Feb 27 01:02:23 2014 -0800
|
||
|
|
||
|
PCI: designware: add ability for custom swizzle
|
||
|
|
||
|
Add the ability for a platform driver to provide a platform-specific
|
||
|
swizzle function.
|
||
|
|
||
|
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||
|
|
||
|
--- a/drivers/pci/host/pcie-designware.c
|
||
|
+++ b/drivers/pci/host/pcie-designware.c
|
||
|
@@ -492,6 +492,9 @@ int __init dw_pcie_host_init(struct pcie
|
||
|
if (pp->ops->host_init)
|
||
|
pp->ops->host_init(pp);
|
||
|
|
||
|
+ if (pp->swizzle)
|
||
|
+ dw_pci.swizzle = pp->swizzle;
|
||
|
+
|
||
|
dw_pcie_wr_own_conf(pp, PCI_BASE_ADDRESS_0, 4, 0);
|
||
|
|
||
|
/* program correct class for RC */
|
||
|
--- a/drivers/pci/host/pcie-designware.h
|
||
|
+++ b/drivers/pci/host/pcie-designware.h
|
||
|
@@ -53,6 +53,7 @@ struct pcie_port {
|
||
|
struct irq_domain *irq_domain;
|
||
|
unsigned long msi_data;
|
||
|
DECLARE_BITMAP(msi_irq_in_use, MAX_MSI_IRQS);
|
||
|
+ u8 (*swizzle)(struct pci_dev *, u8 *);
|
||
|
};
|
||
|
|
||
|
struct pcie_host_ops {
|