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".
I would like to have more feedback on this, hence the RFC tag for this
series.
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.
This series is rebased on top of drm-msm/msm-next.
---
Akhil P Oommen (3):
drm/msm/adreno: Add support for ACD
dt-bindings: opp: Add v2-qcom-adreno vendor bindings
arm64: dts: qcom: x1e80100: Add ACD levels for GPU
.../bindings/opp/opp-v2-qcom-adreno.yaml | 84 ++++++++++++++++++++++
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 11 ++-
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 81 +++++++++++++++++----
drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 1 +
drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 36 ++++++++++
drivers/gpu/drm/msm/adreno/a6xx_hfi.h | 21 ++++++
6 files changed, 218 insertions(+), 16 deletions(-)
---
base-commit: a20a91fb1bfac5d05ec5bcf9afe0c9363f6c8c93
change-id: 20240724-gpu-acd-6c1dc5dcf516
Best regards,
--
Akhil P Oommen <quic_akhilpo@quicinc.com>