drm/amdgpu: add initial support for UMSCH
authorLang Yu <Lang.Yu@amd.com>
Wed, 10 May 2023 08:49:45 +0000 (16:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Aug 2023 20:40:53 +0000 (16:40 -0400)
commit3488c79beafac3efbac571a2ebffc8ffd78bb7f0
treee00e7bb22fb4f16e9871cbf9955df5588c237749
parent2da1b04a209601fe6e4bfcecdcaf8561c126072f
drm/amdgpu: add initial support for UMSCH

Add basic data structure, dummy ring functions
and ip functions for UMSCH.

Implement sw_init(ring_init and init_microcodede) and
hw_init(load_microcode), UMSCH can boot up now.

Implement hw_init(ring_start) and hw_fini(ring_stop),
UMSCH is ready for command submission now.

Implement set_hw_resources and add/remove_queue,
UMSCH is ready for scheduling now.

Aggregated doorbell is used to notify UMSCH FW that
there is unmapped queue with corresponding priority level
(e.g., AGDB[0] for Real time band, etc.) is updating its job.

v2: squash together initial patches to avoid breaking the
    build (Alex)

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/Makefile
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c [new file with mode: 0644]
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.h [new file with mode: 0644]
drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.c [new file with mode: 0644]
drivers/gpu/drm/amd/amdgpu/umsch_mm_v4_0.h [new file with mode: 0644]