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> --- Neil Armstrong (5): dt-bindings: display/msm/gmu: Document Adreno 750 GMU dt-bindings: arm-smmu: Document SM8650 GPU SMMU 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 | 7 +- arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 8 + arch/arm64/boot/dts/qcom/sm8650.dtsi | 169 +++++++++++++++++++++ drivers/gpu/drm/msm/adreno/a6xx.xml.h | 8 + drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 + drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 29 +++- drivers/gpu/drm/msm/adreno/adreno_device.c | 14 ++ drivers/gpu/drm/msm/adreno/adreno_gpu.h | 9 +- 9 files changed, 241 insertions(+), 6 deletions(-) --- base-commit: 84baf172e2fa30d6d6d0fb8ed076b47e836b74f1 change-id: 20240208-topic-sm8650-gpu-489d5e2c2b17 Best regards, -- Neil Armstrong <neil.armstrong@xxxxxxxxxx>