From: Connor Abbott <cwabbott0@gmail.com>
To: Rob Clark <robdclark@gmail.com>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Sean Paul <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org
Cc: Connor Abbott <cwabbott0@gmail.com>
Subject: [PATCH 0/6] drm/msm: Support a750 "software fuse" for raytracing
Date: Thu, 25 Apr 2024 14:43:48 +0100 [thread overview]
Message-ID: <20240425134354.1233862-1-cwabbott0@gmail.com> (raw)
On a750, Qualcomm decided to gate support for certain features behind a
"software fuse." This consists of a register in the cx_mem zone, which
is normally only writeable by the TrustZone firmware. On bootup it is
0, and we must call an SCM method to initialize it. Then we communicate
its value to userspace. This implements all of this, copying the SCM
call from the downstream kernel and kgsl.
So far the only optional feature we use is ray tracing (i.e. the
"ray_intersection" instruction) in a pending Mesa MR [1], so that's what
we expose to userspace. There's one extra patch to write some missing
registers, which depends on the register XML bump but is otherwise
unrelated, I just included it to make things easier on myself.
The drm/msm part of this series depends on [2] to avoid conflicts.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447
[2] https://lore.kernel.org/all/20240324095222.ldnwumjkxk6uymmc@hu-akhilpo-hyd.qualcomm.com/T/
Connor Abbott (6):
arm64: dts: qcom: sm8650: Fix GPU cx_mem size
firmware: qcom_scm: Add gpu_init_regs call
drm/msm: Update a6xx registers
drm/msm/a7xx: Initialize a750 "software fuse"
drm/msm: Add MSM_PARAM_RAYTRACING uapi
drm/msm/a7xx: Add missing register writes from downstream
arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 +-
drivers/firmware/qcom/qcom_scm.c | 14 +++
drivers/firmware/qcom/qcom_scm.h | 3 +
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 97 ++++++++++++++++++-
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 +
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 +
drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 28 +++++-
include/linux/firmware/qcom/qcom_scm.h | 23 +++++
include/uapi/drm/msm_drm.h | 1 +
9 files changed, 168 insertions(+), 5 deletions(-)
--
2.31.1
next reply other threads:[~2024-04-25 13:44 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-25 13:43 Connor Abbott [this message]
2024-04-25 13:43 ` [PATCH 1/6] arm64: dts: qcom: sm8650: Fix GPU cx_mem size Connor Abbott
2024-04-25 13:43 ` [PATCH 3/6] drm/msm: Update a6xx registers Connor Abbott
2024-04-25 13:43 ` [PATCH 4/6] drm/msm/a7xx: Initialize a750 "software fuse" Connor Abbott
2024-04-25 23:02 ` Dmitry Baryshkov
2024-04-26 12:35 ` Connor Abbott
2024-04-26 12:54 ` Connor Abbott
2024-04-26 13:37 ` Dmitry Baryshkov
2024-04-26 13:31 ` Dmitry Baryshkov
2024-04-26 14:05 ` Connor Abbott
2024-04-26 14:53 ` Dmitry Baryshkov
2024-04-26 15:08 ` Connor Abbott
2024-04-26 15:24 ` Dmitry Baryshkov
2024-04-26 15:36 ` Connor Abbott
2024-04-26 15:38 ` Dmitry Baryshkov
2024-04-26 16:02 ` Rob Clark
2024-04-26 12:45 ` Rob Clark
2024-04-26 13:28 ` Dmitry Baryshkov
2024-04-25 13:43 ` [PATCH 5/6] drm/msm: Add MSM_PARAM_RAYTRACING uapi Connor Abbott
2024-04-25 23:03 ` Dmitry Baryshkov
2024-04-25 13:43 ` [PATCH 6/6] drm/msm/a7xx: Add missing register writes from downstream Connor Abbott
2024-04-25 15:03 ` [PATCH 0/6] drm/msm: Support a750 "software fuse" for raytracing Dmitry Baryshkov
2024-04-25 15:13 ` [PATCH 2/6] firmware: qcom_scm: Add gpu_init_regs call Connor Abbott
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=20240425134354.1233862-1-cwabbott0@gmail.com \
--to=cwabbott0@gmail.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=freedreno@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--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