|
@@ -2825,9 +2825,15 @@ static void gfx_v7_0_compute_queue_acquire(struct amdgpu_device *adev)
|
|
|
if (mec >= adev->gfx.mec.num_mec)
|
|
|
break;
|
|
|
|
|
|
- /* policy: amdgpu owns the first two queues of the first MEC */
|
|
|
- if (mec == 0 && queue < 2)
|
|
|
- set_bit(i, adev->gfx.mec.queue_bitmap);
|
|
|
+ if (adev->gfx.mec.num_mec > 1) {
|
|
|
+ /* policy: amdgpu owns the first two queues of the first MEC */
|
|
|
+ if (mec == 0 && queue < 2)
|
|
|
+ set_bit(i, adev->gfx.mec.queue_bitmap);
|
|
|
+ } else {
|
|
|
+ /* policy: amdgpu owns all queues in the first pipe */
|
|
|
+ if (mec == 0 && pipe == 0)
|
|
|
+ set_bit(i, adev->gfx.mec.queue_bitmap);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* update the number of active compute rings */
|