[PATCH v2 0/2] arch/tile: PCI root complex support

From: Chris Metcalf
Date: Wed May 09 2012 - 11:55:58 EST


This is the second version of the patch series to add PCI root complex
support to the tilegx architecture. Again, I am cc'ing the change
that adds PCI support per-se to a wider audience.

This series incorporates feedback from Jesper Juhl, Arnd Bergmann, and
Bjorn Helgaas.

- Use pcie_bus_configure_settings(), pci_scan_root_bus(), and
pci_enable_resources().
- Use PCI_SLOT() and PCI_FUNC() as appropriate.
- Stop enabling PCI_COMMAND_IO, since we don't support I/O space yet.
- Use msleep() instead of mdelay()
- Machine-generated code (e.g. iorpc_trio.c) is now terser and more
human-readable.
- Some whitespace issues (e.g. " * " before a particular pointer, and
function return type on a line by itself too frequently) corrected.

We don't currently plan to add support for I/O space. We didn't implement
the kernel support in the RC driver, because only old, legacy devices use
PCI I/O space and it seems unlikely that our chip will end up having to
control one of these devices. Plus, supporting it costs one of 8 total
TRIO PIO regions, which are in short supply. But this is secondary;
we'll add support if needed in the future.

arch/tile/Kconfig | 3 +
arch/tile/gxio/Kconfig | 6 +
arch/tile/gxio/Makefile | 1 +
arch/tile/gxio/iorpc_trio.c | 307 +++++
arch/tile/gxio/trio.c | 49 +
arch/tile/include/arch/trio.h | 72 ++
arch/tile/include/arch/trio_constants.h | 36 +
arch/tile/include/arch/trio_def.h | 41 +
arch/tile/include/arch/trio_pcie_intfc.h | 229 ++++
arch/tile/include/arch/trio_pcie_intfc_def.h | 32 +
arch/tile/include/arch/trio_pcie_rc.h | 156 +++
arch/tile/include/arch/trio_pcie_rc_def.h | 24 +
arch/tile/include/arch/trio_shm.h | 125 ++
arch/tile/include/arch/trio_shm_def.h | 19 +
arch/tile/include/asm/pci.h | 99 ++-
arch/tile/include/gxio/iorpc_trio.h | 97 ++
arch/tile/include/gxio/trio.h | 304 +++++
arch/tile/include/hv/drv_trio_intf.h | 195 ++++
arch/tile/kernel/Makefile | 4 +
arch/tile/kernel/pci_gx.c | 1545 ++++++++++++++++++++++++++
arch/tile/kernel/setup.c | 6 +
arch/tile/mm/pgtable.c | 7 -
drivers/pci/quirks.c | 6 +-
23 files changed, 3363 insertions(+), 20 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/