Does it break the case of q->gws with q->properties.is_active == true? Regards, Eric On 2022-06-15 17:56, Philip Yang wrote:
We remove the user queue from MES scheduler to update queue properties. If the queue becomes active after updating, add the user queue to MES scheduler, to be able to handle command packet submission. Signed-off-by: Philip Yang <Philip.Yang@xxxxxxx> --- drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c index e1797657b04c..67ae5b6385a2 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -866,8 +866,10 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q, * dqm->active_queue_count to determine whether a new runlist must be * uploaded. */ - if (q->properties.is_active && !prev_active) { - increment_queue_count(dqm, &pdd->qpd, q); + if (q->properties.is_active) { + add_queue = true; + if (!prev_active) + increment_queue_count(dqm, &pdd->qpd, q); } else if (!q->properties.is_active && prev_active) { decrement_queue_count(dqm, &pdd->qpd, q); } else if (q->gws && !q->properties.is_gws) {