[RFC PATCH v2 00/14] Enable LPAC on a7xx series GPUs
Anna Maniscalco
anna.maniscalco2000 at gmail.com
Thu Oct 29 06:52:37 PDT 2026
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/20250911-preemption_aware_hangcheck-v1-0-974819876819@gmail.com/
The series also depends on https://lore.kernel.org/linux-arm-msm/177919116291.814652.1720687887970998122.b4-ty@kernel.org/
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 <anna.maniscalco2000 at gmail.com>
---
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-01d50c3e0c99@gmail.com
To: Rob Clark <robin.clark at oss.qualcomm.com>
To: Will Deacon <will at kernel.org>
To: Robin Murphy <robin.murphy at arm.com>
To: Joerg Roedel <joro at 8bytes.org>
To: Sean Paul <sean at poorly.run>
To: Konrad Dybcio <konradybcio at kernel.org>
To: Akhil P Oommen <akhilpo at oss.qualcomm.com>
To: Dmitry Baryshkov <lumag at kernel.org>
To: Abhinav Kumar <abhinav.kumar at linux.dev>
To: Jessica Zhang <jesszhan0024 at gmail.com>
To: Marijn Suijten <marijn.suijten at somainline.org>
To: David Airlie <airlied at gmail.com>
To: Simona Vetter <simona at ffwll.ch>
To: Bjorn Andersson <andersson at kernel.org>
To: Rob Herring <robh at kernel.org>
To: Krzysztof Kozlowski <krzk+dt at kernel.org>
To: Conor Dooley <conor+dt at kernel.org>
To: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
To: Maxime Ripard <mripard at kernel.org>
To: Thomas Zimmermann <tzimmermann at suse.de>
Cc: iommu at lists.linux.dev
Cc: linux-arm-msm at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Cc: dri-devel at lists.freedesktop.org
Cc: freedreno at lists.freedesktop.org
Cc: devicetree at vger.kernel.org
---
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 <anna.maniscalco2000 at gmail.com>
More information about the linux-arm-kernel
mailing list