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;
default: return; }break;