https://github.com/torvalds/linux
Revision 79e1c5e70b2a0fadb7b61c69de8442703e7d0dc4 authored by Thomas Petazzoni on 04 December 2017, 15:09:06 UTC, committed by Rich Felker on 12 April 2018, 23:47:58 UTC
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>
1 parent 5da1bb9
History
Tip revision: 79e1c5e70b2a0fadb7b61c69de8442703e7d0dc4 authored by Thomas Petazzoni on 04 December 2017, 15:09:06 UTC
arch/sh: pcie-sh7786: adjust the memory mapping
Tip revision: 79e1c5e
File Mode Size
Documentation
LICENSES
arch
block
certs
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.cocciconfig -rw-r--r-- 59 bytes
.get_maintainer.ignore -rw-r--r-- 31 bytes
.gitattributes -rw-r--r-- 30 bytes
.gitignore -rw-r--r-- 1.5 KB
.mailmap -rw-r--r-- 8.9 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 96.2 KB
Kbuild -rw-r--r-- 2.2 KB
Kconfig -rw-r--r-- 287 bytes
MAINTAINERS -rw-r--r-- 436.3 KB
Makefile -rw-r--r-- 60.6 KB
README -rw-r--r-- 722 bytes

README

back to top