+ sankeerth
Hi Doug
On 7/21/2022 3:23 PM, Douglas Anderson wrote:
The Sharp LQ140M1JW46 panel is on the Qualcomm sc7280 CRD reference
board. This panel supports 144 Hz and 60 Hz. In the EDID, the 144 Hz
mode is listed first and thus is marked preferred. The EDID decode I
ran says:
First detailed timing includes the native pixel format and preferred
refresh rate.
...
Detailed Timing Descriptors:
DTD 1: 1920x1080 143.981 Hz 16:9 166.587 kHz 346.500 MHz
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 5 Vback 69 Vpol N
DTD 2: 1920x1080 59.990 Hz 16:9 69.409 kHz 144.370 MHz
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 5 Vback 69 Vpol N
I'm proposing here that the above is actually a bug and that the 60 Hz
mode really should be considered preferred by Linux.
The argument here is that this is a laptop panel and on a laptop we
know power will always be a concern. Presumably even if someone using
this panel wanted to use 144 Hz for some use cases they would only do
so dynamically and would still want the default to be 60 Hz.
Let's change the default to 60 Hz using a standard quirk.
Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
Yes, we were aware that 144Hz was getting picked. We found that while
debugging the screen corruption issue.
Well, yes power would be less with 60Hz but so will be the performance.
The test teams have been validating with 144Hz so far so we are checking
internally with the team whether its OKAY to goto 60Hz now since that
kind of invalidates the testing they have been doing.
Will update this thread once we finalize.
---
drivers/gpu/drm/drm_edid.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index bbc25e3b7220..06ff8ba216af 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -160,6 +160,9 @@ static const struct edid_quirk {
EDID_QUIRK('S', 'A', 'M', 596, EDID_QUIRK_PREFER_LARGE_60),
EDID_QUIRK('S', 'A', 'M', 638, EDID_QUIRK_PREFER_LARGE_60),
+ /* 144 Hz should only be used when needed; it wastes power */
+ EDID_QUIRK('S', 'H', 'P', 0x1523, EDID_QUIRK_PREFER_LARGE_60),
+
/* Sony PVM-2541A does up to 12 bpc, but only reports max 8 bpc */
EDID_QUIRK('S', 'N', 'Y', 0x2541, EDID_QUIRK_FORCE_12BPC),