This series enables LPAC (Low Priority Async Compute) on a7xx GPUs. This allows to expose a separate queue to userspace that only supports compute operations, in turn this can be exposed as a vulakn compute queue by turnip https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39889
Currently hangcheck and recovery are broken as the patches to make them work depend on https://lore.kernel.org/linux-arm-msm/[email protected]/ The series also depends on https://lore.kernel.org/linux-arm-msm/[email protected]/ to work correctly. It is still an RFC as something needs to be done about hang detection with multiple rings first. Signed-off-by: Anna Maniscalco <[email protected]> --- Changes in v2: - Made LPAC register writes conditional on lpac being supported and enabled - Made LPAC a child node in dts - Added a quirk to flag GPUs that have LPAC - Hide LPAC behind modparam - Several bug fixes (including addressing sashiko's reports) - Link to v1: https://patch.msgid.link/20260705-descriptive-name-lpac-upstream-v1-0-01d50c3e0...@gmail.com To: Rob Clark <[email protected]> To: Will Deacon <[email protected]> To: Robin Murphy <[email protected]> To: Joerg Roedel <[email protected]> To: Sean Paul <[email protected]> To: Konrad Dybcio <[email protected]> To: Akhil P Oommen <[email protected]> To: Dmitry Baryshkov <[email protected]> To: Abhinav Kumar <[email protected]> To: Jessica Zhang <[email protected]> To: Marijn Suijten <[email protected]> To: David Airlie <[email protected]> To: Simona Vetter <[email protected]> To: Bjorn Andersson <[email protected]> To: Rob Herring <[email protected]> To: Krzysztof Kozlowski <[email protected]> To: Conor Dooley <[email protected]> To: Maarten Lankhorst <[email protected]> To: Maxime Ripard <[email protected]> To: Thomas Zimmermann <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- Anna Maniscalco (14): iommu: arm-smmu-qcom: Configure lpac device with split address space drm/msm: add support for lpac_domain in msm_mmu drm/msm: look for lpac from dts arm64: dts: qcom: sm8650: move smmu sid 1 to new lpac device firmware: qcom: scm: Configure LPAC aperture DEBUGGING: print contextbank and other ttbrs on fault iommu: arm-smmu-qcom: Fixed mapping between sid and cb for gpu and lpac temp: add LPAC regs drm/msm: initialize LPAC ring drm/msm: Add LPAC submitqueue drm/msm: set ctxbank and asid based on ring drm/msm: add lpac ring to devcoredump drm/msm: gate lpac behind modparam drm/msm: enable LPAC on gen70900 arch/arm64/boot/dts/qcom/sm8650.dtsi | 9 +- drivers/firmware/qcom/qcom_scm.c | 18 +++ drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 4 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 200 +++++++++++++++++++++----- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 2 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 20 +++ drivers/gpu/drm/msm/adreno/adreno_gpu.c | 99 +++++++++---- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 1 + drivers/gpu/drm/msm/msm_gem_submit.c | 6 +- drivers/gpu/drm/msm/msm_gpu.c | 62 ++++++-- drivers/gpu/drm/msm/msm_gpu.h | 18 ++- drivers/gpu/drm/msm/msm_iommu.c | 170 +++++++++++++++++++--- drivers/gpu/drm/msm/msm_mmu.h | 7 +- drivers/gpu/drm/msm/msm_submitqueue.c | 14 +- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 14 ++ drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 38 ++++- include/linux/adreno-smmu-priv.h | 2 + include/linux/firmware/qcom/qcom_scm.h | 1 + include/uapi/drm/msm_drm.h | 2 + 20 files changed, 575 insertions(+), 114 deletions(-) --- base-commit: 9a967125427e03c7ebc24d7ad26e9307e8403d4e change-id: 20260603-descriptive-name-lpac-upstream-730a164b105b Best regards, -- Anna Maniscalco <[email protected]>
