From: Akhil P Oommen <quic_akhilpo@quicinc.com>
To: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
"Konrad Dybcio" <konradybcio@kernel.org>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Marijn Suijten <marijn.suijten@somainline.org>,
David Airlie <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
Viresh Kumar <vireshk@kernel.org>, Nishanth Menon <nm@ti.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Akhil P Oommen <quic_akhilpo@quicinc.com>,
Bjorn Andersson <andersson@kernel.org>,
Maya Matuszczyk <maccraft123mc@gmail.com>
Cc: <linux-arm-msm@vger.kernel.org>,
<dri-devel@lists.freedesktop.org>,
<freedreno@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
<linux-pm@vger.kernel.org>, <devicetree@vger.kernel.org>,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: [PATCH v4 0/7] Support for GPU ACD feature on Adreno X1-85
Date: Thu, 9 Jan 2025 02:09:56 +0530 [thread overview]
Message-ID: <20250109-gpu-acd-v4-0-08a5efaf4a23@quicinc.com> (raw)
This series adds support for ACD feature for Adreno GPU which helps to
lower the power consumption on GX rail and also sometimes is a requirement
to enable higher GPU frequencies. At high level, following are the
sequences required for ACD feature:
1. Identify the ACD level data for each regulator corner
2. Send a message to AOSS to switch voltage plan
3. Send a table with ACD level information to GMU during every
gpu wake up
For (1), it is better to keep ACD level data in devicetree because this
value depends on the process node, voltage margins etc which are
chipset specific. For instance, same GPU HW IP on a different chipset
would have a different set of values. So, a new schema which extends
opp-v2 is created to add a new property called "qcom,opp-acd-level".
ACD support is dynamically detected based on the presence of
"qcom,opp-acd-level" property in GPU's opp table. Also, qmp node should be
present under GMU node in devicetree for communication with AOSS.
The devicetree patch in this series adds the acd-level data for X1-85
GPU present in Snapdragon X1 Elite chipset.
The last two devicetree patches are for Bjorn and all the rest for
Rob Clark.
---
Changes in v4:
- Send correct acd data via hfi (Neil)
- Fix dt-bindings error
- Fix IB vote for the 1.1Ghz OPP
- New patch#2 to fix the HFI timeout error seen when ACD is enabled
- Link to v3: https://lore.kernel.org/r/20241231-gpu-acd-v3-0-3ba73660e9ca@quicinc.com
Changes in v3:
- Rebased on top of v6.13-rc4 since X1E doesn't boot properly with msm-next
- Update patternProperties regex (Krzysztof)
- Update MAINTAINERS file include the new opp-v2-qcom-adreno.yaml
- Update the new dt properties' description
- Do not move qmp_get() to acd probe (Konrad)
- New patches: patch#2, #3 and #6
- Link to v2: https://lore.kernel.org/r/20241021-gpu-acd-v2-0-9c25a62803bc@quicinc.com
Changes in v2:
- Removed RFC tag for the series
- Improve documentation for the new dt bindings (Krzysztof)
- Add fallback compatible string for opp-table (Krzysztof)
- Link to v1: https://lore.kernel.org/r/20241012-gpu-acd-v1-0-1e5e91aa95b6@quicinc.com
---
Akhil P Oommen (7):
drm/msm/adreno: Add support for ACD
drm/msm/a6xx: Increase HFI response timeout
drm/msm: a6x: Rework qmp_get() error handling
drm/msm/adreno: Add module param to disable ACD
dt-bindings: opp: Add v2-qcom-adreno vendor bindings
arm64: dts: qcom: x1e80100: Add ACD levels for GPU
arm64: dts: qcom: x1e80100: Add OPPs up to Turbo L3 for GPU
.../bindings/opp/opp-v2-qcom-adreno.yaml | 97 ++++++++++++++++++++++
MAINTAINERS | 1 +
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 27 +++++-
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 96 ++++++++++++++++++---
drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 1 +
drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 38 ++++++++-
drivers/gpu/drm/msm/adreno/a6xx_hfi.h | 21 +++++
drivers/gpu/drm/msm/adreno/adreno_device.c | 4 +
8 files changed, 270 insertions(+), 15 deletions(-)
---
base-commit: dbfac60febfa806abb2d384cb6441e77335d2799
change-id: 20240724-gpu-acd-6c1dc5dcf516
Best regards,
--
Akhil P Oommen <quic_akhilpo@quicinc.com>
next reply other threads:[~2025-01-08 20:40 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-08 20:39 Akhil P Oommen [this message]
2025-01-08 20:39 ` [PATCH v4 1/7] drm/msm/adreno: Add support for ACD Akhil P Oommen
2025-01-09 7:53 ` neil.armstrong
2025-01-08 20:39 ` [PATCH v4 2/7] drm/msm/a6xx: Increase HFI response timeout Akhil P Oommen
2025-01-09 7:54 ` neil.armstrong
2025-01-09 11:28 ` Akhil P Oommen
2025-01-08 20:39 ` [PATCH v4 3/7] drm/msm: a6x: Rework qmp_get() error handling Akhil P Oommen
2025-01-08 20:40 ` [PATCH v4 4/7] drm/msm/adreno: Add module param to disable ACD Akhil P Oommen
2025-01-09 13:18 ` Konrad Dybcio
2025-01-08 20:40 ` [PATCH v4 5/7] dt-bindings: opp: Add v2-qcom-adreno vendor bindings Akhil P Oommen
2025-01-08 21:23 ` Rob Herring (Arm)
2025-01-09 8:06 ` Krzysztof Kozlowski
2025-01-09 13:13 ` Akhil P Oommen
2025-01-09 16:15 ` Krzysztof Kozlowski
2025-01-09 13:11 ` kernel test robot
2025-04-19 14:33 ` Akhil P Oommen
2025-04-21 8:25 ` Dmitry Baryshkov
2025-01-08 20:40 ` [PATCH v4 6/7] arm64: dts: qcom: x1e80100: Add ACD levels for GPU Akhil P Oommen
2025-01-09 13:19 ` Konrad Dybcio
2025-01-08 20:40 ` [PATCH v4 7/7] arm64: dts: qcom: x1e80100: Add OPPs up to Turbo L3 " Akhil P Oommen
2025-01-08 21:14 ` [PATCH v4 0/7] Support for GPU ACD feature on Adreno X1-85 Maya Matuszczyk
2025-03-18 13:12 ` Anthony Ruhier
2025-04-09 15:08 ` Konrad Dybcio
2025-04-10 15:51 ` Anthony Ruhier
2025-04-10 19:31 ` Dmitry Baryshkov
2025-04-10 16:00 ` Anthony Ruhier
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=20250109-gpu-acd-v4-0-08a5efaf4a23@quicinc.com \
--to=quic_akhilpo@quicinc.com \
--cc=airlied@gmail.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=maccraft123mc@gmail.com \
--cc=marijn.suijten@somainline.org \
--cc=nm@ti.com \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=sean@poorly.run \
--cc=simona@ffwll.ch \
--cc=vireshk@kernel.org \
/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