Re: [PATCH] drm/amd/display: fix mode scaling (RMX_.*)

2023-08-18 Thread Harry Wentland



On 2023-08-18 09:17, Hamza Mahfooz wrote:
> As made mention of in commit 4a2df0d1f28e ("drm/amd/display: Fixed
> non-native modes not lighting up"), we shouldn't call
> drm_mode_set_crtcinfo() once the crtc timings have been decided. Since,
> it can cause settings to be unintentionally overwritten. So, since
> dm_state is never NULL now, we can use old_stream to determine if we
> should call drm_mode_set_crtcinfo() because we only need to set the crtc
> timing parameters for entirely new streams.
> 
> Cc: Harry Wentland 
> Cc: Rodrigo Siqueira 
> Fixes: 712237a4a1b4 ("drm/amd/display: Always set crtcinfo from 
> create_stream_for_sink")
> Signed-off-by: Hamza Mahfooz 

Reviewed-by: Harry Wentland 

Harry

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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 3b27b7742854..e9aff5014e39 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -6035,7 +6035,7 @@ create_stream_for_sink(struct amdgpu_dm_connector 
> *aconnector,
>  
>   if (recalculate_timing)
>   drm_mode_set_crtcinfo(&saved_mode, 0);
> - else
> + else if (!old_stream)
>   drm_mode_set_crtcinfo(&mode, 0);
>  
>   /*



Re: [PATCH] drm/amd/display: fix mode scaling (RMX_.*)

2023-08-18 Thread Hamza Mahfooz



On 8/18/23 09:28, Alex Deucher wrote:

On Fri, Aug 18, 2023 at 9:25 AM Hamza Mahfooz  wrote:


As made mention of in commit 4a2df0d1f28e ("drm/amd/display: Fixed
non-native modes not lighting up"), we shouldn't call
drm_mode_set_crtcinfo() once the crtc timings have been decided. Since,
it can cause settings to be unintentionally overwritten. So, since
dm_state is never NULL now, we can use old_stream to determine if we
should call drm_mode_set_crtcinfo() because we only need to set the crtc
timing parameters for entirely new streams.

Cc: Harry Wentland 
Cc: Rodrigo Siqueira 
Fixes: 712237a4a1b4 ("drm/amd/display: Always set crtcinfo from 
create_stream_for_sink")
Signed-off-by: Hamza Mahfooz 


Does this fix:
https://gitlab.freedesktop.org/drm/amd/-/issues/2783
If so, add a link tag for that.


The issue I'm addressing is specific to the colorspace patches (which
weren't ported to 6.4.y to my knowledge). So, that's probably unrelated.



Alex


---
  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

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 3b27b7742854..e9aff5014e39 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -6035,7 +6035,7 @@ create_stream_for_sink(struct amdgpu_dm_connector 
*aconnector,

 if (recalculate_timing)
 drm_mode_set_crtcinfo(&saved_mode, 0);
-   else
+   else if (!old_stream)
 drm_mode_set_crtcinfo(&mode, 0);

 /*
--
2.41.0


--
Hamza



Re: [PATCH] drm/amd/display: fix mode scaling (RMX_.*)

2023-08-18 Thread Alex Deucher
On Fri, Aug 18, 2023 at 9:25 AM Hamza Mahfooz  wrote:
>
> As made mention of in commit 4a2df0d1f28e ("drm/amd/display: Fixed
> non-native modes not lighting up"), we shouldn't call
> drm_mode_set_crtcinfo() once the crtc timings have been decided. Since,
> it can cause settings to be unintentionally overwritten. So, since
> dm_state is never NULL now, we can use old_stream to determine if we
> should call drm_mode_set_crtcinfo() because we only need to set the crtc
> timing parameters for entirely new streams.
>
> Cc: Harry Wentland 
> Cc: Rodrigo Siqueira 
> Fixes: 712237a4a1b4 ("drm/amd/display: Always set crtcinfo from 
> create_stream_for_sink")
> Signed-off-by: Hamza Mahfooz 

Does this fix:
https://gitlab.freedesktop.org/drm/amd/-/issues/2783
If so, add a link tag for that.

Alex

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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 3b27b7742854..e9aff5014e39 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -6035,7 +6035,7 @@ create_stream_for_sink(struct amdgpu_dm_connector 
> *aconnector,
>
> if (recalculate_timing)
> drm_mode_set_crtcinfo(&saved_mode, 0);
> -   else
> +   else if (!old_stream)
> drm_mode_set_crtcinfo(&mode, 0);
>
> /*
> --
> 2.41.0
>


[PATCH] drm/amd/display: fix mode scaling (RMX_.*)

2023-08-18 Thread Hamza Mahfooz
As made mention of in commit 4a2df0d1f28e ("drm/amd/display: Fixed
non-native modes not lighting up"), we shouldn't call
drm_mode_set_crtcinfo() once the crtc timings have been decided. Since,
it can cause settings to be unintentionally overwritten. So, since
dm_state is never NULL now, we can use old_stream to determine if we
should call drm_mode_set_crtcinfo() because we only need to set the crtc
timing parameters for entirely new streams.

Cc: Harry Wentland 
Cc: Rodrigo Siqueira 
Fixes: 712237a4a1b4 ("drm/amd/display: Always set crtcinfo from 
create_stream_for_sink")
Signed-off-by: Hamza Mahfooz 
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 3b27b7742854..e9aff5014e39 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -6035,7 +6035,7 @@ create_stream_for_sink(struct amdgpu_dm_connector 
*aconnector,
 
if (recalculate_timing)
drm_mode_set_crtcinfo(&saved_mode, 0);
-   else
+   else if (!old_stream)
drm_mode_set_crtcinfo(&mode, 0);
 
/*
-- 
2.41.0