mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 12:52:29 -04:00
drm/amdgpu/jpeg5.0.1: add support for disabling kernel queues
Allow the user to disable kernel queues. This can be used to free up vmid resources if kernel queues are not needed. Set amdgpu.user_queue=2 to disable kernel queues. Reviewed-by: Kent Russell <kent.russell@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -118,6 +118,19 @@ static int jpeg_v5_0_1_early_init(struct amdgpu_ip_block *ip_block)
|
||||
if (!adev->jpeg.num_jpeg_inst || adev->jpeg.num_jpeg_inst > AMDGPU_MAX_JPEG_INSTANCES)
|
||||
return -ENOENT;
|
||||
|
||||
switch (amdgpu_user_queue) {
|
||||
case -1:
|
||||
case 0:
|
||||
default:
|
||||
adev->jpeg.disable_kq = false;
|
||||
adev->jpeg.disable_uq = true;
|
||||
break;
|
||||
case 2:
|
||||
adev->jpeg.disable_kq = true;
|
||||
adev->jpeg.disable_uq = true;
|
||||
break;
|
||||
}
|
||||
|
||||
adev->jpeg.num_jpeg_rings = AMDGPU_MAX_JPEG_RINGS;
|
||||
jpeg_v5_0_1_set_dec_ring_funcs(adev);
|
||||
jpeg_v5_0_1_set_irq_funcs(adev);
|
||||
@@ -172,6 +185,10 @@ static int jpeg_v5_0_1_sw_init(struct amdgpu_ip_block *ip_block)
|
||||
for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) {
|
||||
ring = &adev->jpeg.inst[i].ring_dec[j];
|
||||
ring->use_doorbell = true;
|
||||
if (adev->jpeg.disable_kq) {
|
||||
ring->no_scheduler = true;
|
||||
ring->no_user_submission = true;
|
||||
}
|
||||
ring->vm_hub = AMDGPU_MMHUB0(adev->jpeg.inst[i].aid_id);
|
||||
if (!amdgpu_sriov_vf(adev)) {
|
||||
ring->doorbell_index =
|
||||
|
||||
Reference in New Issue
Block a user