From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Rob Clark <robdclark@gmail.com>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Sean Paul <sean@poorly.run>, David Airlie <airlied@gmail.com>,
Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>
Cc: Marijn Suijten <marijn.suijten@somainline.org>,
linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
freedreno@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Neil Armstrong <neil.armstrong@linaro.org>
Subject: [PATCH v2 00/14] A7xx support
Date: Tue, 08 Aug 2023 23:02:38 +0200 [thread overview]
Message-ID: <20230628-topic-a7xx_drmmsm-v2-0-1439e1b2343f@linaro.org> (raw)
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>
---
Changes in v2:
- Rebase on chipid changes
- Reuse existing description for qcom,aoss in patch 2
- Pick up tags
- Link to v1: https://lore.kernel.org/r/20230628-topic-a7xx_drmmsm-v1-0-a7f4496e0c12@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
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 | 204 +++++--
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 | 667 ++++++++++++++++++---
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 | 30 +
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 7 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 28 +-
drivers/gpu/drm/msm/msm_ringbuffer.h | 2 +
15 files changed, 1094 insertions(+), 133 deletions(-)
---
base-commit: b30de2c05cf2166f4e2c68850efc8dcea1c89780
change-id: 20230628-topic-a7xx_drmmsm-123f30d76cf7
Best regards,
--
Konrad Dybcio <konrad.dybcio@linaro.org>
next reply other threads:[~2023-08-08 21:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-08 21:02 Konrad Dybcio [this message]
2023-08-08 21:02 ` [PATCH v2 01/14] dt-bindings: display/msm/gmu: Add Adreno 7[34]0 GMU Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 02/14] dt-bindings: display/msm/gmu: Allow passing QMP handle Konrad Dybcio
2023-08-15 5:43 ` Krzysztof Kozlowski
2023-08-08 21:02 ` [PATCH v2 03/14] dt-bindings: display/msm/gpu: Allow A7xx SKUs Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 04/14] drm/msm/a6xx: Add missing regs for A7XX Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 05/14] drm/msm/a6xx: Introduce a6xx_llc_read Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 06/14] drm/msm/a6xx: Move LLC accessors to the common header Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 07/14] drm/msm/a6xx: Bail out early if setting GPU OOB fails Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 08/14] drm/msm/a6xx: Add skeleton A7xx support Konrad Dybcio
2023-08-14 20:59 ` Rob Clark
2023-08-08 21:02 ` [PATCH v2 09/14] drm/msm/a6xx: Send ACD state to QMP at GMU resume Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 10/14] drm/msm/a6xx: Mostly implement A7xx gpu_state Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 11/14] drm/msm/a6xx: Add A730 support Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 12/14] drm/msm/a6xx: Add A740 support Konrad Dybcio
2023-08-08 21:02 ` [PATCH v2 13/14] drm/msm/a6xx: Vastly increase HFI timeout Konrad Dybcio
2023-08-09 22:15 ` Rob Clark
2023-08-08 21:02 ` [PATCH v2 14/14] drm/msm/a6xx: Poll for GBIF unhalt status in hw_init Konrad Dybcio
2023-08-09 22:08 ` [PATCH v2 00/14] A7xx support Rob Clark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230628-topic-a7xx_drmmsm-v2-0-1439e1b2343f@linaro.org \
--to=konrad.dybcio@linaro.org \
--cc=airlied@gmail.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=neil.armstrong@linaro.org \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sean@poorly.run \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).