1. 22 Jun, 2022 3 commits
    • Darren Powell's avatar
      amdgpu/pm: Fix incorrect variable for size of clocks array · 543faf57
      Darren Powell authored
       [v2]
      No Changes, added RB
       [v1]
      Size of pp_clock_levels_with_latency is PP_MAX_CLOCK_LEVELS, not MAX_NUM_CLOCKS.
      Both are currently defined as 16, modifying in case one value is modified in future
      Changed code in both arcturus and aldabaran.
      
      Also removed unneeded var count, and used min_t function
      Signed-off-by: default avatarDarren Powell <darren.powell@amd.com>
      Reviewed-by: default avatarLijo Lazar <lijo.lazar@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      543faf57
    • Philip Yang's avatar
      drm/amdkfd: Free queue after unmap queue success · ab8529b0
      Philip Yang authored
      After queue unmap or remove from MES successfully, free queue sysfs
      entries, doorbell and remove from queue list. Otherwise, application may
      destroy queue again, cause below kernel warning or crash backtrace.
      
      For outstanding queues, either application forget to destroy or failed
      to destroy, kfd_process_notifier_release will remove queue sysfs
      entries, kfd_process_wq_release will free queue doorbell.
      
      v2: decrement_queue_count for MES queue
      
       refcount_t: underflow; use-after-free.
       WARNING: CPU: 7 PID: 3053 at lib/refcount.c:28
        Call Trace:
         kobject_put+0xd6/0x1a0
         kfd_procfs_del_queue+0x27/0x30 [amdgpu]
         pqm_destroy_queue+0xeb/0x240 [amdgpu]
         kfd_ioctl_destroy_queue+0x32/0x70 [amdgpu]
         kfd_ioctl+0x27d/0x500 [amdgpu]
         do_syscall_64+0x35/0x80
      
       WARNING: CPU: 2 PID: 3053 at drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:400
        Call Trace:
         deallocate_doorbell.isra.0+0x39/0x40 [amdgpu]
         destroy_queue_cpsch+0xb3/0x270 [amdgpu]
         pqm_destroy_queue+0x108/0x240 [amdgpu]
         kfd_ioctl_destroy_queue+0x32/0x70 [amdgpu]
         kfd_ioctl+0x27d/0x500 [amdgpu]
      
       general protection fault, probably for non-canonical address
      0xdead000000000108:
       Call Trace:
        pqm_destroy_queue+0xf0/0x200 [amdgpu]
        kfd_ioctl_destroy_queue+0x2f/0x60 [amdgpu]
        kfd_ioctl+0x19b/0x600 [amdgpu]
      Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
      Reviewed-by: default avatarGraham Sider <Graham.Sider@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      ab8529b0
    • Philip Yang's avatar
      drm/amdkfd: Add queue to MES if it becomes active · f4f9b827
      Philip Yang authored
      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.
      
      v2: don't break pqm_set_gws
      Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
      Reviewed-by: default avatarGraham Sider <Graham.Sider@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      f4f9b827
  2. 21 Jun, 2022 37 commits