We are currently observing problems with LG panel when Panel Replay is enabled. Add new quirk DP_DPCD_QUIRK_NO_PANEL_REPLAY and set it for the problematic panel model.
Signed-off-by: Jouni Högander <[email protected]> --- drivers/gpu/drm/display/drm_dp_helper.c | 2 ++ include/drm/display/drm_dp_helper.h | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c index a697cc227e28..96c8b53ba4e4 100644 --- a/drivers/gpu/drm/display/drm_dp_helper.c +++ b/drivers/gpu/drm/display/drm_dp_helper.c @@ -2540,6 +2540,8 @@ static const struct dpcd_quirk dpcd_quirk_list[] = { { OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, true, BIT(DP_DPCD_QUIRK_CONSTANT_N) }, /* LG LP140WF6-SPM1 eDP panel */ { OUI(0x00, 0x22, 0xb9), DEVICE_ID('s', 'i', 'v', 'a', 'r', 'T'), false, BIT(DP_DPCD_QUIRK_CONSTANT_N) }, + /* Problems observed with LG panel */ + { OUI(0x00, 0x22, 0xb9), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PANEL_REPLAY) }, /* Apple panels need some additional handling to support PSR */ { OUI(0x00, 0x10, 0xfa), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_NO_PSR) }, /* CH7511 seems to leave SINK_COUNT zeroed */ diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h index 1d0acd58f486..ca36b5a9c1b6 100644 --- a/include/drm/display/drm_dp_helper.h +++ b/include/drm/display/drm_dp_helper.h @@ -824,6 +824,14 @@ enum drm_dp_quirk { * driver still need to implement proper handling for such device. */ DP_DPCD_QUIRK_NO_PSR, + /** + * @DP_DPCD_QUIRK_NO_PANEL_REPLAY: + * + * The device does not support Panel Replay even if reports + * that it supports or driver still need to implement proper + * handling for such device. + */ + DP_DPCD_QUIRK_NO_PANEL_REPLAY, /** * @DP_DPCD_QUIRK_NO_SINK_COUNT: * -- 2.43.0
