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

drm/amdkfd: move SDMA queue reset capability check to node_show

Relocate the per-SDMA queue reset capability check from
kfd_topology_set_capabilities() to node_show() to ensure we read the
latest value of sdma.supported_reset after all IP blocks are initialized.

Fixes: ceb7114c961b ("drm/amdkfd: flag per-sdma queue reset supported to user space")
Reviewed-by: Jonathan Kim <jonathan.kim@amd.com>
Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Jesse.Zhang and committed by
Alex Deucher
e17df7b0 855a2a02

+4 -2
+4 -2
drivers/gpu/drm/amd/amdkfd/kfd_topology.c
··· 510 510 dev->node_props.capability |= 511 511 HSA_CAP_AQL_QUEUE_DOUBLE_MAP; 512 512 513 + if (KFD_GC_VERSION(dev->gpu) < IP_VERSION(10, 0, 0) && 514 + (dev->gpu->adev->sdma.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE)) 515 + dev->node_props.capability2 |= HSA_CAP2_PER_SDMA_QUEUE_RESET_SUPPORTED; 516 + 513 517 sysfs_show_32bit_prop(buffer, offs, "max_engine_clk_fcompute", 514 518 dev->node_props.max_engine_clk_fcompute); 515 519 ··· 2012 2008 if (!amdgpu_sriov_vf(dev->gpu->adev)) 2013 2009 dev->node_props.capability |= HSA_CAP_PER_QUEUE_RESET_SUPPORTED; 2014 2010 2015 - if (dev->gpu->adev->sdma.supported_reset & AMDGPU_RESET_TYPE_PER_QUEUE) 2016 - dev->node_props.capability2 |= HSA_CAP2_PER_SDMA_QUEUE_RESET_SUPPORTED; 2017 2011 } else { 2018 2012 dev->node_props.debug_prop |= HSA_DBG_WATCH_ADDR_MASK_LO_BIT_GFX10 | 2019 2013 HSA_DBG_WATCH_ADDR_MASK_HI_BIT;