This adds Adreno 620 GPU found in Qualcomm SM7250 (Snapdragon 765/765G/768G) to msm driver. It is A650 derivative using a650 SQE/GMU firmware and a620_zap.mbn. On top of catalog entry it needs two A620 specific GMU changes:
- A620 has no PDC setup from AOP, so PDC sequencer is programmed from driver (xo/mx/cx addresses from cmd-db). Without it RSC never acks second power-up and device hangs. - A bandwidth table with BCM addresses of this SoC. The generic A630 one does not exist on SM7250, so first GX performance vote times out. Tested on OnePlus Nord (SM7250) running mainline: the GPU, GMU and Vulkan work. This needs the SM7250 SMMU series [1] as well, otherwise the device is reset when the first per-process pagetable is created. The SoC devicetree nodes are not part of this series; they will be sent separately once the SoC dtsi is accepted. [1] https://lore.kernel.org/all/[email protected]/ Signed-off-by: Ishu Brar <[email protected]> --- Ishu Brar (4): dt-bindings: display: msm: Document Adreno 620 and its GMU drm/msm/a6xx: Add a bandwidth table for the Adreno 620 GMU drm/msm/a6xx: Program the PDC sequencer on Adreno 620 drm/msm/adreno: Add Adreno 620 .../devicetree/bindings/display/msm/gmu.yaml | 2 ++ .../devicetree/bindings/display/msm/gpu.yaml | 1 + drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 25 ++++++++++++++++ drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 22 +++++++++++---- drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 33 ++++++++++++++++++++++ drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 ++++ 6 files changed, 82 insertions(+), 6 deletions(-) --- base-commit: d024361c631b3f020a26c07d683e5103404b0fbf change-id: 20261016-adreno-a620-faee699b382f Best regards, -- Ishu Brar <[email protected]>
