mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
drm/amdgpu: correct SDMA instance number for soc v1_0
Calculate sdma instance number according to xcc_mask and num_inst_per_xcc, and correct adev->sdma.sdma_mask according to totally sdma instance number. Signed-off-by: Likun Gao <Likun.Gao@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
1394a4926f
commit
c52b6c3709
|
|
@ -823,7 +823,7 @@ int soc_v1_0_init_soc_config(struct amdgpu_device *adev)
|
|||
{
|
||||
int ret, i;
|
||||
int xcc_inst_per_aid = 4;
|
||||
uint16_t xcc_mask;
|
||||
uint16_t xcc_mask, sdma_mask = 0;
|
||||
|
||||
xcc_mask = adev->gfx.xcc_mask;
|
||||
adev->aid_mask = 0;
|
||||
|
|
@ -833,10 +833,12 @@ int soc_v1_0_init_soc_config(struct amdgpu_device *adev)
|
|||
}
|
||||
|
||||
adev->sdma.num_inst_per_xcc = 2;
|
||||
adev->sdma.num_instances =
|
||||
NUM_XCC(adev->gfx.xcc_mask) * adev->sdma.num_inst_per_xcc;
|
||||
adev->sdma.sdma_mask =
|
||||
GENMASK(adev->sdma.num_instances - 1, 0);
|
||||
for_each_inst(i, adev->gfx.xcc_mask)
|
||||
sdma_mask |=
|
||||
GENMASK(adev->sdma.num_inst_per_xcc - 1, 0) <<
|
||||
(i * adev->sdma.num_inst_per_xcc);
|
||||
adev->sdma.sdma_mask = sdma_mask;
|
||||
adev->sdma.num_instances = NUM_XCC(adev->sdma.sdma_mask);
|
||||
|
||||
ret = soc_v1_0_xcp_mgr_init(adev);
|
||||
if (ret)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user