<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 2022-06-16 10:49, Eric Huang wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:a70defa4-6268-406e-ff69-fb5f8aa6989c@amd.com">Does it
      break the case of q->gws with q->properties.is_active ==
      true?
      <br>
      <br>
    </blockquote>
    <p>Thanks for catching this, it breaks pqm_set_gws, I will revert
      this and send v2 for review.</p>
    <p>Regards,</p>
    <p>Philip<br>
    </p>
    <blockquote type="cite" cite="mid:a70defa4-6268-406e-ff69-fb5f8aa6989c@amd.com">Regards,
      <br>
      Eric
      <br>
      <br>
      On 2022-06-15 17:56, Philip Yang wrote:
      <br>
      <blockquote type="cite">We remove the user queue from MES
        scheduler to update queue properties.
        <br>
        If the queue becomes active after updating, add the user queue
        to MES
        <br>
        scheduler, to be able to handle command packet submission.
        <br>
        <br>
        Signed-off-by: Philip Yang <a class="moz-txt-link-rfc2396E" href="mailto:Philip.Yang@amd.com"><Philip.Yang@amd.com></a>
        <br>
        ---
        <br>
          drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 6
        ++++--
        <br>
          1 file changed, 4 insertions(+), 2 deletions(-)
        <br>
        <br>
        diff --git
        a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
        b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
        <br>
        index e1797657b04c..67ae5b6385a2 100644
        <br>
        --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
        <br>
        +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
        <br>
        @@ -866,8 +866,10 @@ static int update_queue(struct
        device_queue_manager *dqm, struct queue *q,
        <br>
               * dqm->active_queue_count to determine whether a new
        runlist must be
        <br>
               * uploaded.
        <br>
               */
        <br>
        -    if (q->properties.is_active && !prev_active) {
        <br>
        -        increment_queue_count(dqm, &pdd->qpd, q);
        <br>
        +    if (q->properties.is_active) {
        <br>
        +        add_queue = true;
        <br>
        +        if (!prev_active)
        <br>
        +            increment_queue_count(dqm, &pdd->qpd, q);
        <br>
              } else if (!q->properties.is_active &&
        prev_active) {
        <br>
                  decrement_queue_count(dqm, &pdd->qpd, q);
        <br>
              } else if (q->gws && !q->properties.is_gws)
        {
        <br>
      </blockquote>
      <br>
    </blockquote>
  </body>
</html>