Add UMSCH 4.0 support. UMSCH handles scheduling of multimedia queues similar to MES for GFX and SDMA. Lang Yu (14): drm/amdgpu: add UMSCH 4.0 register headers drm/amdgpu: add UMSCH IP BLOCK TYPE definition drm/amdgpu: add UMSCH RING TYPE definition drm/amdgpu: add UMSCH firmware header definition drm/amdgpu: add UMSCH 4.0 api definition drm/amdgpu: add initial support for UMSCH drm/amdgpu: enable UMSCH scheduling for VPE drm/amdgpu: add selftest framework for UMSCH drm/amdgpu: add VPE queue submission test drm/amdgpu: reserve mmhub engine 3 for UMSCH FW drm/amdgpu: add PSP loading support for UMSCH drm/amdgpu/discovery: enable UMSCH 4.0 in IP discovery drm/amdgpu: add amdgpu_umsch_mm module parameter drm/amdgpu: update SET_HW_RESOURCES definition for UMSCH drivers/gpu/drm/amd/amdgpu/Makefile | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 + drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 20 + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 10 + drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 9 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 21 + drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 20 + drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c | 875 +++++++++++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.h | 218 +++++ drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c | 408 ++++++++ drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.h | 30 + drivers/gpu/drm/amd/include/amd_shared.h | 2 + .../include/asic_reg/vcn/vcn_4_0_0_offset.h | 422 +++++++++ .../include/asic_reg/vcn/vcn_4_0_0_sh_mask.h | 882 ++++++++++++++++++ .../drm/amd/include/umsch_mm_4_0_api_def.h | 437 +++++++++ 17 files changed, 3372 insertions(+), 2 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.h create mode 100644 drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.h create mode 100644 drivers/gpu/drm/amd/include/umsch_mm_4_0_api_def.h -- 2.41.0