mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 15:18:19 +00:00
drm/amdgpu: Derive active clusters from SDMA
SDMA instances per active cluster and SDMA instance mask are used to find the number of active clusters. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
dc6df2095d
commit
bbca579fd2
1 changed files with 10 additions and 0 deletions
|
@ -357,12 +357,22 @@ static int aqua_vanjaram_xcp_mgr_init(struct amdgpu_device *adev)
|
|||
|
||||
int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev)
|
||||
{
|
||||
u32 inst_mask = adev->sdma.sdma_mask;
|
||||
int ret;
|
||||
|
||||
/* generally 1 AID supports 4 instances */
|
||||
adev->sdma.num_inst_per_aid = 4;
|
||||
adev->sdma.num_instances = NUM_SDMA(adev->sdma.sdma_mask);
|
||||
|
||||
adev->num_aid = 1;
|
||||
inst_mask >>= adev->sdma.num_inst_per_aid;
|
||||
|
||||
for (const u32 mask = (1 << adev->sdma.num_inst_per_aid) - 1; inst_mask;
|
||||
inst_mask >>= adev->sdma.num_inst_per_aid) {
|
||||
if ((inst_mask & mask) == mask)
|
||||
adev->num_aid++;
|
||||
}
|
||||
|
||||
adev->vcn.num_inst_per_aid = 1;
|
||||
adev->vcn.num_vcn_inst = adev->vcn.num_inst_per_aid * adev->num_aid;
|
||||
adev->jpeg.num_inst_per_aid = 1;
|
||||
|
|
Loading…
Reference in a new issue