| From 49d45a31b71d7d9da74485922bdb63faf3dc9684 Mon Sep 17 00:00:00 2001 |
| From: Rafał Miłecki <zajec5@gmail.com> |
| Date: Sat, 7 Dec 2013 13:22:42 +0100 |
| Subject: drm/edid: add quirk for BPC in Samsung NP700G7A-S01PL notebook |
| |
| From: Rafał Miłecki <zajec5@gmail.com> |
| |
| commit 49d45a31b71d7d9da74485922bdb63faf3dc9684 upstream. |
| |
| This bug in EDID was exposed by: |
| |
| commit eccea7920cfb009c2fa40e9ecdce8c36f61cab66 |
| Author: Alex Deucher <alexander.deucher@amd.com> |
| Date: Mon Mar 26 15:12:54 2012 -0400 |
| |
| drm/radeon/kms: improve bpc handling (v2) |
| |
| Which resulted in kind of regression in 3.5. This fixes |
| https://bugs.freedesktop.org/show_bug.cgi?id=70934 |
| |
| Signed-off-by: Rafał Miłecki <zajec5@gmail.com> |
| Signed-off-by: Dave Airlie <airlied@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/drm_edid.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/drivers/gpu/drm/drm_edid.c |
| +++ b/drivers/gpu/drm/drm_edid.c |
| @@ -68,6 +68,8 @@ |
| #define EDID_QUIRK_DETAILED_SYNC_PP (1 << 6) |
| /* Force reduced-blanking timings for detailed modes */ |
| #define EDID_QUIRK_FORCE_REDUCED_BLANKING (1 << 7) |
| +/* Force 8bpc */ |
| +#define EDID_QUIRK_FORCE_8BPC (1 << 8) |
| |
| struct detailed_mode_closure { |
| struct drm_connector *connector; |
| @@ -128,6 +130,9 @@ static struct edid_quirk { |
| |
| /* Medion MD 30217 PG */ |
| { "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 }, |
| + |
| + /* Panel in Samsung NP700G7A-S01PL notebook reports 6bpc */ |
| + { "SEC", 0xd033, EDID_QUIRK_FORCE_8BPC }, |
| }; |
| |
| /*** DDC fetch and block validation ***/ |
| @@ -1782,6 +1787,9 @@ int drm_add_edid_modes(struct drm_connec |
| |
| drm_add_display_info(edid, &connector->display_info); |
| |
| + if (quirks & EDID_QUIRK_FORCE_8BPC) |
| + connector->display_info.bpc = 8; |
| + |
| return num_modes; |
| } |
| EXPORT_SYMBOL(drm_add_edid_modes); |