drm/amdgpu/vce3: only enable 3 rings on new enough firmware (v2)
Older firmware versions don't support 3 rings. fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98016 v2: use define for fw version Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
0f10425e81
commit
ef6239e0cf
|
@ -52,6 +52,8 @@
|
||||||
#define VCE_V3_0_STACK_SIZE (64 * 1024)
|
#define VCE_V3_0_STACK_SIZE (64 * 1024)
|
||||||
#define VCE_V3_0_DATA_SIZE ((16 * 1024 * AMDGPU_MAX_VCE_HANDLES) + (52 * 1024))
|
#define VCE_V3_0_DATA_SIZE ((16 * 1024 * AMDGPU_MAX_VCE_HANDLES) + (52 * 1024))
|
||||||
|
|
||||||
|
#define FW_52_8_3 ((52 << 24) | (8 << 16) | (3 << 8))
|
||||||
|
|
||||||
static void vce_v3_0_mc_resume(struct amdgpu_device *adev, int idx);
|
static void vce_v3_0_mc_resume(struct amdgpu_device *adev, int idx);
|
||||||
static void vce_v3_0_set_ring_funcs(struct amdgpu_device *adev);
|
static void vce_v3_0_set_ring_funcs(struct amdgpu_device *adev);
|
||||||
static void vce_v3_0_set_irq_funcs(struct amdgpu_device *adev);
|
static void vce_v3_0_set_irq_funcs(struct amdgpu_device *adev);
|
||||||
|
@ -382,6 +384,10 @@ static int vce_v3_0_sw_init(void *handle)
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
/* 52.8.3 required for 3 ring support */
|
||||||
|
if (adev->vce.fw_version < FW_52_8_3)
|
||||||
|
adev->vce.num_rings = 2;
|
||||||
|
|
||||||
r = amdgpu_vce_resume(adev);
|
r = amdgpu_vce_resume(adev);
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
Loading…
Reference in New Issue