From: Lijo Lazar Date: Mon, 20 Feb 2023 06:34:30 +0000 (+0530) Subject: drm/amdgpu: Simplify aquavanjram instance mapping X-Git-Tag: v6.6.7~2401^2~12^2~384 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=672c883c26c68fe49b161d7ceab94bdc69e57b0e;p=platform%2Fkernel%2Flinux-starfive.git drm/amdgpu: Simplify aquavanjram instance mapping Simplify so as to use the same sequence to assign logical to physical ids for all IPs. Signed-off-by: Lijo Lazar Acked-by: Leo Liu Tested-by: James Zhu Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram_reg_init.c b/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram_reg_init.c index 51d3cb8..68d732d 100644 --- a/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram_reg_init.c +++ b/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram_reg_init.c @@ -101,32 +101,15 @@ static void aqua_vanjaram_populate_ip_map(struct amdgpu_device *adev, void aqua_vanjaram_ip_map_init(struct amdgpu_device *adev) { - int xcc_mask, sdma_mask; - int l, i; - - /* Map GC instances */ - l = 0; - xcc_mask = adev->gfx.xcc_mask; - while (xcc_mask) { - i = ffs(xcc_mask) - 1; - adev->ip_map.dev_inst[GC_HWIP][l++] = i; - xcc_mask &= ~(1 << i); - } - for (; l < HWIP_MAX_INSTANCE; l++) - adev->ip_map.dev_inst[GC_HWIP][l] = -1; - - l = 0; - sdma_mask = adev->sdma.sdma_mask; - while (sdma_mask) { - i = ffs(sdma_mask) - 1; - adev->ip_map.dev_inst[SDMA0_HWIP][l++] = i; - sdma_mask &= ~(1 << i); - } - for (; l < HWIP_MAX_INSTANCE; l++) - adev->ip_map.dev_inst[SDMA0_HWIP][l] = -1; + u32 ip_map[][2] = { + { GC_HWIP, adev->gfx.xcc_mask }, + { SDMA0_HWIP, adev->sdma.sdma_mask }, + { VCN_HWIP, adev->vcn.inst_mask }, + }; + int i; - /* This covers both VCN and JPEG, JPEG is only alias of VCN */ - aqua_vanjaram_populate_ip_map(adev, VCN_HWIP, adev->vcn.inst_mask); + for (i = 0; i < ARRAY_SIZE(ip_map); ++i) + aqua_vanjaram_populate_ip_map(adev, ip_map[i][0], ip_map[i][1]); adev->ip_map.logical_to_dev_inst = aqua_vanjaram_logical_to_dev_inst; }