From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Jani Nikula <jani.nikula@intel.com>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
stable@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 2/2] drm/edid: Add 6 bpc quirk for display AEO model 0.
Date: Tue, 14 Jun 2016 13:44:49 +0300 [thread overview]
Message-ID: <20160614104449.GS4329@intel.com> (raw)
In-Reply-To: <1464273544-23834-3-git-send-email-mario.kleiner.de@gmail.com>
On Thu, May 26, 2016 at 04:39:04PM +0200, Mario Kleiner wrote:
> 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 DP panel with faulty EDID.
>
> A fix for this was made by commit 013dd9e03872
> ("drm/i915/dp: fall back to 18 bpp when sink capability is unknown").
>
> That commit triggers new regressions in precision for DP->DVI and
> DP->VGA displays. A patch is out to revert that commit, but it 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.
>
> Tested by injecting the edid from the fdo bug into a DP connector
> via drm_kms_helper.edid_firmware and verifying the 6 bpc + dithering
> is selected.
>
> This patch should be backported to stable.
>
> Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
> Cc: stable@vger.kernel.org
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Now I'm confused. I thought we didn't need any quirks?
> ---
> 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 7df26d4..2cb472b 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 },
> @@ -4082,6 +4087,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
--
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: dri-devel@lists.freedesktop.org, stable@vger.kernel.org,
Jani Nikula <jani.nikula@intel.com>,
Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH 2/2] drm/edid: Add 6 bpc quirk for display AEO model 0.
Date: Tue, 14 Jun 2016 13:44:49 +0300 [thread overview]
Message-ID: <20160614104449.GS4329@intel.com> (raw)
In-Reply-To: <1464273544-23834-3-git-send-email-mario.kleiner.de@gmail.com>
On Thu, May 26, 2016 at 04:39:04PM +0200, Mario Kleiner wrote:
> 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 DP panel with faulty EDID.
>
> A fix for this was made by commit 013dd9e03872
> ("drm/i915/dp: fall back to 18 bpp when sink capability is unknown").
>
> That commit triggers new regressions in precision for DP->DVI and
> DP->VGA displays. A patch is out to revert that commit, but it 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.
>
> Tested by injecting the edid from the fdo bug into a DP connector
> via drm_kms_helper.edid_firmware and verifying the 6 bpc + dithering
> is selected.
>
> This patch should be backported to stable.
>
> Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
> Cc: stable@vger.kernel.org
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Now I'm confused. I thought we didn't need any quirks?
> ---
> 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 7df26d4..2cb472b 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 },
> @@ -4082,6 +4087,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
--
Ville Syrj�l�
Intel OTC
next prev parent reply other threads:[~2016-06-14 10:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 14:39 EDID/DP color precision fixes on Intel hw for stable (v2) Mario Kleiner
2016-05-26 14:39 ` [PATCH 1/2] drm/i915/dp: Revert "drm/i915/dp: fall back to 18 bpp when sink capability is unknown" Mario Kleiner
2016-06-14 11:05 ` Daniel Vetter
2016-06-14 11:05 ` Daniel Vetter
2016-06-14 14:12 ` Mario Kleiner
2016-06-21 15:48 ` Mario Kleiner
2016-06-21 15:48 ` Mario Kleiner
2016-05-26 14:39 ` [PATCH 2/2] drm/edid: Add 6 bpc quirk for display AEO model 0 Mario Kleiner
2016-06-14 10:44 ` Ville Syrjälä [this message]
2016-06-14 10:44 ` Ville Syrjälä
2016-06-14 14:05 ` Mario Kleiner
2016-06-14 14:05 ` Mario Kleiner
[not found] ` <575AE8D9.2090001@gmail.com>
2016-06-10 16:40 ` EDID/DP color precision fixes on Intel hw for stable (v2) Daniel Vetter
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=20160614104449.GS4329@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=mario.kleiner.de@gmail.com \
--cc=stable@vger.kernel.org \
/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.