Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-26 Thread Jani Nikula
On Wed, 24 May 2017, Daniel Drake  wrote:
> On Fri, May 5, 2017 at 4:29 AM, Ville Syrjälä
>  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ä
>>>  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] 87bmqfn9sp.fsf@intel.com">http://mid.mail-archive.com/87bmqfn9sp.fsf@intel.com


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


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-24 Thread Daniel Drake
On Fri, May 5, 2017 at 4:29 AM, Ville Syrjälä
 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ä
>>  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
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-05 Thread Ville Syrjälä
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ä
>  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


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-05 Thread Jani Nikula
On Thu, 04 May 2017, 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.

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=DRM/Intel


>
> This is a regression caused by:
>
> commit 0ce140d45a8398b501934ac289aef0eb7f47c596
> Author: Ville Syrjälä 
> 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-de...@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


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-04 Thread Manasi Navare
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ä
>  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-de...@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


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-04 Thread Daniel Drake
On Thu, May 4, 2017 at 2:37 PM, Ville Syrjälä
 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


Re: [Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-04 Thread Ville Syrjälä
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ä 
> 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
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] i915 4.9 regression: DP AUX CH sanitization no longer working on Asus desktops

2017-05-04 Thread Daniel Drake
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ä 
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
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx