linux/arch/arm/include/asm/mach
Thomas Petazzoni 029baf14a0 ARM: 7683/1: pci: add a align_resource hook
The PCI specifications says that an I/O region must be aligned on a 4
KB boundary, and a memory region aligned on a 1 MB boundary.

However, the Marvell PCIe interfaces rely on address decoding windows
(which allow to associate a range of physical addresses with a given
device). For PCIe memory windows, those windows are defined with a 1
MB granularity (which matches the PCI specs), but PCIe I/O windows can
only be defined with a 64 KB granularity, so they have to be 64 KB
aligned. We therefore need to tell the PCI core about this special
alignement requirement.

The PCI core already calls pcibios_align_resource() in the ARM PCI
core, specifically for such purposes. So this patch extends the ARM
PCI core so that it calls a ->align_resource() hook registered by the
PCI driver, exactly like the existing ->map_irq() and ->swizzle()
hooks.

A particular PCI driver can register a align_resource() hook, and do
its own specific alignement, depending on the specific constraints of
the underlying hardware.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-04-03 16:56:11 +01:00
..
arch.h ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
dma.h [ARM] dma: move IOMD and floppy DMA structures to RiscPC DMA code 2009-02-21 21:36:22 +00:00
flash.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
irda.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
irq.h arm: add set_handle_irq() to register the parent IRQ controller handler function 2013-01-10 11:44:38 -06:00
map.h ARM: implement debug_ll_io_init() 2012-11-05 09:35:59 -08:00
pci.h ARM: 7683/1: pci: add a align_resource hook 2013-04-03 16:56:11 +01:00
sharpsl_param.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
time.h ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00