Re: [PATCH v2 3/3] drm/panfrost: Add initial panfrost driver
From: Robin Murphy
Date: Tue Apr 02 2019 - 07:23:33 EST
On 02/04/2019 01:33, Alyssa Rosenzweig wrote:
the userspace definitely doesn't support T624
This is true, yes. Shouldn't be too hard to backport; if there's still
interest in Midgard 1st/2nd gen, I suppose I can grab hardware and sort
it out...
I'm quite likely the only person trying this on an Arm Juno board, and
even then it's really only for giggles because I can :) I guess there
might be a fair few Odroid-XU3/XU4 (T628) users interested, though.
You probably want a dma_set_mask_and_coherent() call for your 'real' output
address size somewhere - the default 32-bit mask works out OK for RK3399,
but on systems with RAM above 4GB io-pgtable will get very unhappy about DMA
bounce-buffering.
Out of curiosity, are there Mali systems with >4GB RAM? That sounds
awesome :)
Now that the "early-access Armv8 silicon" angle has well and truly
expired, Juno is essentially a prototyping platform where the SoC just
serves to (slowly) drive interesting things in FPGA cards, so although
it may have 8GB of RAM, it's not all that exciting. There is one
somewhat more realistic board I'm aware of, namely HiKey 970 with a G72
and 6GB.
Any chance of resurrecting the generic "arm,mali-midgard" compatible? :P
...Would that require editing everybody's DT file?
If they already have one of the strings from the current upstream
binding, no - I only mean to suggest adding it as an additional
last-level fallback. That would aid compatibility with downstream DTs,
for example RK3288 which currently has zero overlap:
upstream: "rockchip,rk3288-mali", "arm,mali-t760";
downstream: "arm,malit764", "arm,malit76x", "arm,malit7xx",
"arm,mali-midgard";
Similarly, it might be reasonable for panfrost_{gpu,mmu,job}_init() to
retry platform_get_irq_byname() with uppercase interrupt names if the
expected ones aren't found - obviously the upstream binding comes first
and foremost, but I don't see any harm in quietly supporting bits of the
downstream binding if it makes users' lives easier when switching
between mainline and vendor kernels.
Cheers,
Robin.