Re: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

2021-06-09 Thread Zhu, James
[AMD Official Use Only]

Reviewed-by: James Zhu 


Thanks & Best Regards!


James Zhu


From: amd-gfx  on behalf of Christian 
König 
Sent: Tuesday, June 8, 2021 3:23 AM
To: Zhang, Boyuan ; Deucher, Alexander 
; amd-gfx@lists.freedesktop.org 

Subject: Re: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

Acked-by: Christian König 

Am 07.06.21 um 23:32 schrieb Zhang, Boyuan:
> [AMD Official Use Only]
>
> Patch is
> Reviewed-by: Boyuan Zhang 
>
> Thanks,
> Boyuan
>
> -Original Message-
> From: amd-gfx  On Behalf Of Alex 
> Deucher
> Sent: June 7, 2021 4:29 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander 
> Subject: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+
>
> Drop disabling of gfxoff during VCN use.  This allows gfxoff to kick in and 
> potentially save power if the user is not using gfx for color space 
> conversion or scaling.
>
> VCN1.0 had a bug which prevented it from working properly with gfxoff, so we 
> disabled it while using VCN.  That said, most apps today use gfx for scaling 
> and color space conversion rather than overlay planes so it was generally in 
> use anyway. This was fixed on VCN2+, but since we mostly use gfx for color 
> space conversion and scaling and rapidly powering up/down gfx can negate the 
> advantages of gfxoff, we left gfxoff disabled. As more applications use 
> overlay planes for color space conversion and scaling, this starts to be a 
> win, so go ahead and leave gfxoff enabled.
>
> Signed-off-by: Alex Deucher 
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
>   1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 1dc11dbd62b7..647d2c31e8bd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -393,7 +393,6 @@ static void amdgpu_vcn_idle_work_handler(struct 
> work_struct *work)
>  }
>
>  if (!fences && !atomic_read(>vcn.total_submission_cnt)) {
> -   amdgpu_gfx_off_ctrl(adev, true);
>  amdgpu_device_ip_set_powergating_state(adev, 
> AMD_IP_BLOCK_TYPE_VCN,
> AMD_PG_STATE_GATE);
>  r = amdgpu_dpm_switch_power_profile(adev, 
> PP_SMC_POWER_PROFILE_VIDEO, @@ -413,7 +412,6 @@ void 
> amdgpu_vcn_ring_begin_use(struct amdgpu_ring *ring)
>  atomic_inc(>vcn.total_submission_cnt);
>
>  if (!cancel_delayed_work_sync(>vcn.idle_work)) {
> -   amdgpu_gfx_off_ctrl(adev, false);
>  r = amdgpu_dpm_switch_power_profile(adev, 
> PP_SMC_POWER_PROFILE_VIDEO,
>  true);
>  if (r)
> --
> 2.31.1
>
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cjames.zhu%40amd.com%7Ccf628d25d7704545c4a108d92a4e428c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637587337878810926%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=hN8cuKAmvSK8b2%2B3uhT%2Fb6I6QnKlhIhZkjO6XeD6%2Bgg%3Dreserved=0
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cjames.zhu%40amd.com%7Ccf628d25d7704545c4a108d92a4e428c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637587337878810926%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=hN8cuKAmvSK8b2%2B3uhT%2Fb6I6QnKlhIhZkjO6XeD6%2Bgg%3Dreserved=0

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cjames.zhu%40amd.com%7Ccf628d25d7704545c4a108d92a4e428c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637587337878810926%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=hN8cuKAmvSK8b2%2B3uhT%2Fb6I6QnKlhIhZkjO6XeD6%2Bgg%3Dreserved=0
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

2021-06-08 Thread Christian König

Acked-by: Christian König 

Am 07.06.21 um 23:32 schrieb Zhang, Boyuan:

[AMD Official Use Only]

Patch is
Reviewed-by: Boyuan Zhang 

Thanks,
Boyuan

-Original Message-
From: amd-gfx  On Behalf Of Alex Deucher
Sent: June 7, 2021 4:29 PM
To: amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander 
Subject: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

Drop disabling of gfxoff during VCN use.  This allows gfxoff to kick in and 
potentially save power if the user is not using gfx for color space conversion 
or scaling.

VCN1.0 had a bug which prevented it from working properly with gfxoff, so we 
disabled it while using VCN.  That said, most apps today use gfx for scaling 
and color space conversion rather than overlay planes so it was generally in 
use anyway. This was fixed on VCN2+, but since we mostly use gfx for color 
space conversion and scaling and rapidly powering up/down gfx can negate the 
advantages of gfxoff, we left gfxoff disabled. As more applications use overlay 
planes for color space conversion and scaling, this starts to be a win, so go 
ahead and leave gfxoff enabled.

Signed-off-by: Alex Deucher 
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
  1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 1dc11dbd62b7..647d2c31e8bd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -393,7 +393,6 @@ static void amdgpu_vcn_idle_work_handler(struct work_struct 
*work)
 }

 if (!fences && !atomic_read(>vcn.total_submission_cnt)) {
-   amdgpu_gfx_off_ctrl(adev, true);
 amdgpu_device_ip_set_powergating_state(adev, 
AMD_IP_BLOCK_TYPE_VCN,
AMD_PG_STATE_GATE);
 r = amdgpu_dpm_switch_power_profile(adev, 
PP_SMC_POWER_PROFILE_VIDEO, @@ -413,7 +412,6 @@ void 
amdgpu_vcn_ring_begin_use(struct amdgpu_ring *ring)
 atomic_inc(>vcn.total_submission_cnt);

 if (!cancel_delayed_work_sync(>vcn.idle_work)) {
-   amdgpu_gfx_off_ctrl(adev, false);
 r = amdgpu_dpm_switch_power_profile(adev, 
PP_SMC_POWER_PROFILE_VIDEO,
 true);
 if (r)
--
2.31.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cboyuan.zhang%40amd.com%7Ca1496b99775a485b297d08d929f2e950%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637586945547703815%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=35UfXI3gTYEWcWKn4fFVhac8rHKyZlk6ASIZqjKINJQ%3Dreserved=0
___
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


RE: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

2021-06-07 Thread Zhang, Boyuan
[AMD Official Use Only]

Patch is
Reviewed-by: Boyuan Zhang 

Thanks,
Boyuan

-Original Message-
From: amd-gfx  On Behalf Of Alex Deucher
Sent: June 7, 2021 4:29 PM
To: amd-gfx@lists.freedesktop.org
Cc: Deucher, Alexander 
Subject: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

Drop disabling of gfxoff during VCN use.  This allows gfxoff to kick in and 
potentially save power if the user is not using gfx for color space conversion 
or scaling.

VCN1.0 had a bug which prevented it from working properly with gfxoff, so we 
disabled it while using VCN.  That said, most apps today use gfx for scaling 
and color space conversion rather than overlay planes so it was generally in 
use anyway. This was fixed on VCN2+, but since we mostly use gfx for color 
space conversion and scaling and rapidly powering up/down gfx can negate the 
advantages of gfxoff, we left gfxoff disabled. As more applications use overlay 
planes for color space conversion and scaling, this starts to be a win, so go 
ahead and leave gfxoff enabled.

Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 1dc11dbd62b7..647d2c31e8bd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -393,7 +393,6 @@ static void amdgpu_vcn_idle_work_handler(struct work_struct 
*work)
}

if (!fences && !atomic_read(>vcn.total_submission_cnt)) {
-   amdgpu_gfx_off_ctrl(adev, true);
amdgpu_device_ip_set_powergating_state(adev, 
AMD_IP_BLOCK_TYPE_VCN,
   AMD_PG_STATE_GATE);
r = amdgpu_dpm_switch_power_profile(adev, 
PP_SMC_POWER_PROFILE_VIDEO, @@ -413,7 +412,6 @@ void 
amdgpu_vcn_ring_begin_use(struct amdgpu_ring *ring)
atomic_inc(>vcn.total_submission_cnt);

if (!cancel_delayed_work_sync(>vcn.idle_work)) {
-   amdgpu_gfx_off_ctrl(adev, false);
r = amdgpu_dpm_switch_power_profile(adev, 
PP_SMC_POWER_PROFILE_VIDEO,
true);
if (r)
--
2.31.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfxdata=04%7C01%7Cboyuan.zhang%40amd.com%7Ca1496b99775a485b297d08d929f2e950%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637586945547703815%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=35UfXI3gTYEWcWKn4fFVhac8rHKyZlk6ASIZqjKINJQ%3Dreserved=0
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

2021-06-07 Thread Alex Deucher
On Mon, Jun 7, 2021 at 4:54 PM Ernst Sjöstrand  wrote:
>
> Hi,
>
> doesn't this patch apply the change to VCN1.0 also, which has that bug you 
> mentioned?
>

Nope.  VCN1.0 uses vcn_v1_0_idle_work_handler() and
vcn_v1_0_ring_begin_use() as they have other special handling in
addition to this.

Alex


> Regards
> //Ernst
>
> Den mån 7 juni 2021 kl 22:29 skrev Alex Deucher :
>>
>> Drop disabling of gfxoff during VCN use.  This allows gfxoff
>> to kick in and potentially save power if the user is not using
>> gfx for color space conversion or scaling.
>>
>> VCN1.0 had a bug which prevented it from working properly with
>> gfxoff, so we disabled it while using VCN.  That said, most apps
>> today use gfx for scaling and color space conversion rather than
>> overlay planes so it was generally in use anyway. This was fixed
>> on VCN2+, but since we mostly use gfx for color space conversion
>> and scaling and rapidly powering up/down gfx can negate the
>> advantages of gfxoff, we left gfxoff disabled. As more
>> applications use overlay planes for color space conversion
>> and scaling, this starts to be a win, so go ahead and leave
>> gfxoff enabled.
>>
>> Signed-off-by: Alex Deucher 
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
>>  1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> index 1dc11dbd62b7..647d2c31e8bd 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> @@ -393,7 +393,6 @@ static void amdgpu_vcn_idle_work_handler(struct 
>> work_struct *work)
>> }
>>
>> if (!fences && !atomic_read(>vcn.total_submission_cnt)) {
>> -   amdgpu_gfx_off_ctrl(adev, true);
>> amdgpu_device_ip_set_powergating_state(adev, 
>> AMD_IP_BLOCK_TYPE_VCN,
>>AMD_PG_STATE_GATE);
>> r = amdgpu_dpm_switch_power_profile(adev, 
>> PP_SMC_POWER_PROFILE_VIDEO,
>> @@ -413,7 +412,6 @@ void amdgpu_vcn_ring_begin_use(struct amdgpu_ring *ring)
>> atomic_inc(>vcn.total_submission_cnt);
>>
>> if (!cancel_delayed_work_sync(>vcn.idle_work)) {
>> -   amdgpu_gfx_off_ctrl(adev, false);
>> r = amdgpu_dpm_switch_power_profile(adev, 
>> PP_SMC_POWER_PROFILE_VIDEO,
>> true);
>> if (r)
>> --
>> 2.31.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
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amdgpu/vcn: drop gfxoff control for VCN2+

2021-06-07 Thread Ernst Sjöstrand
Hi,

doesn't this patch apply the change to VCN1.0 also, which has that bug you
mentioned?

Regards
//Ernst

Den mån 7 juni 2021 kl 22:29 skrev Alex Deucher :

> Drop disabling of gfxoff during VCN use.  This allows gfxoff
> to kick in and potentially save power if the user is not using
> gfx for color space conversion or scaling.
>
> VCN1.0 had a bug which prevented it from working properly with
> gfxoff, so we disabled it while using VCN.  That said, most apps
> today use gfx for scaling and color space conversion rather than
> overlay planes so it was generally in use anyway. This was fixed
> on VCN2+, but since we mostly use gfx for color space conversion
> and scaling and rapidly powering up/down gfx can negate the
> advantages of gfxoff, we left gfxoff disabled. As more
> applications use overlay planes for color space conversion
> and scaling, this starts to be a win, so go ahead and leave
> gfxoff enabled.
>
> Signed-off-by: Alex Deucher 
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index 1dc11dbd62b7..647d2c31e8bd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -393,7 +393,6 @@ static void amdgpu_vcn_idle_work_handler(struct
> work_struct *work)
> }
>
> if (!fences && !atomic_read(>vcn.total_submission_cnt)) {
> -   amdgpu_gfx_off_ctrl(adev, true);
> amdgpu_device_ip_set_powergating_state(adev,
> AMD_IP_BLOCK_TYPE_VCN,
>AMD_PG_STATE_GATE);
> r = amdgpu_dpm_switch_power_profile(adev,
> PP_SMC_POWER_PROFILE_VIDEO,
> @@ -413,7 +412,6 @@ void amdgpu_vcn_ring_begin_use(struct amdgpu_ring
> *ring)
> atomic_inc(>vcn.total_submission_cnt);
>
> if (!cancel_delayed_work_sync(>vcn.idle_work)) {
> -   amdgpu_gfx_off_ctrl(adev, false);
> r = amdgpu_dpm_switch_power_profile(adev,
> PP_SMC_POWER_PROFILE_VIDEO,
> true);
> if (r)
> --
> 2.31.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