All of lore.kernel.org
 help / color / mirror / Atom feed
* i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
@ 2017-05-04 20:21 Daniel Drake
  2017-05-04 20:37 ` Ville Syrjälä
  2017-05-05  6:24 ` Jani Nikula
  0 siblings, 2 replies; 8+ messages in thread
From: Daniel Drake @ 2017-05-04 20:21 UTC (permalink / raw)
  To: intel-gfx, dri-devel, ville.syrjala; +Cc: Chris Chiu, Linux Upstreaming Team

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-04 20:21 i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops Daniel Drake
@ 2017-05-04 20:37 ` Ville Syrjälä
  2017-05-04 20:52   ` Daniel Drake
  2017-05-05  6:24 ` Jani Nikula
  1 sibling, 1 reply; 8+ messages in thread
From: Ville Syrjälä @ 2017-05-04 20:37 UTC (permalink / raw)
  To: Daniel Drake; +Cc: Chris Chiu, intel-gfx, Linux Upstreaming Team, dri-devel

On Thu, May 04, 2017 at 02:21:26PM -0600, Daniel Drake wrote:
> 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?

Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
that are set when there is no VBT") fixes things for you.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-04 20:37 ` 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ä
  0 siblings, 2 replies; 8+ messages in thread
From: Daniel Drake @ 2017-05-04 20:52 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Chris Chiu, intel-gfx, Linux Upstreaming Team, dri-devel

On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
> Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
> that are set when there is no VBT") fixes things for you.

I think this is not going to help. This would only make a difference
when there is no VBT at all at which point we would see this message
in the logs:

                DRM_INFO("Failed to find VBIOS tables (VBT)\n");

but in this case we have a VBT for ports B, C and E.

 [drm:intel_bios_init [i915]] Port B VBT info: DP:1 HDMI:1 DVI:1 EDP:0 CRT:0
 [drm:intel_bios_init [i915]] VBT HDMI level shift for port B: 8
 [drm:intel_bios_init [i915]] Port C VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0
 [drm:intel_bios_init [i915]] VBT HDMI level shift for port C: 8
 [drm:intel_bios_init [i915]] Port E VBT info: DP:1 HDMI:0 DVI:0 EDP:0 CRT:0
 [drm:intel_bios_init [i915]] VBT HDMI level shift for port E: 0

Let me know if I'm missing something and we will test it anyway

Thanks
Daniel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-04 20:52   ` Daniel Drake
@ 2017-05-04 21:14     ` Manasi Navare
  2017-05-05 10:29     ` Ville Syrjälä
  1 sibling, 0 replies; 8+ messages in thread
From: Manasi Navare @ 2017-05-04 21:14 UTC (permalink / raw)
  To: Daniel Drake; +Cc: Linux Upstreaming Team, intel-gfx, Chris Chiu, dri-devel

On Thu, May 04, 2017 at 02:52:09PM -0600, Daniel Drake wrote:
> On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
> > Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
> > that are set when there is no VBT") fixes things for you.
> 
> I think this is not going to help. This would only make a difference
> when there is no VBT at all at which point we would see this message
> in the logs:
> 
>                 DRM_INFO("Failed to find VBIOS tables (VBT)\n");
> 
> but in this case we have a VBT for ports B, C and E.
> 
>  [drm:intel_bios_init [i915]] Port B VBT info: DP:1 HDMI:1 DVI:1 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port B: 8
>  [drm:intel_bios_init [i915]] Port C VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port C: 8
>  [drm:intel_bios_init [i915]] Port E VBT info: DP:1 HDMI:0 DVI:0 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port E: 0
> 
> Let me know if I'm missing something and we will test it anyway
>

I think now without the "Split out defaults that are set when there is no VBT" patch,
what happens is it enables DP on PORTA by default and then since there is a DP-VGA
adapter on Port E it also enables DP on Port E and since both of these ports use the
same AUX channel, it causes the AUX CH sanitization issues. Atleast that's my guess at triage.

So after the correct VBT parsing, it should actually not enable any AUX transactions
on Port A and detect that no child devices connected to Port A. So the AUX CH should
only be used for Port E and VGA output should work fine.

Manasi

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-04 20:21 i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops Daniel Drake
  2017-05-04 20:37 ` Ville Syrjälä
@ 2017-05-05  6:24 ` Jani Nikula
  1 sibling, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2017-05-05  6:24 UTC (permalink / raw)
  To: Daniel Drake, intel-gfx, dri-devel, ville.syrjala
  Cc: Linux Upstreaming Team, Chris Chiu

On Thu, 04 May 2017, Daniel Drake <drake@endlessm.com> wrote:
> 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.

Would you mind filing a bug over at [1], essentially with this message
copy-pasted and the dmesg attached to the bug please?

Thanks,
Jani.

[1] https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel


>
> 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

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  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
  1 sibling, 1 reply; 8+ messages in thread
From: Ville Syrjälä @ 2017-05-05 10:29 UTC (permalink / raw)
  To: Daniel Drake; +Cc: Chris Chiu, intel-gfx, Linux Upstreaming Team, dri-devel

On Thu, May 04, 2017 at 02:52:09PM -0600, Daniel Drake wrote:
> On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
> > Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
> > that are set when there is no VBT") fixes things for you.
> 
> I think this is not going to help. This would only make a difference
> when there is no VBT at all at which point we would see this message
> in the logs:
> 
>                 DRM_INFO("Failed to find VBIOS tables (VBT)\n");

No, the patch will in fact make a difference only when there is a VBT.

> 
> but in this case we have a VBT for ports B, C and E.
> 
>  [drm:intel_bios_init [i915]] Port B VBT info: DP:1 HDMI:1 DVI:1 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port B: 8
>  [drm:intel_bios_init [i915]] Port C VBT info: DP:0 HDMI:1 DVI:1 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port C: 8
>  [drm:intel_bios_init [i915]] Port E VBT info: DP:1 HDMI:0 DVI:0 EDP:0 CRT:0
>  [drm:intel_bios_init [i915]] VBT HDMI level shift for port E: 0
> 
> Let me know if I'm missing something and we will test it anyway

Please do.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-05 10:29     ` Ville Syrjälä
@ 2017-05-24 13:50       ` Daniel Drake
  2017-05-26 11:26         ` [Intel-gfx] " Jani Nikula
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Drake @ 2017-05-24 13:50 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Chris Chiu, intel-gfx, Linux Upstreaming Team, dri-devel

On Fri, May 5, 2017 at 4:29 AM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
> On Thu, May 04, 2017 at 02:52:09PM -0600, Daniel Drake wrote:
>> On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
>> <ville.syrjala@linux.intel.com> wrote:
>> > Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
>> > that are set when there is no VBT") fixes things for you.
>>
>> I think this is not going to help. This would only make a difference
>> when there is no VBT at all at which point we would see this message
>> in the logs:
>>
>>                 DRM_INFO("Failed to find VBIOS tables (VBT)\n");
>
> No, the patch will in fact make a difference only when there is a VBT.

We confirmed the mentioned patch fixes the issue. Apologies for doubting you :)

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops
  2017-05-24 13:50       ` Daniel Drake
@ 2017-05-26 11:26         ` Jani Nikula
  0 siblings, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2017-05-26 11:26 UTC (permalink / raw)
  To: Daniel Drake, Ville Syrjälä
  Cc: Linux Upstreaming Team, intel-gfx, Chris Chiu, dri-devel

On Wed, 24 May 2017, Daniel Drake <drake@endlessm.com> wrote:
> On Fri, May 5, 2017 at 4:29 AM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
>> On Thu, May 04, 2017 at 02:52:09PM -0600, Daniel Drake wrote:
>>> On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
>>> <ville.syrjala@linux.intel.com> wrote:
>>> > Please check if commit bb1d132935c2 ("drm/i915/vbt: split out defaults
>>> > that are set when there is no VBT") fixes things for you.
>>>
>>> I think this is not going to help. This would only make a difference
>>> when there is no VBT at all at which point we would see this message
>>> in the logs:
>>>
>>>                 DRM_INFO("Failed to find VBIOS tables (VBT)\n");
>>
>> No, the patch will in fact make a difference only when there is a VBT.
>
> We confirmed the mentioned patch fixes the issue. Apologies for
> doubting you :)

Thanks for the follow-up, I made a stable backport request [1] of the
relevant commits to v4.9+.

BR,
Jani.


[1] http://mid.mail-archive.com/87bmqfn9sp.fsf@intel.com


-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-05-26 11:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-04 20:21 i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops Daniel Drake
2017-05-04 20:37 ` 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

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.