Re: [PATCH 1/2] drm/amdgpu: remove superflous UVD encode entity

2018-07-19 Thread Leo Liu



On 07/18/2018 02:44 PM, Christian König wrote:

Not sure what that was every used for, but now it is completely unused.
UVD having it's own scheduler entity is inherited from UVD physical 
mode, which need send session destroy ib when session is done to free 
the handle in firmware.
Because we cannot call amdgpu_ib_schedule directly, so need the entity 
to put this job to the scheduler.


The patch is:

Reviewed-by: Leo Liu 



Signed-off-by: Christian König 
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h |  1 -
  drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c   | 12 
  drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c   | 14 --
  3 files changed, 27 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
index 8b23a1b00c76..cae3f526216b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
@@ -48,7 +48,6 @@ struct amdgpu_uvd_inst {
struct amdgpu_ring  ring_enc[AMDGPU_MAX_UVD_ENC_RINGS];
struct amdgpu_irq_src   irq;
struct drm_sched_entity entity;
-   struct drm_sched_entity entity_enc;
uint32_tsrbm_soft_reset;
  };
  
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c

index b796dc8375cd..598dbeaba636 100644
--- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
@@ -418,16 +418,6 @@ static int uvd_v6_0_sw_init(void *handle)
adev->uvd.num_enc_rings = 0;
  
  		DRM_INFO("UVD ENC is disabled\n");

-   } else {
-   struct drm_sched_rq *rq;
-   ring = >uvd.inst->ring_enc[0];
-   rq = >sched.sched_rq[DRM_SCHED_PRIORITY_NORMAL];
-   r = drm_sched_entity_init(>uvd.inst->entity_enc,
- , 1, NULL);
-   if (r) {
-   DRM_ERROR("Failed setting up UVD ENC run queue.\n");
-   return r;
-   }
}
  
  	r = amdgpu_uvd_resume(adev);

@@ -463,8 +453,6 @@ static int uvd_v6_0_sw_fini(void *handle)
return r;
  
  	if (uvd_v6_0_enc_support(adev)) {

-   drm_sched_entity_destroy(>uvd.inst->ring_enc[0].sched, 
>uvd.inst->entity_enc);
-
for (i = 0; i < adev->uvd.num_enc_rings; ++i)
amdgpu_ring_fini(>uvd.inst->ring_enc[i]);
}
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c 
b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
index 89fe910e5c9a..2192f4536c24 100644
--- a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
@@ -389,7 +389,6 @@ static int uvd_v7_0_early_init(void *handle)
  static int uvd_v7_0_sw_init(void *handle)
  {
struct amdgpu_ring *ring;
-   struct drm_sched_rq *rq;
int i, j, r;
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
  
@@ -421,17 +420,6 @@ static int uvd_v7_0_sw_init(void *handle)

DRM_INFO("PSP loading UVD firmware\n");
}
  
-	for (j = 0; j < adev->uvd.num_uvd_inst; j++) {

-   ring = >uvd.inst[j].ring_enc[0];
-   rq = >sched.sched_rq[DRM_SCHED_PRIORITY_NORMAL];
-   r = drm_sched_entity_init(>uvd.inst[j].entity_enc,
- , 1, NULL);
-   if (r) {
-   DRM_ERROR("(%d)Failed setting up UVD ENC run queue.\n", 
j);
-   return r;
-   }
-   }
-
r = amdgpu_uvd_resume(adev);
if (r)
return r;
@@ -484,8 +472,6 @@ static int uvd_v7_0_sw_fini(void *handle)
return r;
  
  	for (j = 0; j < adev->uvd.num_uvd_inst; ++j) {

-   drm_sched_entity_destroy(>uvd.inst[j].ring_enc[0].sched, 
>uvd.inst[j].entity_enc);
-
for (i = 0; i < adev->uvd.num_enc_rings; ++i)
amdgpu_ring_fini(>uvd.inst[j].ring_enc[i]);
}


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


RE: [PATCH 1/2] drm/amdgpu: remove superflous UVD encode entity

2018-07-18 Thread Zhou, David(ChunMing)
Acked-by: Chunming  Zhou 

-Original Message-
From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf Of 
Christian K?nig
Sent: Thursday, July 19, 2018 2:45 AM
To: amd-gfx@lists.freedesktop.org
Subject: [PATCH 1/2] drm/amdgpu: remove superflous UVD encode entity

Not sure what that was every used for, but now it is completely unused.

Signed-off-by: Christian König 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h |  1 -
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c   | 12 
 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c   | 14 --
 3 files changed, 27 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
index 8b23a1b00c76..cae3f526216b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h
@@ -48,7 +48,6 @@ struct amdgpu_uvd_inst {
struct amdgpu_ring  ring_enc[AMDGPU_MAX_UVD_ENC_RINGS];
struct amdgpu_irq_src   irq;
struct drm_sched_entity entity;
-   struct drm_sched_entity entity_enc;
uint32_tsrbm_soft_reset;
 };
 
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c 
b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
index b796dc8375cd..598dbeaba636 100644
--- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
@@ -418,16 +418,6 @@ static int uvd_v6_0_sw_init(void *handle)
adev->uvd.num_enc_rings = 0;
 
DRM_INFO("UVD ENC is disabled\n");
-   } else {
-   struct drm_sched_rq *rq;
-   ring = >uvd.inst->ring_enc[0];
-   rq = >sched.sched_rq[DRM_SCHED_PRIORITY_NORMAL];
-   r = drm_sched_entity_init(>uvd.inst->entity_enc,
- , 1, NULL);
-   if (r) {
-   DRM_ERROR("Failed setting up UVD ENC run queue.\n");
-   return r;
-   }
}
 
r = amdgpu_uvd_resume(adev);
@@ -463,8 +453,6 @@ static int uvd_v6_0_sw_fini(void *handle)
return r;
 
if (uvd_v6_0_enc_support(adev)) {
-   drm_sched_entity_destroy(>uvd.inst->ring_enc[0].sched, 
>uvd.inst->entity_enc);
-
for (i = 0; i < adev->uvd.num_enc_rings; ++i)
amdgpu_ring_fini(>uvd.inst->ring_enc[i]);
}
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c 
b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
index 89fe910e5c9a..2192f4536c24 100644
--- a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
@@ -389,7 +389,6 @@ static int uvd_v7_0_early_init(void *handle)  static int 
uvd_v7_0_sw_init(void *handle)  {
struct amdgpu_ring *ring;
-   struct drm_sched_rq *rq;
int i, j, r;
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
@@ -421,17 +420,6 @@ static int uvd_v7_0_sw_init(void *handle)
DRM_INFO("PSP loading UVD firmware\n");
}
 
-   for (j = 0; j < adev->uvd.num_uvd_inst; j++) {
-   ring = >uvd.inst[j].ring_enc[0];
-   rq = >sched.sched_rq[DRM_SCHED_PRIORITY_NORMAL];
-   r = drm_sched_entity_init(>uvd.inst[j].entity_enc,
- , 1, NULL);
-   if (r) {
-   DRM_ERROR("(%d)Failed setting up UVD ENC run queue.\n", 
j);
-   return r;
-   }
-   }
-
r = amdgpu_uvd_resume(adev);
if (r)
return r;
@@ -484,8 +472,6 @@ static int uvd_v7_0_sw_fini(void *handle)
return r;
 
for (j = 0; j < adev->uvd.num_uvd_inst; ++j) {
-   drm_sched_entity_destroy(>uvd.inst[j].ring_enc[0].sched, 
>uvd.inst[j].entity_enc);
-
for (i = 0; i < adev->uvd.num_enc_rings; ++i)
amdgpu_ring_fini(>uvd.inst[j].ring_enc[i]);
}
--
2.14.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx