On Wed, 14 Apr 2021 12:41:20 +0100,
Peter Geis <pgwipeout@xxxxxxxxx> wrote:
On Tue, Apr 13, 2021 at 11:51 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:ZONE_DMA{,32} aren't necessarily selected, and can vary in size (some
On Tue, 13 Apr 2021 16:03:51 +0100,From what I've read, GFP_DMA allocates as low as possible, while
Peter Geis <pgwipeout@xxxxxxxxx> wrote:
On Tue, Apr 13, 2021 at 10:01 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:[...]
The problem is that GFP_DMA doesn't always mean the same thing.What happens if you hack all the allocations to happen in the low 4GBIt seems to work correctly.
of the PA space?
The downstream hacks used GFP_DMA32 which gets discarded by
kmalloc_fix_flags on certain allocations.
Switching to GFP_DMA seems to have satisfied it, but it feels wrong
using this code.
Need to check the corner cases to make sure I'm not missing something.
Overall, we need to hear from Rockchip about the exact nature of the
problem, and then we *may* be able to work something out.
GFP_DMA32 ensures it's in the 32 bit address range, am I understanding
this correctly?
equally broken systems can only DMA over 30bits...).
Is there a reason GFP_DMA is permitted while GFP_DMA32 is not, asideThey are completely independent, and they can either be selected or
from backwards compatibility? (I saw the notes about how we aren't
really supposed to rely on these flags)
not. And plenty of systems do not have any memory in the low
4GB. FWIW, one of my main machines has its first byte of RAM at 1TB.
Which means that supporting this system is going to require some very
specific handling.
I've also confirmed that their disabling shareability and caching isConfirmed how? For which tables? We really cannot guess this kind of
necessary.
thing.
OK. Please let me know once you get a full description of the problemI'd also like to understand whether it is broken because you happen toMy understanding is these chips are samples prior to the full
have pre-release silicon that will never make it into the wild, or if
this is the real thing that is going to ship on millions of devices.
production run, but we are waiting on official comment from Rockchip
about this particular errata.
from Rockchip. We will also need an official erratum number for this
if this is to be worked around in mainline.
M.