Messages in this thread | | | Date | Thu, 3 Aug 2023 10:48:03 +0200 | Subject | Re: [PATCH 00/14] A7xx support | From | Neil Armstrong <> |
| |
On 28/06/2023 22:35, Konrad Dybcio wrote: > This series attempts to introduce Adreno 700 support (with A730 and A740 > found on SM8450 and SM8550 respectively), reusing much of the existing > A6xx code. This submission largely lays the groundwork for expansion and > more or less gives us feature parity (on the kernel side, that is) with > existing A6xx parts. > > On top of introducing a very messy set of three (!) separate and > obfuscated deivce identifiers for each 7xx part, this generation > introduces very sophisticated hardware multi-threading and (on some SKUs) > hardware ray-tracing (not supported yet). > > After this series, a long-overdue cleanup of drm/msm/adreno is planned > in preparation for adding more features and removing some hardcoding. > > The last patch is a hack that may or may not be necessary depending > on your board's humour.. eh.. :/ > > Developed atop (and hence depends on) [1] > > The corresponding devicetree patches are initially available at [2] and > will be posted after this series gets merged. To test it, you'll also need > firmware that you need to obtain from your board (there's none with a > redistributable license, sorry..). Most likely it will be in one of > these directories on your stock android installation: > > * /vendor/firmware > * /vendor/firmware_mnt > * /system > > ..but some vendors make it hard and you have to do some grepping ;) > > Requires [3] to work on the userspace side. You'll almost cerainly want > to test it alongside Zink with a lot of debug flags (early impl), like: > > TU_DEBUG=sysmem,nolrz,flushall,noubwc MESA_LOADER_DRIVER_OVERRIDE=zink kmscube > > [1] https://lore.kernel.org/linux-arm-msm/20230517-topic-a7xx_prep-v4-0-b16f273a91d4@linaro.org/ > [2] https://github.com/SoMainline/linux/commits/topic/a7xx_dt > [3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23217 > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > Konrad Dybcio (14): > dt-bindings: display/msm/gmu: Add Adreno 7[34]0 GMU > dt-bindings: display/msm/gmu: Allow passing QMP handle > dt-bindings: display/msm/gpu: Allow A7xx SKUs > drm/msm/a6xx: Add missing regs for A7XX > drm/msm/a6xx: Introduce a6xx_llc_read > drm/msm/a6xx: Move LLC accessors to the common header > drm/msm/a6xx: Bail out early if setting GPU OOB fails > drm/msm/a6xx: Add skeleton A7xx support > drm/msm/a6xx: Send ACD state to QMP at GMU resume > drm/msm/a6xx: Mostly implement A7xx gpu_state > drm/msm/a6xx: Add A730 support > drm/msm/a6xx: Add A740 support > drm/msm/a6xx: Vastly increase HFI timeout > [RFC] drm/msm/a6xx: Poll for GBIF unhalt status in hw_init > > .../devicetree/bindings/display/msm/gmu.yaml | 47 +- > .../devicetree/bindings/display/msm/gpu.yaml | 4 +- > drivers/gpu/drm/msm/adreno/a6xx.xml.h | 9 + > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 188 ++++-- > drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 3 + > drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h | 8 + > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 658 ++++++++++++++++++--- > drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 15 + > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 52 +- > drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 61 +- > drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 90 ++- > drivers/gpu/drm/msm/adreno/adreno_device.c | 26 + > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 7 +- > drivers/gpu/drm/msm/adreno/adreno_gpu.h | 24 +- > drivers/gpu/drm/msm/msm_ringbuffer.h | 2 + > 15 files changed, 1070 insertions(+), 124 deletions(-) > --- > base-commit: 6f9b660e9cbb30669fcfec83288d527c0844717d > change-id: 20230628-topic-a7xx_drmmsm-123f30d76cf7 > > Best regards,
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
| |