Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [PATCH] drm/amd/display: Add monitor patch for specific eDP
@ 2024-02-27 18:18 Rodrigo Siqueira
  2024-02-28 15:38 ` Harry Wentland
  2024-02-28 15:50 ` Hamza Mahfooz
  0 siblings, 2 replies; 3+ messages in thread
From: Rodrigo Siqueira @ 2024-02-27 18:18 UTC (permalink / raw)
  To: amd-gfx, stable
  Cc: Ivan Lipski, Hamza Mahfooz, Tsung-hua Lin, Chris Chi,
	Harry Wentland, Daniel Wheeler, Sun peng Li, Rodrigo Siqueira

From: Ivan Lipski <ivlipski@amd.com>

[WHY]
Some eDP panels's ext caps don't write initial value cause the value of
dpcd_addr(0x317) is random.  It means that sometimes the eDP will
clarify it is OLED, miniLED...etc cause the backlight control interface
is incorrect.

[HOW]
Add a new panel patch to remove sink ext caps(HDR,OLED...etc)

Cc: stable@vger.kernel.org # 6.5.x
Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
Cc: Tsung-hua Lin <tsung-hua.lin@amd.com>
Cc: Chris Chi <moukong.chi@amd.com>
Cc: Harry Wentland <Harry.Wentland@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Ivan Lipski <ivlipski@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index d9a482908380..764dc3ffd91b 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -63,6 +63,12 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps)
 		DRM_DEBUG_DRIVER("Disabling FAMS on monitor with panel id %X\n", panel_id);
 		edid_caps->panel_patch.disable_fams = true;
 		break;
+	/* Workaround for some monitors that do not clear DPCD 0x317 if FreeSync is unsupported */
+	case drm_edid_encode_panel_id('A', 'U', 'O', 0xA7AB):
+	case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B):
+		DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id);
+		edid_caps->panel_patch.remove_sink_ext_caps = true;
+		break;
 	default:
 		return;
 	}
-- 
2.43.0


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

* Re: [PATCH] drm/amd/display: Add monitor patch for specific eDP
  2024-02-27 18:18 [PATCH] drm/amd/display: Add monitor patch for specific eDP Rodrigo Siqueira
@ 2024-02-28 15:38 ` Harry Wentland
  2024-02-28 15:50 ` Hamza Mahfooz
  1 sibling, 0 replies; 3+ messages in thread
From: Harry Wentland @ 2024-02-28 15:38 UTC (permalink / raw)
  To: Rodrigo Siqueira, amd-gfx, stable
  Cc: Ivan Lipski, Hamza Mahfooz, Tsung-hua Lin, Chris Chi,
	Daniel Wheeler, Sun peng Li



On 2024-02-27 13:18, Rodrigo Siqueira wrote:
> From: Ivan Lipski <ivlipski@amd.com>
> 
> [WHY]
> Some eDP panels's ext caps don't write initial value cause the value of
> dpcd_addr(0x317) is random.  It means that sometimes the eDP will
> clarify it is OLED, miniLED...etc cause the backlight control interface
> is incorrect.
> 
> [HOW]
> Add a new panel patch to remove sink ext caps(HDR,OLED...etc)
> 
> Cc: stable@vger.kernel.org # 6.5.x
> Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
> Cc: Tsung-hua Lin <tsung-hua.lin@amd.com>
> Cc: Chris Chi <moukong.chi@amd.com>
> Cc: Harry Wentland <Harry.Wentland@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
> Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
> Signed-off-by: Ivan Lipski <ivlipski@amd.com>

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

Harry

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> index d9a482908380..764dc3ffd91b 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> @@ -63,6 +63,12 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps)
>  		DRM_DEBUG_DRIVER("Disabling FAMS on monitor with panel id %X\n", panel_id);
>  		edid_caps->panel_patch.disable_fams = true;
>  		break;
> +	/* Workaround for some monitors that do not clear DPCD 0x317 if FreeSync is unsupported */
> +	case drm_edid_encode_panel_id('A', 'U', 'O', 0xA7AB):
> +	case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B):
> +		DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id);
> +		edid_caps->panel_patch.remove_sink_ext_caps = true;
> +		break;
>  	default:
>  		return;
>  	}


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

* Re: [PATCH] drm/amd/display: Add monitor patch for specific eDP
  2024-02-27 18:18 [PATCH] drm/amd/display: Add monitor patch for specific eDP Rodrigo Siqueira
  2024-02-28 15:38 ` Harry Wentland
@ 2024-02-28 15:50 ` Hamza Mahfooz
  1 sibling, 0 replies; 3+ messages in thread
From: Hamza Mahfooz @ 2024-02-28 15:50 UTC (permalink / raw)
  To: Rodrigo Siqueira, amd-gfx, stable, dri-devel
  Cc: Ivan Lipski, Tsung-hua Lin, Chris Chi, Harry Wentland,
	Daniel Wheeler, Sun peng Li

On 2/27/24 13:18, Rodrigo Siqueira wrote:
> From: Ivan Lipski <ivlipski@amd.com>
> 
> [WHY]
> Some eDP panels's ext caps don't write initial value cause the value of
> dpcd_addr(0x317) is random.  It means that sometimes the eDP will
> clarify it is OLED, miniLED...etc cause the backlight control interface
> is incorrect.
> 
> [HOW]
> Add a new panel patch to remove sink ext caps(HDR,OLED...etc)

I wonder if it would make sense to turn this into a DPCD qurik (see
drivers/gpu/drm/display/drm_dp_helper.c). Since, it is rather unsettling
that we have so many panel quirks in our driver.

> 
> Cc: stable@vger.kernel.org # 6.5.x
> Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
> Cc: Tsung-hua Lin <tsung-hua.lin@amd.com>
> Cc: Chris Chi <moukong.chi@amd.com>
> Cc: Harry Wentland <Harry.Wentland@amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
> Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
> Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
> Signed-off-by: Ivan Lipski <ivlipski@amd.com>
> ---
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> index d9a482908380..764dc3ffd91b 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
> @@ -63,6 +63,12 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps)
>   		DRM_DEBUG_DRIVER("Disabling FAMS on monitor with panel id %X\n", panel_id);
>   		edid_caps->panel_patch.disable_fams = true;
>   		break;
> +	/* Workaround for some monitors that do not clear DPCD 0x317 if FreeSync is unsupported */
> +	case drm_edid_encode_panel_id('A', 'U', 'O', 0xA7AB):
> +	case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B):
> +		DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id);
> +		edid_caps->panel_patch.remove_sink_ext_caps = true;
> +		break;
>   	default:
>   		return;
>   	}
-- 
Hamza


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

end of thread, other threads:[~2024-02-28 15:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-27 18:18 [PATCH] drm/amd/display: Add monitor patch for specific eDP Rodrigo Siqueira
2024-02-28 15:38 ` Harry Wentland
2024-02-28 15:50 ` Hamza Mahfooz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox