devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFT PATCH v6 0/5] Add SMEM-based speedbin matching
@ 2025-04-30 11:34 Konrad Dybcio
  2025-04-30 11:34 ` [PATCH RFT v6 1/5] drm/msm/adreno: Implement SMEM-based speed bin Konrad Dybcio
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Konrad Dybcio @ 2025-04-30 11:34 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
	Dmitry Baryshkov, David Airlie, Simona Vetter, Bjorn Andersson,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Marijn Suijten, linux-arm-msm, dri-devel, freedreno, linux-kernel,
	devicetree, Konrad Dybcio, Konrad Dybcio, Dmitry Baryshkov

Newer (SM8550+) SoCs don't seem to have a nice speedbin fuse anymore,
but instead rely on a set of combinations of "feature code" (FC) and
"product code" (PC) identifiers to match the bins. This series adds
support for that.

I suppose a qcom/for-soc immutable branch would be in order if we want
to land this in the upcoming cycle.

FWIW I preferred the fuses myself..

---
Changes in v6:
- Rebase
- Some cosmetic changes in comments
- Better explain the backwards compatibility issues stemming from
  incomplete platform descriptions
- Hopefully fix all the remaining edge cases..
- Link to v5: https://lore.kernel.org/linux-arm-msm/20240709-topic-smem_speedbin-v5-0-e2146be0c96f@linaro.org/

Changes in v5:
- Rebase
- Fix some unhandled cases (Elliot)
- Fix unused variable warning
- Touch up some comments
- Link to v4: https://lore.kernel.org/r/20240625-topic-smem_speedbin-v4-0-f6f8493ab814@linaro.org

Changes in v4:
- Drop applied qcom patches
- Make the fuse/speedbin fields u16 again (as Pcode is unused)
- Add comments explaining why there's only speedbin0 for 8550
- Fix some checkpatch fluff (code style)
- Rebase on next-20240625

Changes in v3:
- Wrap the argument usage in new preprocessor macros in braces (Bjorn)
- Make the SOCINFO_FC_INT_MAX define inclusive, adjust .h and .c (Bjorn)
- Pick up rbs
- Rebase on next-20240605
- Drop the already-applied ("Avoid a nullptr dereference when speedbin
  setting fails")

Changes in v2:
- Separate moving existing and adding new defines
- Fix kerneldoc copypasta
- Remove some wrong comments and defines
- Remove assumed "max" values for PCs and external FCs
- Improve some commit messages
- Return -EOPNOTSUPP instead of -EINVAL when calling p/fcode getters
  on socinfo older than v16
- Drop pcode getters and evaluation (doesn't matter for Adreno on
  non-proto SoCs)
- Rework the speedbin logic to be hopefully saner
- Link to v1: https://lore.kernel.org/r/20240405-topic-smem_speedbin-v1-0-ce2b864251b1@linaro.org

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

---
Konrad Dybcio (5):
      drm/msm/adreno: Implement SMEM-based speed bin
      drm/msm/adreno: Add speedbin data for SM8550 / A740
      drm/msm/adreno: Define A530 speed bins explicitly
      drm/msm/adreno: Redo the speedbin assignment
      arm64: dts: qcom: sm8550: Wire up GPU speed bin & more OPPs

 arch/arm64/boot/dts/qcom/sm8550.dtsi       |  21 +++++-
 drivers/gpu/drm/msm/adreno/a5xx_catalog.c  |   6 ++
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c      |  34 ---------
 drivers/gpu/drm/msm/adreno/a6xx_catalog.c  |   8 +++
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c      |  54 ---------------
 drivers/gpu/drm/msm/adreno/adreno_device.c |   2 +
 drivers/gpu/drm/msm/adreno/adreno_gpu.c    | 107 +++++++++++++++++++++++++++--
 drivers/gpu/drm/msm/adreno/adreno_gpu.h    |   6 +-
 8 files changed, 141 insertions(+), 97 deletions(-)
---
base-commit: 07e7f436c1caa294bd689004077c553957915afd
change-id: 20250425-topic-smem_speedbin_respin-b167a957a56b

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>


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

end of thread, other threads:[~2025-05-22 17:33 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-30 11:34 [RFT PATCH v6 0/5] Add SMEM-based speedbin matching Konrad Dybcio
2025-04-30 11:34 ` [PATCH RFT v6 1/5] drm/msm/adreno: Implement SMEM-based speed bin Konrad Dybcio
2025-04-30 16:20   ` neil.armstrong
2025-04-30 16:25     ` Konrad Dybcio
2025-04-30 11:34 ` [PATCH RFT v6 2/5] drm/msm/adreno: Add speedbin data for SM8550 / A740 Konrad Dybcio
2025-04-30 12:26   ` neil.armstrong
2025-04-30 12:35     ` Konrad Dybcio
2025-04-30 12:49       ` neil.armstrong
2025-04-30 13:09         ` Konrad Dybcio
2025-04-30 14:49           ` neil.armstrong
2025-04-30 15:36             ` Konrad Dybcio
2025-04-30 16:19               ` neil.armstrong
2025-04-30 16:39                 ` Konrad Dybcio
2025-04-30 16:56                   ` neil.armstrong
2025-05-01  9:29                     ` Akhil P Oommen
2025-05-01 15:53                       ` Konrad Dybcio
2025-05-11  9:51                         ` Akhil P Oommen
2025-05-22 16:02                           ` Konrad Dybcio
2025-05-22 17:33                             ` Rob Clark
2025-04-30 11:34 ` [PATCH RFT v6 3/5] drm/msm/adreno: Define A530 speed bins explicitly Konrad Dybcio
2025-04-30 11:34 ` [PATCH RFT v6 4/5] drm/msm/adreno: Redo the speedbin assignment Konrad Dybcio
2025-04-30 11:34 ` [PATCH RFT v6 5/5] arm64: dts: qcom: sm8550: Wire up GPU speed bin & more OPPs Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).