Commit dd422a6f authored by Bjorn Helgaas's avatar Bjorn Helgaas

Merge branch 'pci/host-xgene' into next

* pci/host-xgene:
  PCI: xgene: Clean up whitespace
  PCI: xgene: Define XGENE_PCI_EXP_CAP and use generic PCI_EXP_RTCTL offset
  PCI: xgene: Fix platform_get_irq() error handling
parents e9e256df fca4848b
...@@ -489,7 +489,7 @@ static int xgene_msi_probe(struct platform_device *pdev) ...@@ -489,7 +489,7 @@ static int xgene_msi_probe(struct platform_device *pdev)
if (virt_msir < 0) { if (virt_msir < 0) {
dev_err(&pdev->dev, "Cannot translate IRQ index %d\n", dev_err(&pdev->dev, "Cannot translate IRQ index %d\n",
irq_index); irq_index);
rc = -EINVAL; rc = virt_msir;
goto error; goto error;
} }
xgene_msi->msi_groups[irq_index].gic_irq = virt_msir; xgene_msi->msi_groups[irq_index].gic_irq = virt_msir;
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
#define SZ_1T (SZ_1G*1024ULL) #define SZ_1T (SZ_1G*1024ULL)
#define PIPE_PHY_RATE_RD(src) ((0xc000 & (u32)(src)) >> 0xe) #define PIPE_PHY_RATE_RD(src) ((0xc000 & (u32)(src)) >> 0xe)
#define ROOT_CAP_AND_CTRL 0x5C #define XGENE_V1_PCI_EXP_CAP 0x40
/* PCIe IP version */ /* PCIe IP version */
#define XGENE_PCIE_IP_VER_UNKN 0 #define XGENE_PCIE_IP_VER_UNKN 0
...@@ -160,7 +160,7 @@ static bool xgene_pcie_hide_rc_bars(struct pci_bus *bus, int offset) ...@@ -160,7 +160,7 @@ static bool xgene_pcie_hide_rc_bars(struct pci_bus *bus, int offset)
} }
static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn, static void __iomem *xgene_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
int offset) int offset)
{ {
if ((pci_is_root_bus(bus) && devfn != 0) || if ((pci_is_root_bus(bus) && devfn != 0) ||
xgene_pcie_hide_rc_bars(bus, offset)) xgene_pcie_hide_rc_bars(bus, offset))
...@@ -189,7 +189,7 @@ static int xgene_pcie_config_read32(struct pci_bus *bus, unsigned int devfn, ...@@ -189,7 +189,7 @@ static int xgene_pcie_config_read32(struct pci_bus *bus, unsigned int devfn,
* Avoid this by not claiming to support CRS. * Avoid this by not claiming to support CRS.
*/ */
if (pci_is_root_bus(bus) && (port->version == XGENE_PCIE_IP_VER_1) && if (pci_is_root_bus(bus) && (port->version == XGENE_PCIE_IP_VER_1) &&
((where & ~0x3) == ROOT_CAP_AND_CTRL)) ((where & ~0x3) == XGENE_V1_PCI_EXP_CAP + PCI_EXP_RTCTL))
*val &= ~(PCI_EXP_RTCAP_CRSVIS << 16); *val &= ~(PCI_EXP_RTCAP_CRSVIS << 16);
if (size <= 2) if (size <= 2)
...@@ -265,12 +265,12 @@ static int xgene_v1_pcie_ecam_init(struct pci_config_window *cfg) ...@@ -265,12 +265,12 @@ static int xgene_v1_pcie_ecam_init(struct pci_config_window *cfg)
} }
struct pci_ecam_ops xgene_v1_pcie_ecam_ops = { struct pci_ecam_ops xgene_v1_pcie_ecam_ops = {
.bus_shift = 16, .bus_shift = 16,
.init = xgene_v1_pcie_ecam_init, .init = xgene_v1_pcie_ecam_init,
.pci_ops = { .pci_ops = {
.map_bus = xgene_pcie_map_bus, .map_bus = xgene_pcie_map_bus,
.read = xgene_pcie_config_read32, .read = xgene_pcie_config_read32,
.write = pci_generic_config_write, .write = pci_generic_config_write,
} }
}; };
...@@ -280,12 +280,12 @@ static int xgene_v2_pcie_ecam_init(struct pci_config_window *cfg) ...@@ -280,12 +280,12 @@ static int xgene_v2_pcie_ecam_init(struct pci_config_window *cfg)
} }
struct pci_ecam_ops xgene_v2_pcie_ecam_ops = { struct pci_ecam_ops xgene_v2_pcie_ecam_ops = {
.bus_shift = 16, .bus_shift = 16,
.init = xgene_v2_pcie_ecam_init, .init = xgene_v2_pcie_ecam_init,
.pci_ops = { .pci_ops = {
.map_bus = xgene_pcie_map_bus, .map_bus = xgene_pcie_map_bus,
.read = xgene_pcie_config_read32, .read = xgene_pcie_config_read32,
.write = pci_generic_config_write, .write = pci_generic_config_write,
} }
}; };
#endif #endif
...@@ -318,7 +318,7 @@ static u64 xgene_pcie_set_ib_mask(struct xgene_pcie_port *port, u32 addr, ...@@ -318,7 +318,7 @@ static u64 xgene_pcie_set_ib_mask(struct xgene_pcie_port *port, u32 addr,
} }
static void xgene_pcie_linkup(struct xgene_pcie_port *port, static void xgene_pcie_linkup(struct xgene_pcie_port *port,
u32 *lanes, u32 *speed) u32 *lanes, u32 *speed)
{ {
u32 val32; u32 val32;
...@@ -593,8 +593,7 @@ static void xgene_pcie_clear_config(struct xgene_pcie_port *port) ...@@ -593,8 +593,7 @@ static void xgene_pcie_clear_config(struct xgene_pcie_port *port)
xgene_pcie_writel(port, i, 0); xgene_pcie_writel(port, i, 0);
} }
static int xgene_pcie_setup(struct xgene_pcie_port *port, static int xgene_pcie_setup(struct xgene_pcie_port *port, struct list_head *res,
struct list_head *res,
resource_size_t io_base) resource_size_t io_base)
{ {
struct device *dev = port->dev; struct device *dev = port->dev;
...@@ -706,9 +705,9 @@ static const struct of_device_id xgene_pcie_match_table[] = { ...@@ -706,9 +705,9 @@ static const struct of_device_id xgene_pcie_match_table[] = {
static struct platform_driver xgene_pcie_driver = { static struct platform_driver xgene_pcie_driver = {
.driver = { .driver = {
.name = "xgene-pcie", .name = "xgene-pcie",
.of_match_table = of_match_ptr(xgene_pcie_match_table), .of_match_table = of_match_ptr(xgene_pcie_match_table),
.suppress_bind_attrs = true, .suppress_bind_attrs = true,
}, },
.probe = xgene_pcie_probe_bridge, .probe = xgene_pcie_probe_bridge,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment