[PATCH v3 0/7] drm/msm: Add support for the A750 GPU found on the SM8650 platform

From: Neil Armstrong
Date: Fri Feb 16 2024 - 06:04:04 EST


Unlike the the very close A740 GPU on the SM8550 SoC, the A750 GPU
doesn't have an HWCFG block but a separate register set.

The missing registers are added in the a6xx.xml.h file that would
require a subsequent sync and the non-existent hwcfg is handled
in a6xx_set_hwcg().

The A750 GPU info are added under the adreno_is_a750() macro and
the ADRENO_7XX_GEN3 family id.

This adds:
- the GMU and SMMU bindings
- DRM driver changes
- DT nodes

Dependencies: None

Tested using Mesa's !26934 Merge Request [0] on the SM8650-QRD
and with kmscube & vkcube to test basic rendering.

[0] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26934

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Changes in v3:
- Fixed smmu bindings if condition for GMU smmu
- Collected reviews
- Link to v2: https://lore.kernel.org/r/20240215-topic-sm8650-gpu-v2-0-6be0b4bf2e09@xxxxxxxxxx

Changes in v2:
- Added separate a6xx.xml.h sync from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27576
- Collected review tags
- Inlined skip_programming
- Use A7XX_RBBM_CGC_P2S_STATUS_TXDONE instead of BIT(0)
- Drop now useless placeholder comment
- Removed interconnect properties
- Rebased on current linux-next
- Link to v1: https://lore.kernel.org/r/20240212-topic-sm8650-gpu-v1-0-708a40b747b5@xxxxxxxxxx

---
Neil Armstrong (7):
dt-bindings: display/msm/gmu: Document Adreno 750 GMU
dt-bindings: arm-smmu: fix SM8[45]50 GPU SMMU if condition
dt-bindings: arm-smmu: Document SM8650 GPU SMMU
drm/msm/a6xx: Add missing regs for A750
drm/msm: add support for A750 GPU
arm64: dts: qcom: sm8650: add GPU nodes
arm64: dts: qcom: sm8650-qrd: enable GPU

.../devicetree/bindings/display/msm/gmu.yaml | 1 +
.../devicetree/bindings/iommu/arm,smmu.yaml | 17 ++-
arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 8 +
arch/arm64/boot/dts/qcom/sm8650.dtsi | 166 +++++++++++++++++++++
drivers/gpu/drm/msm/adreno/a6xx.xml.h | 9 ++
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 28 +++-
drivers/gpu/drm/msm/adreno/adreno_device.c | 14 ++
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 10 +-
9 files changed, 247 insertions(+), 8 deletions(-)
---
base-commit: 2c3b09aac00d7835023bbc4473ee06696be64fa8
change-id: 20240208-topic-sm8650-gpu-489d5e2c2b17

Best regards,
--
Neil Armstrong <neil.armstrong@xxxxxxxxxx>