Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Add gfx12 modifiers

Expose linear modifier definitions for use with DCN401

Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Aurabindo Pillai and committed by
Alex Deucher
a64a5212 5bdf199d

+15
+15
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
··· 647 647 AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX9_64K_D)); 648 648 } 649 649 650 + static void amdgpu_dm_plane_add_gfx12_modifiers(struct amdgpu_device *adev, 651 + uint64_t **mods, uint64_t *size, uint64_t *capacity) 652 + { 653 + uint64_t mod_64K_2D = AMD_FMT_MOD | 654 + AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX12) | 655 + AMD_FMT_MOD_SET(TILE, AMD_FMT_MOD_TILE_GFX12_64K_2D); 656 + 657 + /* 64K without DCC */ 658 + amdgpu_dm_plane_add_modifier(mods, size, capacity, mod_64K_2D); 659 + amdgpu_dm_plane_add_modifier(mods, size, capacity, DRM_FORMAT_MOD_LINEAR); 660 + } 661 + 650 662 static int amdgpu_dm_plane_get_plane_modifiers(struct amdgpu_device *adev, unsigned int plane_type, uint64_t **mods) 651 663 { 652 664 uint64_t size = 0, capacity = 128; ··· 695 683 case AMDGPU_FAMILY_GC_11_0_1: 696 684 case AMDGPU_FAMILY_GC_11_5_0: 697 685 amdgpu_dm_plane_add_gfx11_modifiers(adev, mods, &size, &capacity); 686 + break; 687 + case AMDGPU_FAMILY_GC_12_0_0: 688 + amdgpu_dm_plane_add_gfx12_modifiers(adev, mods, &size, &capacity); 698 689 break; 699 690 } 700 691