All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Support for GPU ACD feature on Adreno X1-85
@ 2024-12-30 21:11 Akhil P Oommen
  2024-12-30 21:11 ` [PATCH v3 1/6] drm/msm/adreno: Add support for ACD Akhil P Oommen
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Akhil P Oommen @ 2024-12-30 21:11 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
	Dmitry Baryshkov, Marijn Suijten, David Airlie, Simona Vetter,
	Viresh Kumar, Nishanth Menon, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Akhil P Oommen,
	Bjorn Andersson
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, linux-pm,
	devicetree

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 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 (6):
      drm/msm/adreno: Add support for ACD
      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             | 25 +++++-
 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              | 36 ++++++++
 drivers/gpu/drm/msm/adreno/a6xx_hfi.h              | 21 +++++
 drivers/gpu/drm/msm/adreno/adreno_device.c         |  4 +
 8 files changed, 268 insertions(+), 13 deletions(-)
---
base-commit: dbfac60febfa806abb2d384cb6441e77335d2799
change-id: 20240724-gpu-acd-6c1dc5dcf516

Best regards,
-- 
Akhil P Oommen <quic_akhilpo@quicinc.com>


^ permalink raw reply	[flat|nested] 21+ messages in thread
* Re: [PATCH v3 4/6] dt-bindings: opp: Add v2-qcom-adreno vendor bindings
@ 2024-12-31  6:33 kernel test robot
  0 siblings, 0 replies; 21+ messages in thread
From: kernel test robot @ 2024-12-31  6:33 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "dtcheck: binding changes may go via different trees"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20241231-gpu-acd-v3-4-3ba73660e9ca@quicinc.com>
References: <20241231-gpu-acd-v3-4-3ba73660e9ca@quicinc.com>
TO: Akhil P Oommen <quic_akhilpo@quicinc.com>
TO: Rob Clark <robdclark@gmail.com>
TO: Sean Paul <sean@poorly.run>
TO: Konrad Dybcio <konradybcio@kernel.org>
TO: Abhinav Kumar <quic_abhinavk@quicinc.com>
TO: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
TO: Marijn Suijten <marijn.suijten@somainline.org>
TO: David Airlie <airlied@gmail.com>
TO: Simona Vetter <simona@ffwll.ch>
TO: Viresh Kumar <vireshk@kernel.org>
TO: Nishanth Menon <nm@ti.com>
TO: Stephen Boyd <sboyd@kernel.org>
TO: Rob Herring <robh@kernel.org>
TO: Krzysztof Kozlowski <krzk@kernel.org>
TO: Conor Dooley <conor+dt@kernel.org>
TO: Akhil P Oommen <quic_akhilpo@quicinc.com>
TO: Bjorn Andersson <andersson@kernel.org>
CC: linux-arm-msm@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
CC: freedreno@lists.freedesktop.org
CC: linux-kernel@vger.kernel.org
CC: linux-pm@vger.kernel.org
CC: devicetree@vger.kernel.org

Hi Akhil,

kernel test robot noticed the following build warnings:

[auto build test WARNING on dbfac60febfa806abb2d384cb6441e77335d2799]

url:    https://github.com/intel-lab-lkp/linux/commits/Akhil-P-Oommen/drm-msm-adreno-Add-support-for-ACD/20241231-051408
base:   dbfac60febfa806abb2d384cb6441e77335d2799
patch link:    https://lore.kernel.org/r/20241231-gpu-acd-v3-4-3ba73660e9ca%40quicinc.com
patch subject: [PATCH v3 4/6] dt-bindings: opp: Add v2-qcom-adreno vendor bindings
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: arc-randconfig-051-20241231 (https://download.01.org/0day-ci/archive/20241231/202412311450.C3nyojg0-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
dtschema version: 2024.12.dev5+gea243eb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241231/202412311450.C3nyojg0-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202412311450.C3nyojg0-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml: ignoring, error parsing file

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-01-08 17:15 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-30 21:11 [PATCH v3 0/6] Support for GPU ACD feature on Adreno X1-85 Akhil P Oommen
2024-12-30 21:11 ` [PATCH v3 1/6] drm/msm/adreno: Add support for ACD Akhil P Oommen
2024-12-31  9:48   ` neil.armstrong
2025-01-02 10:33     ` Akhil P Oommen
2024-12-30 21:11 ` [PATCH v3 2/6] drm/msm: a6x: Rework qmp_get() error handling Akhil P Oommen
2025-01-03 12:39   ` Konrad Dybcio
2024-12-30 21:11 ` [PATCH v3 3/6] drm/msm/adreno: Add module param to disable ACD Akhil P Oommen
2024-12-31 10:32   ` Konrad Dybcio
2025-01-06 20:06     ` Akhil P Oommen
2024-12-30 21:11 ` [PATCH v3 4/6] dt-bindings: opp: Add v2-qcom-adreno vendor bindings Akhil P Oommen
2024-12-30 22:25   ` Rob Herring (Arm)
2024-12-31  9:39     ` Konrad Dybcio
2025-01-02 10:28       ` Akhil P Oommen
2024-12-30 21:11 ` [PATCH v3 5/6] arm64: dts: qcom: x1e80100: Add ACD levels for GPU Akhil P Oommen
2024-12-30 21:11 ` [PATCH v3 6/6] arm64: dts: qcom: x1e80100: Add OPPs up to Turbo L3 " Akhil P Oommen
2025-01-03 12:42   ` Konrad Dybcio
2025-01-05 17:55 ` [PATCH v3 0/6] Support for GPU ACD feature on Adreno X1-85 Maya Matuszczyk
2025-01-06  0:55   ` Rob Clark
2025-01-06 19:55     ` Akhil P Oommen
2025-01-08 17:14       ` Maya Matuszczyk
  -- strict thread matches above, loose matches on Subject: below --
2024-12-31  6:33 [PATCH v3 4/6] dt-bindings: opp: Add v2-qcom-adreno vendor bindings kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.