Currently, multiple variables are maintained in memory manager for various
reserved regions in VRAM.
Such regions should not be allocated to other purposes. Instead of different
variables, the series
assigns unique ids to reserved regions and maintains an array of them inside
memory manager.
Part-1: The first 9 patches of the series assigns unique ids and maintains them
as an array of
reserved regions inside memory manager.
Part-2: The last 5 patches of the series prefills reserve region data upfront
in a consolidated
function and then reserves them together in a simple loop. It doesn't fill info
for all regions; the
data for some regions could be still be filled in a scattered manner like from
atom firmware tables
or host driver tables. Also, there could be some regions like extended firmware
regions which gets
filled later during runtime and allocated later. They don't get allocated in
the init stage as their
size will be 0.
v1:
Part-1
v2:
Part-1 + Part-2
Rename functions/variable (Alex)
Lijo Lazar (14):
drm/amdgpu: Add reserved region ids
drm/amdgpu: Add stolen vga reserve-region
drm/amdgpu: Add extended stolen vga reserve-region
drm/amdgpu: Add stolen_reserved reserve-region
drm/amdgpu: Add fw_reserved reserve-region
drm/amdgpu: Add firmware extended reserve-region
drm/amdgpu: Add fw vram usage reserve-region
drm/amdgpu: Add host driver reserved-region
drm/amdgpu: Add memory training reserve-region
drm/amdgpu: Group filling reserve region details
drm/amdgpu: Add function to fill fw reserve region
drm/amdgpu: Add function to fill training region
drm/amdgpu: Move validation of reserve region info
drm/amdgpu: Consolidate reserve region allocations
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 6 +-
.../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 18 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 23 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 13 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 1 -
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 362 ++++++++----------
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 53 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 50 +--
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 2 -
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 2 -
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +-
.../drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c | 16 +-
19 files changed, 256 insertions(+), 308 deletions(-)
--
2.49.0