diff mbox series

drm/amd/display: Fix set scaling doesn's work

Message ID 20221122112034.30080-1-hongao@uniontech.com (mailing list archive)
State New, archived
Headers show
Series drm/amd/display: Fix set scaling doesn's work | expand

Commit Message

hongao Nov. 22, 2022, 11:20 a.m. UTC
[Why]
Setting scaling does not correctly update CRTC state. As a result
dc stream state's src (composition area) && dest (addressable area)
was not calculated as expected. This causes set scaling doesn's work.

[How]
Correctly update CRTC state when setting scaling property.

Signed-off-by: hongao <hongao@uniontech.com>

Comments

Rodrigo Siqueira Jordao Jan. 10, 2023, 3:58 p.m. UTC | #1
On 11/22/22 06:20, hongao wrote:
> [Why]
> Setting scaling does not correctly update CRTC state. As a result
> dc stream state's src (composition area) && dest (addressable area)
> was not calculated as expected. This causes set scaling doesn's work.
> 
> [How]
> Correctly update CRTC state when setting scaling property.
> 
> Signed-off-by: hongao <hongao@uniontech.com>
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 3e1ecca72430..a88a6f758748 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -9386,8 +9386,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>   			goto fail;
>   		}
>   
> -		if (dm_old_con_state->abm_level !=
> -		    dm_new_con_state->abm_level)
> +		if (dm_old_con_state->abm_level != dm_new_con_state->abm_level ||
> +		    dm_old_con_state->scaling != dm_new_con_state->scaling)
>   			new_crtc_state->connectors_changed = true;
>   	}
>   

Hi,

This change lgtm, and I also run it in our CI, and from IGT perspective, 
we are good.

Harry, do you have any comment about this change?

Thanks
Siqueira
Harry Wentland Jan. 11, 2023, 3:19 p.m. UTC | #2
On 1/10/23 10:58, Rodrigo Siqueira Jordao wrote:
> 
> 
> On 11/22/22 06:20, hongao wrote:
>> [Why]
>> Setting scaling does not correctly update CRTC state. As a result
>> dc stream state's src (composition area) && dest (addressable area)
>> was not calculated as expected. This causes set scaling doesn's work.
>>
>> [How]
>> Correctly update CRTC state when setting scaling property.
>>
>> Signed-off-by: hongao <hongao@uniontech.com>
>>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> index 3e1ecca72430..a88a6f758748 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -9386,8 +9386,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>>               goto fail;
>>           }
>>   -        if (dm_old_con_state->abm_level !=
>> -            dm_new_con_state->abm_level)
>> +        if (dm_old_con_state->abm_level != dm_new_con_state->abm_level ||
>> +            dm_old_con_state->scaling != dm_new_con_state->scaling)
>>               new_crtc_state->connectors_changed = true;
>>       }
>>   
> 
> Hi,
> 
> This change lgtm, and I also run it in our CI, and from IGT perspective, we are good.
> 
> Harry, do you have any comment about this change?
> 

LGTM

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> Thanks
> Siqueira
Rodrigo Siqueira Jordao Jan. 12, 2023, 4:08 p.m. UTC | #3
On 1/11/23 10:19, Harry Wentland wrote:
> On 1/10/23 10:58, Rodrigo Siqueira Jordao wrote:
>>
>>
>> On 11/22/22 06:20, hongao wrote:
>>> [Why]
>>> Setting scaling does not correctly update CRTC state. As a result
>>> dc stream state's src (composition area) && dest (addressable area)
>>> was not calculated as expected. This causes set scaling doesn's work.
>>>
>>> [How]
>>> Correctly update CRTC state when setting scaling property.
>>>
>>> Signed-off-by: hongao <hongao@uniontech.com>
>>>
>>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>> index 3e1ecca72430..a88a6f758748 100644
>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>> @@ -9386,8 +9386,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>>>                goto fail;
>>>            }
>>>    -        if (dm_old_con_state->abm_level !=
>>> -            dm_new_con_state->abm_level)
>>> +        if (dm_old_con_state->abm_level != dm_new_con_state->abm_level ||
>>> +            dm_old_con_state->scaling != dm_new_con_state->scaling)
>>>                new_crtc_state->connectors_changed = true;
>>>        }
>>>    
>>
>> Hi,
>>
>> This change lgtm, and I also run it in our CI, and from IGT perspective, we are good.
>>
>> Harry, do you have any comment about this change?
>>
> 
> LGTM
> 
> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
> 
> Harry
> 
>> Thanks
>> Siqueira
> 

Thanks, patch applied to amd-staging-drm-next.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 3e1ecca72430..a88a6f758748 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -9386,8 +9386,8 @@  static int amdgpu_dm_atomic_check(struct drm_device *dev,
 			goto fail;
 		}
 
-		if (dm_old_con_state->abm_level !=
-		    dm_new_con_state->abm_level)
+		if (dm_old_con_state->abm_level != dm_new_con_state->abm_level ||
+		    dm_old_con_state->scaling != dm_new_con_state->scaling)
 			new_crtc_state->connectors_changed = true;
 	}