All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Kleiner <mario.kleiner.de@gmail.com>
To: "Jani Nikula" <jani.nikula@intel.com>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Fwd: [PATCH 3/3] drm/edid: Add 6 bpc quirk for display AEO model 0.
Date: Fri, 6 May 2016 19:43:06 +0200	[thread overview]
Message-ID: <572CD7AA.30101@gmail.com> (raw)
In-Reply-To: <1459122767-13314-4-git-send-email-mario.kleiner.de@gmail.com>




-------- Forwarded Message --------
Subject: [PATCH 3/3] drm/edid: Add 6 bpc quirk for display AEO model 0.
Date: Mon, 28 Mar 2016 01:52:47 +0200
From: Mario Kleiner <mario.kleiner.de@gmail.com>
To: dri-devel@lists.freedesktop.org
CC: mario.kleiner.de@gmail.com, Jani Nikula <jani.nikula@intel.com>, 
Ville Syrjälä <ville.syrjala@linux.intel.com>, Daniel Vetter 
<daniel.vetter@ffwll.ch>, stable@vger.kernel.org

Bugzilla https://bugzilla.kernel.org/show_bug.cgi?id=105331
reports that the "AEO model 0" display is driven with 8 bpc
without dithering by default, which looks bad because that
panel is apparently a 6 bpc panel.

A fix for this was made by commit 013dd9e03872
("drm/i915/dp: fall back to 18 bpp when sink capability is unknown").

However, that commit, while correct in itself, as a side effect
triggers new regressions in precision for DisplayPort->DVI and
DP->VGA displays. Patches are out to fix those regressions, but
they will revert video output for the AEO model 0 panel to 8 bpc
without dithering.

The EDID 1.3 of that panel, as decoded from the xrandr output
attached to that bugzilla bug report, is somewhat faulty, and beyond
other problems also sets the "DFP 1.x compliant TMDS" bit, which
according to DFP spec means to drive the panel with 8 bpc and
no dithering in absence of other colorimetry information.

Try to make the original bug reporter happy despite the
faulty EDID by adding a quirk to mark that panel as 6 bpc,
so 6 bpc output with dithering creates a nice picture.

As the original patch was backported to stable and the
fixes for regressions caused by that patch are aimed
at stable, this patch should also go to stable to
make everybody happy again.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: stable@vger.kernel.org
---
  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 ff28815..7d10537 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -74,6 +74,8 @@
  #define EDID_QUIRK_FORCE_8BPC			(1 << 8)
  /* Force 12bpc */
  #define EDID_QUIRK_FORCE_12BPC			(1 << 9)
+/* Force 6bpc */
+#define EDID_QUIRK_FORCE_6BPC			(1 << 10)

  struct detailed_mode_closure {
  	struct drm_connector *connector;
@@ -100,6 +102,9 @@ static struct edid_quirk {
  	/* Unknown Acer */
  	{ "ACR", 2423, EDID_QUIRK_FIRST_DETAILED_PREFERRED },

+	/* AEO model 0 reports 8 bpc, but is a 6 bpc panel */
+	{ "AEO", 0, EDID_QUIRK_FORCE_6BPC },
+
  	/* Belinea 10 15 55 */
  	{ "MAX", 1516, EDID_QUIRK_PREFER_LARGE_60 },
  	{ "MAX", 0x77e, EDID_QUIRK_PREFER_LARGE_60 },
@@ -3950,6 +3955,9 @@ int drm_add_edid_modes(struct drm_connector 
*connector, struct edid *edid)

  	drm_add_display_info(edid, &connector->display_info, connector);

+	if (quirks & EDID_QUIRK_FORCE_6BPC)
+		connector->display_info.bpc = 6;
+
  	if (quirks & EDID_QUIRK_FORCE_8BPC)
  		connector->display_info.bpc = 8;

-- 
2.7.0



_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2016-05-06 17:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-27 23:52 EDID/DP color precision fixes on Intel hw for stable Mario Kleiner
2016-03-27 23:52 ` [PATCH 1/3] drm/edid: Set 8 bpc color depth for displays with "DFP 1.x compliant TMDS" Mario Kleiner
2016-05-06 17:41   ` Fwd: " Mario Kleiner
2016-03-27 23:52 ` [PATCH 2/3] drm/i915/dp: Try to find proper bpc for DP->legacy converters Mario Kleiner
2016-05-06 17:42   ` Fwd: " Mario Kleiner
2016-03-27 23:52 ` [PATCH 3/3] drm/edid: Add 6 bpc quirk for display AEO model 0 Mario Kleiner
2016-05-06 17:43   ` Mario Kleiner [this message]
2016-05-06 17:40 ` EDID/DP color precision fixes on Intel hw for stable Mario Kleiner
2016-05-06 18:27 ` Ville Syrjälä
2016-05-06 20:03   ` Mario Kleiner
2016-05-07 18:15     ` Ville Syrjälä
2016-05-12 16:52       ` Mario Kleiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=572CD7AA.30101@gmail.com \
    --to=mario.kleiner.de@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.