linux_dsm_epyc7002/arch/sh/drivers/pci
Thomas Petazzoni 79e1c5e70b arch/sh: pcie-sh7786: adjust the memory mapping
The code setting up the PCI -> SuperHighway mapping doesn't take into
account the fact that the address stored in PCIELARx must be aligned
with the size stored in PCIELAMRx.

For example, when your physical memory starts at 0x0800_0000 (128 MB),
a size of 64 MB or 128 MB is fine. However, if you have 256 MB of
memory, it doesn't work because the base address is not aligned on the
size.

In such situation, we have to round down the base address to make sure
it is aligned on the size of the area. For for a 0x0800_0000 base
address with 256 MB of memory, we will round down to 0x0, and extend
the size of the mapping to 512 MB.

This allows the mapping to work on platforms that have 256 MB of
RAM. The current setup would only work with 128 MB of RAM or less.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Rich Felker <dalias@libc.org>
2018-04-12 19:47:58 -04:00
..
common.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
fixups-cayman.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fixups-dreamcast.c dma-mapping updates for 4.14: 2017-09-12 13:30:06 -07:00
fixups-landisk.c sh: legacy PCI evt2irq migration. 2012-05-18 17:42:29 +09:00
fixups-r7780rp.c sh/PCI: Remove __init optimisations from IRQ mapping functions/data 2017-08-03 16:21:31 -05:00
fixups-rts7751r2d.c sh/PCI: Remove __init optimisations from IRQ mapping functions/data 2017-08-03 16:21:31 -05:00
fixups-sdk7780.c sh/PCI: Remove __init optimisations from IRQ mapping functions/data 2017-08-03 16:21:31 -05:00
fixups-sdk7786.c sh/PCI: adjust section annotations for pcibios_setup() 2012-07-05 15:09:13 -06:00
fixups-se7751.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fixups-sh03.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fixups-snapgear.c sh/PCI: Remove __init optimisations from IRQ mapping functions/data 2017-08-03 16:21:31 -05:00
fixups-titan.c sh/PCI: Remove __init optimisations from IRQ mapping functions/data 2017-08-03 16:21:31 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ops-dreamcast.c
ops-sh4.c sh: pci: Use a generic raw spinlock for PCI config access locking. 2010-09-20 18:56:13 +09:00
ops-sh5.c PCI: Remove unnecessary #includes of <asm/pci.h> 2015-06-08 07:56:09 -05:00
ops-sh7786.c sh: pci: Use a generic raw spinlock for PCI config access locking. 2010-09-20 18:56:13 +09:00
pci-dreamcast.c
pci-sh4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci-sh5.c PCI: Remove unnecessary #includes of <asm/pci.h> 2015-06-08 07:56:09 -05:00
pci-sh5.h
pci-sh7751.c sh: Fix typos in PCI initialization message 2010-06-23 09:09:56 +01:00
pci-sh7751.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pci-sh7780.c SH: pci-sh7780: enable big-endian operation. 2012-03-28 14:28:30 +09:00
pci-sh7780.h sh: pci: Move Renesas PCI IDs to a better place. 2010-09-20 15:37:25 +09:00
pci.c arch/sh: pci: don't use disabled resources 2018-04-12 19:47:54 -04:00
pcie-sh7786.c arch/sh: pcie-sh7786: adjust the memory mapping 2018-04-12 19:47:58 -04:00
pcie-sh7786.h arch/sh/drivers/pci/pcie-sh7786.h: remove duplicate SH4A_PCIEPHYCTLR 2014-04-03 16:20:53 -07:00