aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2017-04-21 11:05:08 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-05-02 04:37:45 -0400
commite345da82bd6bdfa8492f80b3ce4370acfd868d95 (patch)
tree2fa625bf3904e2fdc1dd21114b77482b4aaeb089 /drivers/gpu
parent8b03d1ed2c43a2ba5ef3381322ee4515b97381bf (diff)
drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2
The builtin eDP panel in the HP zBook 17 G2 supports 10 bpc, as advertised by the Laptops product specs and verified via injecting a fixed edid + photometer measurements, but edid reports unknown depth, so drivers fall back to 6 bpc. Add a quirk to get the full 10 bpc. Cc: stable@vger.kernel.org Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1492787108-23959-1-git-send-email-mario.kleiner.de@gmail.com
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/drm_edid.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index fad3d44e4642..2e55599816aa 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -80,6 +80,8 @@
80#define EDID_QUIRK_FORCE_12BPC (1 << 9) 80#define EDID_QUIRK_FORCE_12BPC (1 << 9)
81/* Force 6bpc */ 81/* Force 6bpc */
82#define EDID_QUIRK_FORCE_6BPC (1 << 10) 82#define EDID_QUIRK_FORCE_6BPC (1 << 10)
83/* Force 10bpc */
84#define EDID_QUIRK_FORCE_10BPC (1 << 11)
83 85
84struct detailed_mode_closure { 86struct detailed_mode_closure {
85 struct drm_connector *connector; 87 struct drm_connector *connector;
@@ -122,6 +124,9 @@ static const struct edid_quirk {
122 { "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 | 124 { "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 |
123 EDID_QUIRK_DETAILED_IN_CM }, 125 EDID_QUIRK_DETAILED_IN_CM },
124 126
127 /* LGD panel of HP zBook 17 G2, eDP 10 bpc, but reports unknown bpc */
128 { "LGD", 764, EDID_QUIRK_FORCE_10BPC },
129
125 /* LG Philips LCD LP154W01-A5 */ 130 /* LG Philips LCD LP154W01-A5 */
126 { "LPL", 0, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, 131 { "LPL", 0, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE },
127 { "LPL", 0x2a00, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, 132 { "LPL", 0x2a00, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE },
@@ -4244,6 +4249,9 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
4244 if (quirks & EDID_QUIRK_FORCE_8BPC) 4249 if (quirks & EDID_QUIRK_FORCE_8BPC)
4245 connector->display_info.bpc = 8; 4250 connector->display_info.bpc = 8;
4246 4251
4252 if (quirks & EDID_QUIRK_FORCE_10BPC)
4253 connector->display_info.bpc = 10;
4254
4247 if (quirks & EDID_QUIRK_FORCE_12BPC) 4255 if (quirks & EDID_QUIRK_FORCE_12BPC)
4248 connector->display_info.bpc = 12; 4256 connector->display_info.bpc = 12;
4249 4257