All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] OPP and devfreq for all Adrenos
@ 2023-02-22 21:47 ` Konrad Dybcio
  0 siblings, 0 replies; 36+ messages in thread
From: Konrad Dybcio @ 2023-02-22 21:47 UTC (permalink / raw)
  To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
	David Airlie, Daniel Vetter
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Konrad Dybcio

This series is a combination of [1] and a subset of [2] and some new
stuff.

With it, devfreq is used on all a2xx-a6xx (including gmu and
gmu-wrapper) and all clk_set_rate(core clock) calls are dropped in
favour of dev_pm_opp_set_rate, which - drumroll - lets us scale
the voltage domain. DT patches making use of that will be sent
separately.

On top of that, a5xx gets a call to enable icc scaling from the OPP
tables. No SoCs implementing a2xx have icc support yet and a3/4xx
SoCs have separate logic for that, which will be updated at a later
time.

Getting this in for 6.4 early would be appreciated, as that would
allow for getting GMU wrapper GPUs up (without VDD&icc scaling they
can only run at lower freqs, which is.. ehhh..)

Changes:
- a3xx busy: use the _1 counter as per msm-3.x instead of _0
- a6xx-series-opp: basically rewrite, ensure compat with all gens
- a2/4xx busy: new patch
- a5xx icc: new patch

[1] https://lore.kernel.org/linux-arm-msm/20230130093809.2079314-1-konrad.dybcio@linaro.org/
[2] https://lore.kernel.org/linux-arm-msm/20230214173145.2482651-1-konrad.dybcio@linaro.org/

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (5):
      drm/msm/adreno: Use OPP for every GPU generation
      drm/msm/a2xx: Implement .gpu_busy
      drm/msm/a3xx: Implement .gpu_busy
      drm/msm/a4xx: Implement .gpu_busy
      drm/msm/a5xx: Enable optional icc voting from OPP tables

 drivers/gpu/drm/msm/adreno/a2xx_gpu.c   | 28 ++++++++++
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c   | 11 ++++
 drivers/gpu/drm/msm/adreno/a4xx_gpu.c   | 11 ++++
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c   |  4 ++
 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 94 +++++++++++++++------------------
 drivers/gpu/drm/msm/msm_gpu.c           |  4 +-
 drivers/gpu/drm/msm/msm_gpu_devfreq.c   |  2 +-
 7 files changed, 99 insertions(+), 55 deletions(-)
---
base-commit: f4ed0868966d96203fee6f2782508746ded2ce3f
change-id: 20230222-konrad-longbois-next-86d1a69532c2

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@linaro.org>


^ permalink raw reply	[flat|nested] 36+ messages in thread
* Re: [PATCH 1/5] drm/msm/adreno: Use OPP for every GPU generation
@ 2023-02-24 16:56 ` Chris Healy
  0 siblings, 0 replies; 36+ messages in thread
From: Chris Healy @ 2023-02-24 16:56 UTC (permalink / raw)
  To: dmitry.baryshkov
  Cc: airlied, Daniel Vetter, DRI mailing list, freedreno,
	konrad.dybcio, linux-arm-msm, linux-kernel, quic_abhinavk,
	Rob Clark, sean, Marek Vasut

I may be missing something, but looking at the code path for a2xx,
it's not clear to me how this would work with SoCs with a2xx that
don't support 200MHz for GPU frequency.  For example, the NXP i.MX51
requires the A205 GPU to run at 166MHz while the NXP i.MX53 requires
the A205 GPU to run at 200MHz.

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

end of thread, other threads:[~2023-02-27 10:45 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-22 21:47 [PATCH 0/5] OPP and devfreq for all Adrenos Konrad Dybcio
2023-02-22 21:47 ` Konrad Dybcio
2023-02-22 21:47 ` [PATCH 1/5] drm/msm/adreno: Use OPP for every GPU generation Konrad Dybcio
2023-02-22 21:47   ` Konrad Dybcio
2023-02-22 22:38   ` Dmitry Baryshkov
2023-02-22 22:38     ` Dmitry Baryshkov
2023-02-22 22:40     ` Konrad Dybcio
2023-02-22 22:40       ` Konrad Dybcio
2023-02-22 23:16       ` Dmitry Baryshkov
2023-02-22 23:16         ` Dmitry Baryshkov
2023-02-23  1:02         ` Konrad Dybcio
2023-02-23  1:02           ` Konrad Dybcio
2023-02-22 21:47 ` [PATCH 2/5] drm/msm/a2xx: Implement .gpu_busy Konrad Dybcio
2023-02-22 21:47   ` Konrad Dybcio
2023-02-22 22:24   ` Dmitry Baryshkov
2023-02-22 22:24     ` Dmitry Baryshkov
2023-02-22 21:47 ` [PATCH 3/5] drm/msm/a3xx: " Konrad Dybcio
2023-02-22 21:47   ` Konrad Dybcio
2023-02-22 22:10   ` Dmitry Baryshkov
2023-02-22 22:10     ` Dmitry Baryshkov
2023-02-22 21:47 ` [PATCH 4/5] drm/msm/a4xx: " Konrad Dybcio
2023-02-22 21:47   ` Konrad Dybcio
2023-02-22 22:22   ` Dmitry Baryshkov
2023-02-22 22:22     ` Dmitry Baryshkov
2023-02-22 21:47 ` [PATCH 5/5] drm/msm/a5xx: Enable optional icc voting from OPP tables Konrad Dybcio
2023-02-22 21:47   ` Konrad Dybcio
2023-02-22 22:12   ` Dmitry Baryshkov
2023-02-22 22:12     ` Dmitry Baryshkov
2023-02-22 22:14     ` Konrad Dybcio
2023-02-22 22:14       ` Konrad Dybcio
2023-02-22 22:22       ` Dmitry Baryshkov
2023-02-22 22:22         ` Dmitry Baryshkov
2023-02-24 16:56 [PATCH 1/5] drm/msm/adreno: Use OPP for every GPU generation Chris Healy
2023-02-24 16:56 ` Chris Healy
2023-02-27 10:45 ` Konrad Dybcio
2023-02-27 10:45   ` Konrad Dybcio

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.