All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Drake <drake@endlessm.com>
To: intel-gfx@lists.freedesktop.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	ville.syrjala@linux.intel.com
Cc: Chris Chiu <chiu@endlessm.com>,
	Linux Upstreaming Team <linux@endlessm.com>
Subject: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
Date: Thu, 4 May 2017 14:21:26 -0600	[thread overview]
Message-ID: <CAD8Lp45zcVDAAshmiBbi3VZ-Zk=bCSBwP0Qw0QL8ibnDO-CECQ@mail.gmail.com> (raw)

Hi,

Numerous Asus desktops and All-in-one computers (e.g. D520MT) have a
regression on Linux 4.9 where the VGA output is shown all-white.

This is a regression caused by:

commit 0ce140d45a8398b501934ac289aef0eb7f47c596
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Oct 11 20:52:47 2016 +0300

    drm/i915: Clean up DDI DDC/AUX CH sanitation


On these platforms, the VGA output is detected as DP (presumably
theres a DP-to-VGA converter on the motherboard). The sanitization
done by the code that was removed here was correctly realising that
port E's DP aux channel was DP_AUX_A, so it disabled DP output on port
A, also showing this message:

   [drm:intel_ddi_init] VBT says port A is not DVI/HDMI/DP compatible,
respect it

But after this cleanup commit, both port A and port E are activated
and the screen shows all-white. Reverting the commit restores usable
VGA display output.

The reason the new implementation doesn't catch the duplicate
configuration is because the new code only considers ports that are
present in the VBT where parse_ddi_port() has run on them (in order to
set that port's info->alternate_aux_channel).

In this case, port A is not present in the VBT so it will not have
info->alternate_aux_channel set, and the new sanitize_aux_ch will run
on port E but will not consider any overlap with port A.

debug logs from an affected kernel:
https://gist.github.com/dsd/7e56c9bca7b2345b678cfacdab30ec55

Should we modify sanitize_aux_ch to look at all aux channels, not only
for the ports specified in the VBT?

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

             reply	other threads:[~2017-05-04 20:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-04 20:21 Daniel Drake [this message]
2017-05-04 20:37 ` i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops Ville Syrjälä
2017-05-04 20:52   ` Daniel Drake
2017-05-04 21:14     ` Manasi Navare
2017-05-05 10:29     ` Ville Syrjälä
2017-05-24 13:50       ` Daniel Drake
2017-05-26 11:26         ` [Intel-gfx] " Jani Nikula
2017-05-05  6:24 ` Jani Nikula

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='CAD8Lp45zcVDAAshmiBbi3VZ-Zk=bCSBwP0Qw0QL8ibnDO-CECQ@mail.gmail.com' \
    --to=drake@endlessm.com \
    --cc=chiu@endlessm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux@endlessm.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.