[PATCH] drm/amd/display: Add monitor patch for specific eDP
Hamza Mahfooz
hamza.mahfooz at amd.com
Wed Feb 28 15:50:37 UTC 2024
On 2/27/24 13:18, Rodrigo Siqueira wrote:
> From: Ivan Lipski <ivlipski at 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 at vger.kernel.org # 6.5.x
> Cc: Hamza Mahfooz <hamza.mahfooz at amd.com>
> Cc: Tsung-hua Lin <tsung-hua.lin at amd.com>
> Cc: Chris Chi <moukong.chi at amd.com>
> Cc: Harry Wentland <Harry.Wentland at amd.com>
> Tested-by: Daniel Wheeler <daniel.wheeler at amd.com>
> Reviewed-by: Sun peng Li <sunpeng.li at amd.com>
> Acked-by: Rodrigo Siqueira <rodrigo.siqueira at amd.com>
> Signed-off-by: Ivan Lipski <ivlipski at 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
More information about the amd-gfx
mailing list