Message ID | 1492787108-23959-1-git-send-email-mario.kleiner.de@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2017-04-21 11:05 AM, Mario Kleiner wrote: > 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> Harry > --- > drivers/gpu/drm/drm_edid.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index fad3d44..2e55599 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -80,6 +80,8 @@ > #define EDID_QUIRK_FORCE_12BPC (1 << 9) > /* Force 6bpc */ > #define EDID_QUIRK_FORCE_6BPC (1 << 10) > +/* Force 10bpc */ > +#define EDID_QUIRK_FORCE_10BPC (1 << 11) > > struct detailed_mode_closure { > struct drm_connector *connector; > @@ -122,6 +124,9 @@ static const struct edid_quirk { > { "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 | > EDID_QUIRK_DETAILED_IN_CM }, > > + /* LGD panel of HP zBook 17 G2, eDP 10 bpc, but reports unknown bpc */ > + { "LGD", 764, EDID_QUIRK_FORCE_10BPC }, > + > /* LG Philips LCD LP154W01-A5 */ > { "LPL", 0, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, > { "LPL", 0x2a00, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, > @@ -4244,6 +4249,9 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) > if (quirks & EDID_QUIRK_FORCE_8BPC) > connector->display_info.bpc = 8; > > + if (quirks & EDID_QUIRK_FORCE_10BPC) > + connector->display_info.bpc = 10; > + > if (quirks & EDID_QUIRK_FORCE_12BPC) > connector->display_info.bpc = 12; > >
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index fad3d44..2e55599 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -80,6 +80,8 @@ #define EDID_QUIRK_FORCE_12BPC (1 << 9) /* Force 6bpc */ #define EDID_QUIRK_FORCE_6BPC (1 << 10) +/* Force 10bpc */ +#define EDID_QUIRK_FORCE_10BPC (1 << 11) struct detailed_mode_closure { struct drm_connector *connector; @@ -122,6 +124,9 @@ static const struct edid_quirk { { "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 | EDID_QUIRK_DETAILED_IN_CM }, + /* LGD panel of HP zBook 17 G2, eDP 10 bpc, but reports unknown bpc */ + { "LGD", 764, EDID_QUIRK_FORCE_10BPC }, + /* LG Philips LCD LP154W01-A5 */ { "LPL", 0, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, { "LPL", 0x2a00, EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE }, @@ -4244,6 +4249,9 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) if (quirks & EDID_QUIRK_FORCE_8BPC) connector->display_info.bpc = 8; + if (quirks & EDID_QUIRK_FORCE_10BPC) + connector->display_info.bpc = 10; + if (quirks & EDID_QUIRK_FORCE_12BPC) connector->display_info.bpc = 12;
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> --- drivers/gpu/drm/drm_edid.c | 8 ++++++++ 1 file changed, 8 insertions(+)