eeedcea69e
"CoreLink Level 2 Cache Controller L2C-310", p. 2-15, section 2.3.2
Shareable attribute" states:
"The default behavior of the cache controller with respect to the
shareable attribute is to transform Normal Memory Non-cacheable
transactions into:
- cacheable no allocate for reads
- write through no write allocate for writes."
Depending on the system architecture, this may cause memory corruption
in the presence of bus mastering devices (e.g. OHCI). To avoid such
corruption, the default behavior can be disabled by setting the Shared
Override bit in the Auxiliary Control register.
Currently the Shared Override bit can be set only using C code:
- by calling l2x0_init() directly, which is deprecated,
- by setting/clearing the bit in the machine_desc.l2c_aux_val/mask
fields, but using values differing from 0/~0 is also deprecated.
Hence add support for an "arm,shared-override" device tree property for
the l2c device node. By specifying this property, affected systems can
indicate that non-cacheable transactions must not be transformed.
Then, it's up to the OS to decide. The current behavior is to set the
"shared attribute override enable" bit, as there may exist kernel linear
mappings and cacheable aliases for the DMA buffers, even if CMA is
enabled.
See also commit
|
||
---|---|---|
.. | ||
arc | ||
arm | ||
ata | ||
bus | ||
c6x | ||
clock | ||
cpufreq | ||
cris | ||
crypto | ||
devfreq/event | ||
dma | ||
drm | ||
edac | ||
extcon | ||
fb | ||
fpga | ||
fuse | ||
gpio | ||
gpu | ||
h8300 | ||
hid | ||
hsi | ||
hwlock | ||
hwmon | ||
hwrng | ||
i2c | ||
iio | ||
input | ||
interrupt-controller | ||
iommu | ||
leds | ||
lpddr2 | ||
mailbox | ||
media | ||
memory-controllers | ||
metag | ||
mfd | ||
mipi | ||
mips | ||
misc | ||
mmc | ||
mtd | ||
net | ||
nios2 | ||
nvec | ||
panel | ||
pci | ||
phy | ||
pinctrl | ||
power | ||
power_supply | ||
powerpc | ||
pps | ||
pwm | ||
regmap | ||
regulator | ||
remoteproc | ||
reserved-memory | ||
reset | ||
rng | ||
rtc | ||
security/tpm | ||
serial | ||
serio | ||
soc | ||
sound | ||
spi | ||
spmi | ||
staging/iio/adc | ||
thermal | ||
timer | ||
ufs | ||
usb | ||
video | ||
virtio | ||
w1 | ||
watchdog | ||
x86 | ||
xillybus | ||
ABI.txt | ||
btmrvl.txt | ||
chosen.txt | ||
common-properties.txt | ||
eeprom.txt | ||
graph.txt | ||
marvell.txt | ||
open-pic.txt | ||
resource-names.txt | ||
submitting-patches.txt | ||
unittest.txt | ||
vendor-prefixes.txt | ||
xilinx.txt |