All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] drm/amdgpu/vce:set vce ring priority level
@ 2021-08-26  7:13 Satyajit Sahu
  2021-08-26  7:13 ` [PATCH 2/5] drm/amdgpu/vcn:set vcn encode " Satyajit Sahu
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Satyajit Sahu @ 2021-08-26  7:13 UTC (permalink / raw)
  To: amd-gfx
  Cc: leo.liu, Alexander.Deucher, Christian.Koenig, shashank.sharma,
	nirmoy.das, Satyajit Sahu

There are multiple rings available in VCE. Map each ring
to different priority.

Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 14 ++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 14 ++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
index 1ae7f824adc7..b68411caeac2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
@@ -1168,3 +1168,17 @@ int amdgpu_vce_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 	amdgpu_bo_free_kernel(&bo, NULL, NULL);
 	return r;
 }
+
+enum vce_enc_ring_priority amdgpu_vce_get_ring_prio(int index)
+{
+	switch(index) {
+	case AMDGPU_VCE_GENERAL_PURPOSE:
+		return AMDGPU_VCE_ENC_PRIO_NORMAL;
+	case AMDGPU_VCE_LOW_LATENCY:
+		return AMDGPU_VCE_ENC_PRIO_HIGH;
+	case AMDGPU_VCE_REALTIME:
+		return AMDGPU_VCE_ENC_PRIO_VERY_HIGH;
+	default:
+		return AMDGPU_VCE_ENC_PRIO_NORMAL;
+	}
+}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h
index d6d83a3ec803..60525887e9e3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h
@@ -32,6 +32,19 @@
 
 #define AMDGPU_VCE_FW_53_45	((53 << 24) | (45 << 16))
 
+enum vce_enc_ring_priority {
+	AMDGPU_VCE_ENC_PRIO_NORMAL = 1,
+	AMDGPU_VCE_ENC_PRIO_HIGH,
+	AMDGPU_VCE_ENC_PRIO_VERY_HIGH,
+	AMDGPU_VCE_ENC_PRIO_MAX
+};
+
+enum vce_enc_ring_type {
+	AMDGPU_VCE_GENERAL_PURPOSE,
+	AMDGPU_VCE_LOW_LATENCY,
+	AMDGPU_VCE_REALTIME
+};
+
 struct amdgpu_vce {
 	struct amdgpu_bo	*vcpu_bo;
 	uint64_t		gpu_addr;
@@ -71,5 +84,6 @@ void amdgpu_vce_ring_begin_use(struct amdgpu_ring *ring);
 void amdgpu_vce_ring_end_use(struct amdgpu_ring *ring);
 unsigned amdgpu_vce_ring_get_emit_ib_size(struct amdgpu_ring *ring);
 unsigned amdgpu_vce_ring_get_dma_frame_size(struct amdgpu_ring *ring);
+enum vce_enc_ring_priority amdgpu_vce_get_ring_prio(int index);
 
 #endif
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2021-08-26 13:05 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-26  7:13 [PATCH 1/5] drm/amdgpu/vce:set vce ring priority level Satyajit Sahu
2021-08-26  7:13 ` [PATCH 2/5] drm/amdgpu/vcn:set vcn encode " Satyajit Sahu
2021-08-26  8:20   ` Christian König
2021-08-26 11:32   ` Sharma, Shashank
2021-08-26 12:24     ` Christian König
2021-08-26 12:31       ` Sharma, Shashank
2021-08-26 12:34         ` Christian König
2021-08-26 12:36           ` Sharma, Shashank
2021-08-26 12:38             ` Sahu, Satyajit
2021-08-26  7:13 ` [PATCH 3/5] drm/amdgpu/vce:set ring priorities Satyajit Sahu
2021-08-26  8:21   ` Christian König
2021-08-26 11:38     ` Sharma, Shashank
2021-08-26  7:13 ` [PATCH 4/5] drm/amdgpu/vcn:set " Satyajit Sahu
2021-08-26 11:40   ` Sharma, Shashank
2021-08-26  7:13 ` [PATCH 5/5] drm/amdgpu:schedule vce/vcn encode based on priority Satyajit Sahu
2021-08-26  8:22   ` Christian König
2021-08-26 11:44   ` Sharma, Shashank
2021-08-26 12:25     ` Christian König
2021-08-26 12:32       ` Sharma, Shashank
2021-08-26 12:01   ` Lazar, Lijo
2021-08-26 12:51     ` Sahu, Satyajit
2021-08-26  8:19 ` [PATCH 1/5] drm/amdgpu/vce:set vce ring priority level Christian König
2021-08-26  8:49   ` Sahu, Satyajit

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.