diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c index e584f48f3b54..97a8f786cf85 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c @@ -193,10 +193,14 @@ static bool amdgpu_gfx_is_multipipe_capable(struct amdgpu_device *adev)  }  bool amdgpu_gfx_is_high_priority_compute_queue(struct amdgpu_device *adev, -					       int queue) +					       int pipe, int queue)  { -	/* Policy: make queue 0 of each pipe as high priority compute queue */ -	return (queue == 0); +	bool multipipe_policy = amdgpu_gfx_is_multipipe_capable(adev); +	int cond; +	/* Policy: alternate between normal and high priority */ +	cond = multipipe_policy ? pipe : queue; + +	return ((cond % 2) != 0);  } | 
