浏览代码

drm/amdgpu: add uvd enc rings

And initialize them

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Leo Liu 8 年之前
父节点
当前提交
f7243053c2
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 2 1
      drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
  2. 2 0
      drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h

+ 2 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h

@@ -27,10 +27,11 @@
 #include "gpu_scheduler.h"
 
 /* max number of rings */
-#define AMDGPU_MAX_RINGS		16
+#define AMDGPU_MAX_RINGS		18
 #define AMDGPU_MAX_GFX_RINGS		1
 #define AMDGPU_MAX_COMPUTE_RINGS	8
 #define AMDGPU_MAX_VCE_RINGS		3
+#define AMDGPU_MAX_UVD_ENC_RINGS	2
 
 /* some special values for the owner field */
 #define AMDGPU_FENCE_OWNER_UNDEFINED	((void*)0ul)

+ 2 - 0
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h

@@ -43,11 +43,13 @@ struct amdgpu_uvd {
 	struct delayed_work	idle_work;
 	const struct firmware	*fw;	/* UVD firmware */
 	struct amdgpu_ring	ring;
+	struct amdgpu_ring	ring_enc[AMDGPU_MAX_UVD_ENC_RINGS];
 	struct amdgpu_irq_src	irq;
 	bool			address_64_bit;
 	bool			use_ctx_buf;
 	struct amd_sched_entity entity;
 	uint32_t                srbm_soft_reset;
+	unsigned		num_enc_rings;
 };
 
 int amdgpu_uvd_sw_init(struct amdgpu_device *adev);