All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
@ 2020-08-13  4:07 Kai-Heng Feng
  2020-08-13 16:50 ` Vivi, Rodrigo
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-08-13  4:07 UTC (permalink / raw)
  To: Ville Syrjälä, Rodrigo Vivi, arthur.j.runyan; +Cc: intel-gfx

Hi,

There's a regression reported that HDMI output stops working after os upgrade:
https://bugs.launchpad.net/bugs/1871721

Here's the bisect result:
0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit
commit 0519c102f5285476d7868a387bdb6c58385e4074
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Mon Jan 22 19:41:31 2018 +0200

    drm/i915: Implement display w/a #1143

    Apparently SKL/KBL/CFL need some manual help to get the
    programmed HDMI vswing to stick. Implement the relevant
    workaround (display w/a #1143).

    Note that the relevant chicken bits live in a transcoder register
    even though the bits affect a specific DDI port rather than a
    specific transcoder. Hence we must pick the correct transcoder
    register instance based on the port rather than based on the
    cpu_transcoder.

    Also note that for completeness I included support for DDI A/E
    in the code even though we never have HDMI on those ports.

    v2: CFL needs the w/a as well (Rodrigo and Art)

    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Art Runyan <arthur.j.runyan@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>


dmesg from drm-tip with drm.debug=0xe can be found here:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/64

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-13  4:07 [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW Kai-Heng Feng
@ 2020-08-13 16:50 ` Vivi, Rodrigo
  2020-08-13 17:56   ` Runyan, Arthur J
  0 siblings, 1 reply; 17+ messages in thread
From: Vivi, Rodrigo @ 2020-08-13 16:50 UTC (permalink / raw)
  To: Kai-Heng Feng, Runyan, Arthur J; +Cc: intel-gfx

Art, any comment here?

I just checked and the  W/a 1143 is implemented as described, but it is
failing HDMI on this hybrid system.

> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> 
> Hi,
> 
> There's a regression reported that HDMI output stops working after os upgrade:
> https://bugs.launchpad.net/bugs/1871721
> 
> Here's the bisect result:
> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit
> commit 0519c102f5285476d7868a387bdb6c58385e4074
> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Date:   Mon Jan 22 19:41:31 2018 +0200
> 
>    drm/i915: Implement display w/a #1143
> 
>    Apparently SKL/KBL/CFL need some manual help to get the
>    programmed HDMI vswing to stick. Implement the relevant
>    workaround (display w/a #1143).
> 
>    Note that the relevant chicken bits live in a transcoder register
>    even though the bits affect a specific DDI port rather than a
>    specific transcoder. Hence we must pick the correct transcoder
>    register instance based on the port rather than based on the
>    cpu_transcoder.
> 
>    Also note that for completeness I included support for DDI A/E
>    in the code even though we never have HDMI on those ports.
> 
>    v2: CFL needs the w/a as well (Rodrigo and Art)
> 
>    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>    Cc: Art Runyan <arthur.j.runyan@intel.com>
>    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>    Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
>    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> 
> dmesg from drm-tip with drm.debug=0xe can be found here:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/64
> 
> Kai-Heng

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-13 16:50 ` Vivi, Rodrigo
@ 2020-08-13 17:56   ` Runyan, Arthur J
  2020-08-14  5:13     ` Kai-Heng Feng
  0 siblings, 1 reply; 17+ messages in thread
From: Runyan, Arthur J @ 2020-08-13 17:56 UTC (permalink / raw)
  To: Vivi, Rodrigo, Kai-Heng Feng; +Cc: intel-gfx

The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
Try checking the vswing that driver programs against what BIOS/GOP programs.

-----Original Message-----
From: Vivi, Rodrigo <rodrigo.vivi@intel.com> 
Sent: Thursday, August 13, 2020 9:50 AM
To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J <arthur.j.runyan@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW

Art, any comment here?

I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.

> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> 
> Hi,
> 
> There's a regression reported that HDMI output stops working after os upgrade:
> https://bugs.launchpad.net/bugs/1871721
> 
> Here's the bisect result:
> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> commit 0519c102f5285476d7868a387bdb6c58385e4074
> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Date:   Mon Jan 22 19:41:31 2018 +0200
> 
>    drm/i915: Implement display w/a #1143
> 
>    Apparently SKL/KBL/CFL need some manual help to get the
>    programmed HDMI vswing to stick. Implement the relevant
>    workaround (display w/a #1143).
> 
>    Note that the relevant chicken bits live in a transcoder register
>    even though the bits affect a specific DDI port rather than a
>    specific transcoder. Hence we must pick the correct transcoder
>    register instance based on the port rather than based on the
>    cpu_transcoder.
> 
>    Also note that for completeness I included support for DDI A/E
>    in the code even though we never have HDMI on those ports.
> 
>    v2: CFL needs the w/a as well (Rodrigo and Art)
> 
>    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>    Cc: Art Runyan <arthur.j.runyan@intel.com>
>    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>    Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
>    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> 
> dmesg from drm-tip with drm.debug=0xe can be found here:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/
> 64
> 
> Kai-Heng


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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-13 17:56   ` Runyan, Arthur J
@ 2020-08-14  5:13     ` Kai-Heng Feng
  2020-08-16 16:22       ` Runyan, Arthur J
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-08-14  5:13 UTC (permalink / raw)
  To: Runyan, Arthur J; +Cc: intel-gfx

Hi,

> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> 
> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> Try checking the vswing that driver programs against what BIOS/GOP programs.

Do you mean to print out value of I915_READ()?
val = I915_READ(CHICKEN_TRANS(transcoder));

Kai-Heng

> 
> -----Original Message-----
> From: Vivi, Rodrigo <rodrigo.vivi@intel.com> 
> Sent: Thursday, August 13, 2020 9:50 AM
> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J <arthur.j.runyan@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> 
> Art, any comment here?
> 
> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> 
>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>> 
>> Hi,
>> 
>> There's a regression reported that HDMI output stops working after os upgrade:
>> https://bugs.launchpad.net/bugs/1871721
>> 
>> Here's the bisect result:
>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Date:   Mon Jan 22 19:41:31 2018 +0200
>> 
>>   drm/i915: Implement display w/a #1143
>> 
>>   Apparently SKL/KBL/CFL need some manual help to get the
>>   programmed HDMI vswing to stick. Implement the relevant
>>   workaround (display w/a #1143).
>> 
>>   Note that the relevant chicken bits live in a transcoder register
>>   even though the bits affect a specific DDI port rather than a
>>   specific transcoder. Hence we must pick the correct transcoder
>>   register instance based on the port rather than based on the
>>   cpu_transcoder.
>> 
>>   Also note that for completeness I included support for DDI A/E
>>   in the code even though we never have HDMI on those ports.
>> 
>>   v2: CFL needs the w/a as well (Rodrigo and Art)
>> 
>>   Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>   Cc: Art Runyan <arthur.j.runyan@intel.com>
>>   Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>   Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
>>   Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> 
>> 
>> dmesg from drm-tip with drm.debug=0xe can be found here:
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/
>> 64
>> 
>> Kai-Heng
> 
> 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-14  5:13     ` Kai-Heng Feng
@ 2020-08-16 16:22       ` Runyan, Arthur J
  2020-08-17  6:17         ` Kai-Heng Feng
  0 siblings, 1 reply; 17+ messages in thread
From: Runyan, Arthur J @ 2020-08-16 16:22 UTC (permalink / raw)
  To: Kai-Heng Feng; +Cc: intel-gfx

You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
Rodrigo can probably show you how. 

-----Original Message-----
From: Kai-Heng Feng <kai.heng.feng@canonical.com> 
Sent: Thursday, August 13, 2020 10:14 PM
To: Runyan, Arthur J <arthur.j.runyan@intel.com>
Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW

Hi,

> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> 
> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> Try checking the vswing that driver programs against what BIOS/GOP programs.

Do you mean to print out value of I915_READ()?
val = I915_READ(CHICKEN_TRANS(transcoder));

Kai-Heng

> 
> -----Original Message-----
> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> Sent: Thursday, August 13, 2020 9:50 AM
> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> <arthur.j.runyan@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> <intel-gfx@lists.freedesktop.org>
> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> breaks HDMI on ASUS GL552VW
> 
> Art, any comment here?
> 
> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> 
>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>> 
>> Hi,
>> 
>> There's a regression reported that HDMI output stops working after os upgrade:
>> https://bugs.launchpad.net/bugs/1871721
>> 
>> Here's the bisect result:
>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Date:   Mon Jan 22 19:41:31 2018 +0200
>> 
>>   drm/i915: Implement display w/a #1143
>> 
>>   Apparently SKL/KBL/CFL need some manual help to get the
>>   programmed HDMI vswing to stick. Implement the relevant
>>   workaround (display w/a #1143).
>> 
>>   Note that the relevant chicken bits live in a transcoder register
>>   even though the bits affect a specific DDI port rather than a
>>   specific transcoder. Hence we must pick the correct transcoder
>>   register instance based on the port rather than based on the
>>   cpu_transcoder.
>> 
>>   Also note that for completeness I included support for DDI A/E
>>   in the code even though we never have HDMI on those ports.
>> 
>>   v2: CFL needs the w/a as well (Rodrigo and Art)
>> 
>>   Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>   Cc: Art Runyan <arthur.j.runyan@intel.com>
>>   Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>   Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
>>   Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> 
>> 
>> dmesg from drm-tip with drm.debug=0xe can be found here:
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments
>> /
>> 64
>> 
>> Kai-Heng
> 
> 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-16 16:22       ` Runyan, Arthur J
@ 2020-08-17  6:17         ` Kai-Heng Feng
  2020-08-24 18:04           ` Ville Syrjälä
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-08-17  6:17 UTC (permalink / raw)
  To: Runyan, Arthur J; +Cc: intel-gfx



> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> 
> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> Rodrigo can probably show you how. 

Right, I'll wait for a patch then :)

Kai-Heng

> 
> -----Original Message-----
> From: Kai-Heng Feng <kai.heng.feng@canonical.com> 
> Sent: Thursday, August 13, 2020 10:14 PM
> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> 
> Hi,
> 
>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>> 
>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
>> Try checking the vswing that driver programs against what BIOS/GOP programs.
> 
> Do you mean to print out value of I915_READ()?
> val = I915_READ(CHICKEN_TRANS(transcoder));
> 
> Kai-Heng
> 
>> 
>> -----Original Message-----
>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>> Sent: Thursday, August 13, 2020 9:50 AM
>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
>> <arthur.j.runyan@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
>> <intel-gfx@lists.freedesktop.org>
>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>> breaks HDMI on ASUS GL552VW
>> 
>> Art, any comment here?
>> 
>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
>> 
>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>>> 
>>> Hi,
>>> 
>>> There's a regression reported that HDMI output stops working after os upgrade:
>>> https://bugs.launchpad.net/bugs/1871721
>>> 
>>> Here's the bisect result:
>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Date:   Mon Jan 22 19:41:31 2018 +0200
>>> 
>>>  drm/i915: Implement display w/a #1143
>>> 
>>>  Apparently SKL/KBL/CFL need some manual help to get the
>>>  programmed HDMI vswing to stick. Implement the relevant
>>>  workaround (display w/a #1143).
>>> 
>>>  Note that the relevant chicken bits live in a transcoder register
>>>  even though the bits affect a specific DDI port rather than a
>>>  specific transcoder. Hence we must pick the correct transcoder
>>>  register instance based on the port rather than based on the
>>>  cpu_transcoder.
>>> 
>>>  Also note that for completeness I included support for DDI A/E
>>>  in the code even though we never have HDMI on those ports.
>>> 
>>>  v2: CFL needs the w/a as well (Rodrigo and Art)
>>> 
>>>  Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>  Cc: Art Runyan <arthur.j.runyan@intel.com>
>>>  Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>  Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
>>>  Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>> 
>>> 
>>> dmesg from drm-tip with drm.debug=0xe can be found here:
>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments
>>> /
>>> 64
>>> 
>>> Kai-Heng
>> 
>> 
> 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-17  6:17         ` Kai-Heng Feng
@ 2020-08-24 18:04           ` Ville Syrjälä
  2020-08-24 18:46             ` Runyan, Arthur J
  0 siblings, 1 reply; 17+ messages in thread
From: Ville Syrjälä @ 2020-08-24 18:04 UTC (permalink / raw)
  To: Kai-Heng Feng; +Cc: intel-gfx, Runyan, Arthur J

On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> 
> 
> > On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > 
> > You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> > Rodrigo can probably show you how. 
> 
> Right, I'll wait for a patch then :)

To grab the BIOS reg values we just have to make sure the driver
doesn't load. Eg. pass something like 
"modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline
(+ whatever other magic ubuntu might require). Confirm with
something like "lsmod | grep i915" to make sure the driver didn't
sneak in despite our best efforts.

Then we can dump the registers with intel_reg from igt-gpu-tools:
intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80
intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C

The only somewhat suspicious thing I noticed is that we treat
DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A,
bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we
should just zero out all the bits of tx_blnclegdisbl when any DDI
needs iboost. Art, is our interpretation of the bits correct or just
a fairy tale?

> 
> Kai-Heng
> 
> > 
> > -----Original Message-----
> > From: Kai-Heng Feng <kai.heng.feng@canonical.com> 
> > Sent: Thursday, August 13, 2020 10:14 PM
> > To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> > Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> > Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> > 
> > Hi,
> > 
> >> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >> 
> >> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> >> Try checking the vswing that driver programs against what BIOS/GOP programs.
> > 
> > Do you mean to print out value of I915_READ()?
> > val = I915_READ(CHICKEN_TRANS(transcoder));
> > 
> > Kai-Heng
> > 
> >> 
> >> -----Original Message-----
> >> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> >> Sent: Thursday, August 13, 2020 9:50 AM
> >> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> >> <arthur.j.runyan@intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> >> <intel-gfx@lists.freedesktop.org>
> >> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >> breaks HDMI on ASUS GL552VW
> >> 
> >> Art, any comment here?
> >> 
> >> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> >> 
> >>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> >>> 
> >>> Hi,
> >>> 
> >>> There's a regression reported that HDMI output stops working after os upgrade:
> >>> https://bugs.launchpad.net/bugs/1871721
> >>> 
> >>> Here's the bisect result:
> >>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> >>> commit 0519c102f5285476d7868a387bdb6c58385e4074
> >>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>> Date:   Mon Jan 22 19:41:31 2018 +0200
> >>> 
> >>>  drm/i915: Implement display w/a #1143
> >>> 
> >>>  Apparently SKL/KBL/CFL need some manual help to get the
> >>>  programmed HDMI vswing to stick. Implement the relevant
> >>>  workaround (display w/a #1143).
> >>> 
> >>>  Note that the relevant chicken bits live in a transcoder register
> >>>  even though the bits affect a specific DDI port rather than a
> >>>  specific transcoder. Hence we must pick the correct transcoder
> >>>  register instance based on the port rather than based on the
> >>>  cpu_transcoder.
> >>> 
> >>>  Also note that for completeness I included support for DDI A/E
> >>>  in the code even though we never have HDMI on those ports.
> >>> 
> >>>  v2: CFL needs the w/a as well (Rodrigo and Art)
> >>> 
> >>>  Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>  Cc: Art Runyan <arthur.j.runyan@intel.com>
> >>>  Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>  Link: https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046-1-ville.syrjala@linux.intel.com
> >>>  Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>> 
> >>> 
> >>> dmesg from drm-tip with drm.debug=0xe can be found here:
> >>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments
> >>> /
> >>> 64
> >>> 
> >>> Kai-Heng
> >> 
> >> 
> > 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-24 18:04           ` Ville Syrjälä
@ 2020-08-24 18:46             ` Runyan, Arthur J
  2020-08-26  4:40               ` Kai-Heng Feng
  0 siblings, 1 reply; 17+ messages in thread
From: Runyan, Arthur J @ 2020-08-24 18:46 UTC (permalink / raw)
  To: Ville Syrjälä, Kai-Heng Feng; +Cc: intel-gfx

I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.

-----Original Message-----
From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
Sent: Monday, August 24, 2020 11:05 AM
To: Kai-Heng Feng <kai.heng.feng@canonical.com>
Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW

On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> 
> 
> > On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > 
> > You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> > Rodrigo can probably show you how. 
> 
> Right, I'll wait for a patch then :)

To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.

Then we can dump the registers with intel_reg from igt-gpu-tools:
intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C

The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?

> 
> Kai-Heng
> 
> > 
> > -----Original Message-----
> > From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > Sent: Thursday, August 13, 2020 10:14 PM
> > To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> > Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
> > <ville.syrjala@linux.intel.com>; intel-gfx 
> > <intel-gfx@lists.freedesktop.org>
> > Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> > breaks HDMI on ASUS GL552VW
> > 
> > Hi,
> > 
> >> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >> 
> >> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> >> Try checking the vswing that driver programs against what BIOS/GOP programs.
> > 
> > Do you mean to print out value of I915_READ()?
> > val = I915_READ(CHICKEN_TRANS(transcoder));
> > 
> > Kai-Heng
> > 
> >> 
> >> -----Original Message-----
> >> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> >> Sent: Thursday, August 13, 2020 9:50 AM
> >> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> >> <arthur.j.runyan@intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> >> <intel-gfx@lists.freedesktop.org>
> >> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >> breaks HDMI on ASUS GL552VW
> >> 
> >> Art, any comment here?
> >> 
> >> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> >> 
> >>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> >>> 
> >>> Hi,
> >>> 
> >>> There's a regression reported that HDMI output stops working after os upgrade:
> >>> https://bugs.launchpad.net/bugs/1871721
> >>> 
> >>> Here's the bisect result:
> >>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> >>> commit 0519c102f5285476d7868a387bdb6c58385e4074
> >>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>> Date:   Mon Jan 22 19:41:31 2018 +0200
> >>> 
> >>>  drm/i915: Implement display w/a #1143
> >>> 
> >>>  Apparently SKL/KBL/CFL need some manual help to get the  
> >>> programmed HDMI vswing to stick. Implement the relevant  
> >>> workaround (display w/a #1143).
> >>> 
> >>>  Note that the relevant chicken bits live in a transcoder register  
> >>> even though the bits affect a specific DDI port rather than a  
> >>> specific transcoder. Hence we must pick the correct transcoder  
> >>> register instance based on the port rather than based on the  
> >>> cpu_transcoder.
> >>> 
> >>>  Also note that for completeness I included support for DDI A/E  
> >>> in the code even though we never have HDMI on those ports.
> >>> 
> >>>  v2: CFL needs the w/a as well (Rodrigo and Art)
> >>> 
> >>>  Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>  Cc: Art Runyan <arthur.j.runyan@intel.com>
> >>>  Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>  Link: 
> >>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
> >>> -1-ville.syrjala@linux.intel.com
> >>>  Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>> 
> >>> 
> >>> dmesg from drm-tip with drm.debug=0xe can be found here:
> >>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> >>> nts
> >>> /
> >>> 64
> >>> 
> >>> Kai-Heng
> >> 
> >> 
> > 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-24 18:46             ` Runyan, Arthur J
@ 2020-08-26  4:40               ` Kai-Heng Feng
  2020-08-26 13:05                 ` Ville Syrjälä
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-08-26  4:40 UTC (permalink / raw)
  To: Runyan, Arthur J; +Cc: intel-gfx

Hi,

> On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> 
> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.


The register read can be found at [1] and [2].

[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
[2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120

Kai-Heng

> 
> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
> Sent: Monday, August 24, 2020 11:05 AM
> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> 
> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
>> 
>> 
>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>> 
>>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
>>> Rodrigo can probably show you how. 
>> 
>> Right, I'll wait for a patch then :)
> 
> To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
> 
> Then we can dump the registers with intel_reg from igt-gpu-tools:
> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
> 
> The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
> 
>> 
>> Kai-Heng
>> 
>>> 
>>> -----Original Message-----
>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>> Sent: Thursday, August 13, 2020 10:14 PM
>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
>>> <ville.syrjala@linux.intel.com>; intel-gfx 
>>> <intel-gfx@lists.freedesktop.org>
>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>> breaks HDMI on ASUS GL552VW
>>> 
>>> Hi,
>>> 
>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>> 
>>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
>>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
>>> 
>>> Do you mean to print out value of I915_READ()?
>>> val = I915_READ(CHICKEN_TRANS(transcoder));
>>> 
>>> Kai-Heng
>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>>>> Sent: Thursday, August 13, 2020 9:50 AM
>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
>>>> <arthur.j.runyan@intel.com>
>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
>>>> <intel-gfx@lists.freedesktop.org>
>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>>> breaks HDMI on ASUS GL552VW
>>>> 
>>>> Art, any comment here?
>>>> 
>>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
>>>> 
>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> There's a regression reported that HDMI output stops working after os upgrade:
>>>>> https://bugs.launchpad.net/bugs/1871721
>>>>> 
>>>>> Here's the bisect result:
>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
>>>>> 
>>>>> drm/i915: Implement display w/a #1143
>>>>> 
>>>>> Apparently SKL/KBL/CFL need some manual help to get the  
>>>>> programmed HDMI vswing to stick. Implement the relevant  
>>>>> workaround (display w/a #1143).
>>>>> 
>>>>> Note that the relevant chicken bits live in a transcoder register  
>>>>> even though the bits affect a specific DDI port rather than a  
>>>>> specific transcoder. Hence we must pick the correct transcoder  
>>>>> register instance based on the port rather than based on the  
>>>>> cpu_transcoder.
>>>>> 
>>>>> Also note that for completeness I included support for DDI A/E  
>>>>> in the code even though we never have HDMI on those ports.
>>>>> 
>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
>>>>> 
>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>> Link: 
>>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
>>>>> -1-ville.syrjala@linux.intel.com
>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>> 
>>>>> 
>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
>>>>> nts
>>>>> /
>>>>> 64
>>>>> 
>>>>> Kai-Heng
>>>> 
>>>> 
>>> 
> 
> --
> Ville Syrjälä
> Intel

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-26  4:40               ` Kai-Heng Feng
@ 2020-08-26 13:05                 ` Ville Syrjälä
  2020-09-03  6:26                   ` Kai-Heng Feng
  0 siblings, 1 reply; 17+ messages in thread
From: Ville Syrjälä @ 2020-08-26 13:05 UTC (permalink / raw)
  To: Kai-Heng Feng; +Cc: intel-gfx, Runyan, Arthur J

On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
> Hi,
> 
> > On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > 
> > I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.
> 
> 
> The register read can be found at [1] and [2].
> 
> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
> [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120

Looks like it's using the 400mV/0dB setting. Can we get the same dumps
with the driver loaded just to confirm whether we're using different
settings? 

Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good
to have.

> 
> Kai-Heng
> 
> > 
> > -----Original Message-----
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
> > Sent: Monday, August 24, 2020 11:05 AM
> > To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> > Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> > 
> > On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> >> 
> >> 
> >>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >>> 
> >>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> >>> Rodrigo can probably show you how. 
> >> 
> >> Right, I'll wait for a patch then :)
> > 
> > To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
> > 
> > Then we can dump the registers with intel_reg from igt-gpu-tools:
> > intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
> > 
> > The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
> > 
> >> 
> >> Kai-Heng
> >> 
> >>> 
> >>> -----Original Message-----
> >>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >>> Sent: Thursday, August 13, 2020 10:14 PM
> >>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> >>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
> >>> <ville.syrjala@linux.intel.com>; intel-gfx 
> >>> <intel-gfx@lists.freedesktop.org>
> >>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >>> breaks HDMI on ASUS GL552VW
> >>> 
> >>> Hi,
> >>> 
> >>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >>>> 
> >>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> >>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
> >>> 
> >>> Do you mean to print out value of I915_READ()?
> >>> val = I915_READ(CHICKEN_TRANS(transcoder));
> >>> 
> >>> Kai-Heng
> >>> 
> >>>> 
> >>>> -----Original Message-----
> >>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> >>>> Sent: Thursday, August 13, 2020 9:50 AM
> >>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> >>>> <arthur.j.runyan@intel.com>
> >>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> >>>> <intel-gfx@lists.freedesktop.org>
> >>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >>>> breaks HDMI on ASUS GL552VW
> >>>> 
> >>>> Art, any comment here?
> >>>> 
> >>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> >>>> 
> >>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> >>>>> 
> >>>>> Hi,
> >>>>> 
> >>>>> There's a regression reported that HDMI output stops working after os upgrade:
> >>>>> https://bugs.launchpad.net/bugs/1871721
> >>>>> 
> >>>>> Here's the bisect result:
> >>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> >>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
> >>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
> >>>>> 
> >>>>> drm/i915: Implement display w/a #1143
> >>>>> 
> >>>>> Apparently SKL/KBL/CFL need some manual help to get the  
> >>>>> programmed HDMI vswing to stick. Implement the relevant  
> >>>>> workaround (display w/a #1143).
> >>>>> 
> >>>>> Note that the relevant chicken bits live in a transcoder register  
> >>>>> even though the bits affect a specific DDI port rather than a  
> >>>>> specific transcoder. Hence we must pick the correct transcoder  
> >>>>> register instance based on the port rather than based on the  
> >>>>> cpu_transcoder.
> >>>>> 
> >>>>> Also note that for completeness I included support for DDI A/E  
> >>>>> in the code even though we never have HDMI on those ports.
> >>>>> 
> >>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
> >>>>> 
> >>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
> >>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>> Link: 
> >>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
> >>>>> -1-ville.syrjala@linux.intel.com
> >>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>> 
> >>>>> 
> >>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
> >>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> >>>>> nts
> >>>>> /
> >>>>> 64
> >>>>> 
> >>>>> Kai-Heng
> >>>> 
> >>>> 
> >>> 
> > 
> > --
> > Ville Syrjälä
> > Intel

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-08-26 13:05                 ` Ville Syrjälä
@ 2020-09-03  6:26                   ` Kai-Heng Feng
  2020-10-13  5:20                     ` Kai-Heng Feng
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-09-03  6:26 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, Runyan, Arthur J



> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> 
> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
>> Hi,
>> 
>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>> 
>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.
>> 
>> 
>> The register read can be found at [1] and [2].
>> 
>> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
>> [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120
> 
> Looks like it's using the 400mV/0dB setting. Can we get the same dumps
> with the driver loaded just to confirm whether we're using different
> settings? 
> 
> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good
> to have.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/124
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/125
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/126

Kai-Heng

> 
>> 
>> Kai-Heng
>> 
>>> 
>>> -----Original Message-----
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
>>> Sent: Monday, August 24, 2020 11:05 AM
>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
>>> 
>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
>>>> 
>>>> 
>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>>> 
>>>>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
>>>>> Rodrigo can probably show you how. 
>>>> 
>>>> Right, I'll wait for a patch then :)
>>> 
>>> To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
>>> 
>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
>>> 
>>> The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
>>> 
>>>> 
>>>> Kai-Heng
>>>> 
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>>>> Sent: Thursday, August 13, 2020 10:14 PM
>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
>>>>> <ville.syrjala@linux.intel.com>; intel-gfx 
>>>>> <intel-gfx@lists.freedesktop.org>
>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>>>> breaks HDMI on ASUS GL552VW
>>>>> 
>>>>> Hi,
>>>>> 
>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>>>> 
>>>>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
>>>>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
>>>>> 
>>>>> Do you mean to print out value of I915_READ()?
>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
>>>>> 
>>>>> Kai-Heng
>>>>> 
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
>>>>>> <arthur.j.runyan@intel.com>
>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>>>>> breaks HDMI on ASUS GL552VW
>>>>>> 
>>>>>> Art, any comment here?
>>>>>> 
>>>>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
>>>>>> 
>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> There's a regression reported that HDMI output stops working after os upgrade:
>>>>>>> https://bugs.launchpad.net/bugs/1871721
>>>>>>> 
>>>>>>> Here's the bisect result:
>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>>>>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
>>>>>>> 
>>>>>>> drm/i915: Implement display w/a #1143
>>>>>>> 
>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the  
>>>>>>> programmed HDMI vswing to stick. Implement the relevant  
>>>>>>> workaround (display w/a #1143).
>>>>>>> 
>>>>>>> Note that the relevant chicken bits live in a transcoder register  
>>>>>>> even though the bits affect a specific DDI port rather than a  
>>>>>>> specific transcoder. Hence we must pick the correct transcoder  
>>>>>>> register instance based on the port rather than based on the  
>>>>>>> cpu_transcoder.
>>>>>>> 
>>>>>>> Also note that for completeness I included support for DDI A/E  
>>>>>>> in the code even though we never have HDMI on those ports.
>>>>>>> 
>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
>>>>>>> 
>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>> Link: 
>>>>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
>>>>>>> -1-ville.syrjala@linux.intel.com
>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>> 
>>>>>>> 
>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
>>>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
>>>>>>> nts
>>>>>>> /
>>>>>>> 64
>>>>>>> 
>>>>>>> Kai-Heng
>>>>>> 
>>>>>> 
>>>>> 
>>> 
>>> --
>>> Ville Syrjälä
>>> Intel
> 
> -- 
> Ville Syrjälä
> Intel

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-09-03  6:26                   ` Kai-Heng Feng
@ 2020-10-13  5:20                     ` Kai-Heng Feng
  2020-10-13 11:15                       ` Ville Syrjälä
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-10-13  5:20 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, Runyan, Arthur J



> On Sep 3, 2020, at 14:26, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> 
> 
> 
>> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>> 
>> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
>>> Hi,
>>> 
>>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>> 
>>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.
>>> 
>>> 
>>> The register read can be found at [1] and [2].
>>> 
>>> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
>>> [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120
>> 
>> Looks like it's using the 400mV/0dB setting. Can we get the same dumps
>> with the driver loaded just to confirm whether we're using different
>> settings? 
>> 
>> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good
>> to have.
> 
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/124
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/125
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/126

A gentle ping...

> 
> Kai-Heng
> 
>> 
>>> 
>>> Kai-Heng
>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
>>>> Sent: Monday, August 24, 2020 11:05 AM
>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
>>>> 
>>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
>>>>> 
>>>>> 
>>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>>>> 
>>>>>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
>>>>>> Rodrigo can probably show you how. 
>>>>> 
>>>>> Right, I'll wait for a patch then :)
>>>> 
>>>> To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
>>>> 
>>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
>>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
>>>> 
>>>> The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
>>>> 
>>>>> 
>>>>> Kai-Heng
>>>>> 
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>>>>> Sent: Thursday, August 13, 2020 10:14 PM
>>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
>>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
>>>>>> <ville.syrjala@linux.intel.com>; intel-gfx 
>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>>>>> breaks HDMI on ASUS GL552VW
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
>>>>>>> 
>>>>>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
>>>>>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
>>>>>> 
>>>>>> Do you mean to print out value of I915_READ()?
>>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
>>>>>> 
>>>>>> Kai-Heng
>>>>>> 
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
>>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
>>>>>>> <arthur.j.runyan@intel.com>
>>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
>>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
>>>>>>> breaks HDMI on ASUS GL552VW
>>>>>>> 
>>>>>>> Art, any comment here?
>>>>>>> 
>>>>>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
>>>>>>> 
>>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
>>>>>>>> 
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> There's a regression reported that HDMI output stops working after os upgrade:
>>>>>>>> https://bugs.launchpad.net/bugs/1871721
>>>>>>>> 
>>>>>>>> Here's the bisect result:
>>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
>>>>>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
>>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
>>>>>>>> 
>>>>>>>> drm/i915: Implement display w/a #1143
>>>>>>>> 
>>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the  
>>>>>>>> programmed HDMI vswing to stick. Implement the relevant  
>>>>>>>> workaround (display w/a #1143).
>>>>>>>> 
>>>>>>>> Note that the relevant chicken bits live in a transcoder register  
>>>>>>>> even though the bits affect a specific DDI port rather than a  
>>>>>>>> specific transcoder. Hence we must pick the correct transcoder  
>>>>>>>> register instance based on the port rather than based on the  
>>>>>>>> cpu_transcoder.
>>>>>>>> 
>>>>>>>> Also note that for completeness I included support for DDI A/E  
>>>>>>>> in the code even though we never have HDMI on those ports.
>>>>>>>> 
>>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
>>>>>>>> 
>>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
>>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>>> Link: 
>>>>>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
>>>>>>>> -1-ville.syrjala@linux.intel.com
>>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
>>>>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
>>>>>>>> nts
>>>>>>>> /
>>>>>>>> 64
>>>>>>>> 
>>>>>>>> Kai-Heng
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>> 
>>>> --
>>>> Ville Syrjälä
>>>> Intel
>> 
>> -- 
>> Ville Syrjälä
>> Intel
> 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-10-13  5:20                     ` Kai-Heng Feng
@ 2020-10-13 11:15                       ` Ville Syrjälä
  2020-10-13 11:50                         ` Saarinen, Jani
  2021-04-07 14:34                         ` Rodrigo Vivi
  0 siblings, 2 replies; 17+ messages in thread
From: Ville Syrjälä @ 2020-10-13 11:15 UTC (permalink / raw)
  To: Kai-Heng Feng; +Cc: intel-gfx, Runyan, Arthur J

On Tue, Oct 13, 2020 at 01:20:35PM +0800, Kai-Heng Feng wrote:
> 
> 
> > On Sep 3, 2020, at 14:26, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> > 
> > 
> > 
> >> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >> 
> >> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
> >>> Hi,
> >>> 
> >>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >>>> 
> >>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.
> >>> 
> >>> 
> >>> The register read can be found at [1] and [2].
> >>> 
> >>> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
> >>> [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120
> >> 
> >> Looks like it's using the 400mV/0dB setting. Can we get the same dumps
> >> with the driver loaded just to confirm whether we're using different
> >> settings? 
> >> 
> >> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good
> >> to have.
> > 
> > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/124
> > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/125
> > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/126
> 
> A gentle ping...

I cooked up some hacks for you to try:
git://github.com/vsyrjala/linux.git skl_vswing_wa_hacks

An upstream bug report would probably be a good idea so that the
communication doesn't have to go through a middle man over email...

> 
> > 
> > Kai-Heng
> > 
> >> 
> >>> 
> >>> Kai-Heng
> >>> 
> >>>> 
> >>>> -----Original Message-----
> >>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
> >>>> Sent: Monday, August 24, 2020 11:05 AM
> >>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> >>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> >>>> 
> >>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> >>>>> 
> >>>>> 
> >>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >>>>>> 
> >>>>>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> >>>>>> Rodrigo can probably show you how. 
> >>>>> 
> >>>>> Right, I'll wait for a patch then :)
> >>>> 
> >>>> To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
> >>>> 
> >>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
> >>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
> >>>> 
> >>>> The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
> >>>> 
> >>>>> 
> >>>>> Kai-Heng
> >>>>> 
> >>>>>> 
> >>>>>> -----Original Message-----
> >>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >>>>>> Sent: Thursday, August 13, 2020 10:14 PM
> >>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> >>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
> >>>>>> <ville.syrjala@linux.intel.com>; intel-gfx 
> >>>>>> <intel-gfx@lists.freedesktop.org>
> >>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >>>>>> breaks HDMI on ASUS GL552VW
> >>>>>> 
> >>>>>> Hi,
> >>>>>> 
> >>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> >>>>>>> 
> >>>>>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> >>>>>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
> >>>>>> 
> >>>>>> Do you mean to print out value of I915_READ()?
> >>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
> >>>>>> 
> >>>>>> Kai-Heng
> >>>>>> 
> >>>>>>> 
> >>>>>>> -----Original Message-----
> >>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> >>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
> >>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> >>>>>>> <arthur.j.runyan@intel.com>
> >>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> >>>>>>> <intel-gfx@lists.freedesktop.org>
> >>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> >>>>>>> breaks HDMI on ASUS GL552VW
> >>>>>>> 
> >>>>>>> Art, any comment here?
> >>>>>>> 
> >>>>>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> >>>>>>> 
> >>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> >>>>>>>> 
> >>>>>>>> Hi,
> >>>>>>>> 
> >>>>>>>> There's a regression reported that HDMI output stops working after os upgrade:
> >>>>>>>> https://bugs.launchpad.net/bugs/1871721
> >>>>>>>> 
> >>>>>>>> Here's the bisect result:
> >>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> >>>>>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
> >>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
> >>>>>>>> 
> >>>>>>>> drm/i915: Implement display w/a #1143
> >>>>>>>> 
> >>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the  
> >>>>>>>> programmed HDMI vswing to stick. Implement the relevant  
> >>>>>>>> workaround (display w/a #1143).
> >>>>>>>> 
> >>>>>>>> Note that the relevant chicken bits live in a transcoder register  
> >>>>>>>> even though the bits affect a specific DDI port rather than a  
> >>>>>>>> specific transcoder. Hence we must pick the correct transcoder  
> >>>>>>>> register instance based on the port rather than based on the  
> >>>>>>>> cpu_transcoder.
> >>>>>>>> 
> >>>>>>>> Also note that for completeness I included support for DDI A/E  
> >>>>>>>> in the code even though we never have HDMI on those ports.
> >>>>>>>> 
> >>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
> >>>>>>>> 
> >>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
> >>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>> Link: 
> >>>>>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
> >>>>>>>> -1-ville.syrjala@linux.intel.com
> >>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>>>>> 
> >>>>>>>> 
> >>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
> >>>>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> >>>>>>>> nts
> >>>>>>>> /
> >>>>>>>> 64
> >>>>>>>> 
> >>>>>>>> Kai-Heng
> >>>>>>> 
> >>>>>>> 
> >>>>>> 
> >>>> 
> >>>> --
> >>>> Ville Syrjälä
> >>>> Intel
> >> 
> >> -- 
> >> Ville Syrjälä
> >> Intel
> > 

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-10-13 11:15                       ` Ville Syrjälä
@ 2020-10-13 11:50                         ` Saarinen, Jani
  2020-10-13 12:18                           ` Kai-Heng Feng
  2021-04-07 14:34                         ` Rodrigo Vivi
  1 sibling, 1 reply; 17+ messages in thread
From: Saarinen, Jani @ 2020-10-13 11:50 UTC (permalink / raw)
  To: Ville Syrjälä, Kai-Heng Feng; +Cc: intel-gfx, Runyan, Arthur J

Hi, 
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjälä
> Sent: tiistai 13. lokakuuta 2020 14.16
> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Runyan, Arthur J
> <arthur.j.runyan@intel.com>
> Subject: Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143"
> breaks HDMI on ASUS GL552VW
> 
> On Tue, Oct 13, 2020 at 01:20:35PM +0800, Kai-Heng Feng wrote:
> >
> >
> > > On Sep 3, 2020, at 14:26, Kai-Heng Feng <kai.heng.feng@canonical.com>
> wrote:
> > >
> > >
> > >
> > >> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com>
> wrote:
> > >>
> > >> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
> > >>> Hi,
> > >>>
> > >>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J
> <arthur.j.runyan@intel.com> wrote:
> > >>>>
> > >>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig
> up some more.
> > >>>
> > >>>
> > >>> The register read can be found at [1] and [2].
> > >>>
> > >>> [1]
> > >>>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> > >>> nts/119 [2]
> > >>>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> > >>> nts/120
> > >>
> > >> Looks like it's using the 400mV/0dB setting. Can we get the same
> > >> dumps with the driver loaded just to confirm whether we're using
> > >> different settings?
> > >>
> > >> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good to
> > >> have.
> > >
> > >
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> > > s/124
> > >
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> > > s/125
> > >
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> > > s/126
> >
> > A gentle ping...
> 
> I cooked up some hacks for you to try:
> git://github.com/vsyrjala/linux.git skl_vswing_wa_hacks
> 
> An upstream bug report would probably be a good idea so that the
> communication doesn't have to go through a middle man over email...
Agree, please make gitlab issue on this. 

> 
> >
> > >
> > > Kai-Heng
> > >
> > >>
> > >>>
> > >>> Kai-Heng
> > >>>
> > >>>>
> > >>>> -----Original Message-----
> > >>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >>>> Sent: Monday, August 24, 2020 11:05 AM
> > >>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > >>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo
> > >>>> <rodrigo.vivi@intel.com>; intel-gfx
> > >>>> <intel-gfx@lists.freedesktop.org>
> > >>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
> > >>>> breaks HDMI on ASUS GL552VW
> > >>>>
> > >>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> > >>>>>
> > >>>>>
> > >>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J
> <arthur.j.runyan@intel.com> wrote:
> > >>>>>>
> > >>>>>> You'll need to read out the DDI_BUF_TRANS_* and
> DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and
> compare with what driver programs.
> > >>>>>> Rodrigo can probably show you how.
> > >>>>>
> > >>>>> Right, I'll wait for a patch then :)
> > >>>>
> > >>>> To grab the BIOS reg values we just have to make sure the driver doesn't
> load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the
> kernel cmdline (+ whatever other magic ubuntu might require). Confirm with
> something like "lsmod | grep i915" to make sure the driver didn't sneak in
> despite our best efforts.
> > >>>>
> > >>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
> > >>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80
> > >>>> intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
> > >>>>
> > >>>> The only somewhat suspicious thing I noticed is that we treat
> DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 ->
> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all
> the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation
> of the bits correct or just a fairy tale?
> > >>>>
> > >>>>>
> > >>>>> Kai-Heng
> > >>>>>
> > >>>>>>
> > >>>>>> -----Original Message-----
> > >>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > >>>>>> Sent: Thursday, August 13, 2020 10:14 PM
> > >>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> > >>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä
> > >>>>>> <ville.syrjala@linux.intel.com>; intel-gfx
> > >>>>>> <intel-gfx@lists.freedesktop.org>
> > >>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
> > >>>>>> breaks HDMI on ASUS GL552VW
> > >>>>>>
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J
> <arthur.j.runyan@intel.com> wrote:
> > >>>>>>>
> > >>>>>>> The workaround is freeing up stuck vswing values to let new vswing
> programming kick in.  Maybe the new vswing values are wrong.
> > >>>>>>> Try checking the vswing that driver programs against what
> BIOS/GOP programs.
> > >>>>>>
> > >>>>>> Do you mean to print out value of I915_READ()?
> > >>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
> > >>>>>>
> > >>>>>> Kai-Heng
> > >>>>>>
> > >>>>>>>
> > >>>>>>> -----Original Message-----
> > >>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> > >>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
> > >>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan,
> > >>>>>>> Arthur J <arthur.j.runyan@intel.com>
> > >>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx
> > >>>>>>> <intel-gfx@lists.freedesktop.org>
> > >>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
> > >>>>>>> breaks HDMI on ASUS GL552VW
> > >>>>>>>
> > >>>>>>> Art, any comment here?
> > >>>>>>>
> > >>>>>>> I just checked and the  W/a 1143 is implemented as described, but it
> is failing HDMI on this hybrid system.
> > >>>>>>>
> > >>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng
> <kai.heng.feng@canonical.com> wrote:
> > >>>>>>>>
> > >>>>>>>> Hi,
> > >>>>>>>>
> > >>>>>>>> There's a regression reported that HDMI output stops working
> after os upgrade:
> > >>>>>>>> https://bugs.launchpad.net/bugs/1871721
> > >>>>>>>>
> > >>>>>>>> Here's the bisect result:
> > >>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad
> > >>>>>>>> commit commit 0519c102f5285476d7868a387bdb6c58385e4074
> > >>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
> > >>>>>>>>
> > >>>>>>>> drm/i915: Implement display w/a #1143
> > >>>>>>>>
> > >>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the
> > >>>>>>>> programmed HDMI vswing to stick. Implement the relevant
> > >>>>>>>> workaround (display w/a #1143).
> > >>>>>>>>
> > >>>>>>>> Note that the relevant chicken bits live in a transcoder
> > >>>>>>>> register even though the bits affect a specific DDI port
> > >>>>>>>> rather than a specific transcoder. Hence we must pick the
> > >>>>>>>> correct transcoder register instance based on the port rather
> > >>>>>>>> than based on the cpu_transcoder.
> > >>>>>>>>
> > >>>>>>>> Also note that for completeness I included support for DDI
> > >>>>>>>> A/E in the code even though we never have HDMI on those ports.
> > >>>>>>>>
> > >>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
> > >>>>>>>>
> > >>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > >>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
> > >>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >>>>>>>> Link:
> > >>>>>>>>
> https://patchwork.freedesktop.org/patch/msgid/20180122174131.
> > >>>>>>>> 28046 -1-ville.syrjala@linux.intel.com
> > >>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
> > >>>>>>>>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/
> > >>>>>>>> comme
> > >>>>>>>> nts
> > >>>>>>>> /
> > >>>>>>>> 64
> > >>>>>>>>
> > >>>>>>>> Kai-Heng
> > >>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>
> > >>>> --
> > >>>> Ville Syrjälä
> > >>>> Intel
> > >>
> > >> --
> > >> Ville Syrjälä
> > >> Intel
> > >
> 
> --
> Ville Syrjälä
> Intel
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-10-13 11:50                         ` Saarinen, Jani
@ 2020-10-13 12:18                           ` Kai-Heng Feng
  2020-10-13 12:25                             ` Saarinen, Jani
  0 siblings, 1 reply; 17+ messages in thread
From: Kai-Heng Feng @ 2020-10-13 12:18 UTC (permalink / raw)
  To: Saarinen, Jani; +Cc: intel-gfx, Runyan, Arthur J



> On Oct 13, 2020, at 19:50, Saarinen, Jani <jani.saarinen@intel.com> wrote:
> 
> Hi, 
>> -----Original Message-----
>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
>> Syrjälä
>> Sent: tiistai 13. lokakuuta 2020 14.16
>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
>> Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Runyan, Arthur J
>> <arthur.j.runyan@intel.com>
>> Subject: Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143"
>> breaks HDMI on ASUS GL552VW
>> 
>> On Tue, Oct 13, 2020 at 01:20:35PM +0800, Kai-Heng Feng wrote:
>>> 
>>> 
>>>> On Sep 3, 2020, at 14:26, Kai-Heng Feng <kai.heng.feng@canonical.com>
>> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com>
>> wrote:
>>>>> 
>>>>> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
>>>>>> Hi,
>>>>>> 
>>>>>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J
>> <arthur.j.runyan@intel.com> wrote:
>>>>>>> 
>>>>>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig
>> up some more.
>>>>>> 
>>>>>> 
>>>>>> The register read can be found at [1] and [2].
>>>>>> 
>>>>>> [1]
>>>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
>>>>>> nts/119 [2]
>>>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
>>>>>> nts/120
>>>>> 
>>>>> Looks like it's using the 400mV/0dB setting. Can we get the same
>>>>> dumps with the driver loaded just to confirm whether we're using
>>>>> different settings?
>>>>> 
>>>>> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good to
>>>>> have.
>>>> 
>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
>>>> s/124
>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
>>>> s/125
>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
>>>> s/126
>>> 
>>> A gentle ping...
>> 
>> I cooked up some hacks for you to try:
>> git://github.com/vsyrjala/linux.git skl_vswing_wa_hacks
>> 
>> An upstream bug report would probably be a good idea so that the
>> communication doesn't have to go through a middle man over email...
> Agree, please make gitlab issue on this. 

It was filed two months ago:
https://gitlab.freedesktop.org/drm/intel/-/issues/2181


> 
>> 
>>> 
>>>> 
>>>> Kai-Heng
>>>> 
>>>>> 
>>>>>> 
>>>>>> Kai-Heng
>>>>>> 
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>> Sent: Monday, August 24, 2020 11:05 AM
>>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>>>>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo
>>>>>>> <rodrigo.vivi@intel.com>; intel-gfx
>>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
>>>>>>> breaks HDMI on ASUS GL552VW
>>>>>>> 
>>>>>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J
>> <arthur.j.runyan@intel.com> wrote:
>>>>>>>>> 
>>>>>>>>> You'll need to read out the DDI_BUF_TRANS_* and
>> DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and
>> compare with what driver programs.
>>>>>>>>> Rodrigo can probably show you how.
>>>>>>>> 
>>>>>>>> Right, I'll wait for a patch then :)
>>>>>>> 
>>>>>>> To grab the BIOS reg values we just have to make sure the driver doesn't
>> load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the
>> kernel cmdline (+ whatever other magic ubuntu might require). Confirm with
>> something like "lsmod | grep i915" to make sure the driver didn't sneak in
>> despite our best efforts.
>>>>>>> 
>>>>>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
>>>>>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80
>>>>>>> intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
>>>>>>> 
>>>>>>> The only somewhat suspicious thing I noticed is that we treat
>> DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 ->
>> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all
>> the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation
>> of the bits correct or just a fairy tale?
>>>>>>> 
>>>>>>>> 
>>>>>>>> Kai-Heng
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
>>>>>>>>> Sent: Thursday, August 13, 2020 10:14 PM
>>>>>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
>>>>>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä
>>>>>>>>> <ville.syrjala@linux.intel.com>; intel-gfx
>>>>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
>>>>>>>>> breaks HDMI on ASUS GL552VW
>>>>>>>>> 
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J
>> <arthur.j.runyan@intel.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> The workaround is freeing up stuck vswing values to let new vswing
>> programming kick in.  Maybe the new vswing values are wrong.
>>>>>>>>>> Try checking the vswing that driver programs against what
>> BIOS/GOP programs.
>>>>>>>>> 
>>>>>>>>> Do you mean to print out value of I915_READ()?
>>>>>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
>>>>>>>>> 
>>>>>>>>> Kai-Heng
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>>>>>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
>>>>>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan,
>>>>>>>>>> Arthur J <arthur.j.runyan@intel.com>
>>>>>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx
>>>>>>>>>> <intel-gfx@lists.freedesktop.org>
>>>>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
>>>>>>>>>> breaks HDMI on ASUS GL552VW
>>>>>>>>>> 
>>>>>>>>>> Art, any comment here?
>>>>>>>>>> 
>>>>>>>>>> I just checked and the  W/a 1143 is implemented as described, but it
>> is failing HDMI on this hybrid system.
>>>>>>>>>> 
>>>>>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng
>> <kai.heng.feng@canonical.com> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi,
>>>>>>>>>>> 
>>>>>>>>>>> There's a regression reported that HDMI output stops working
>> after os upgrade:
>>>>>>>>>>> https://bugs.launchpad.net/bugs/1871721
>>>>>>>>>>> 
>>>>>>>>>>> Here's the bisect result:
>>>>>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad
>>>>>>>>>>> commit commit 0519c102f5285476d7868a387bdb6c58385e4074
>>>>>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
>>>>>>>>>>> 
>>>>>>>>>>> drm/i915: Implement display w/a #1143
>>>>>>>>>>> 
>>>>>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the
>>>>>>>>>>> programmed HDMI vswing to stick. Implement the relevant
>>>>>>>>>>> workaround (display w/a #1143).
>>>>>>>>>>> 
>>>>>>>>>>> Note that the relevant chicken bits live in a transcoder
>>>>>>>>>>> register even though the bits affect a specific DDI port
>>>>>>>>>>> rather than a specific transcoder. Hence we must pick the
>>>>>>>>>>> correct transcoder register instance based on the port rather
>>>>>>>>>>> than based on the cpu_transcoder.
>>>>>>>>>>> 
>>>>>>>>>>> Also note that for completeness I included support for DDI
>>>>>>>>>>> A/E in the code even though we never have HDMI on those ports.
>>>>>>>>>>> 
>>>>>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
>>>>>>>>>>> 
>>>>>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
>>>>>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>>>>>> Link:
>>>>>>>>>>> 
>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.
>>>>>>>>>>> 28046 -1-ville.syrjala@linux.intel.com
>>>>>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
>>>>>>>>>>> 
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/
>>>>>>>>>>> comme
>>>>>>>>>>> nts
>>>>>>>>>>> /
>>>>>>>>>>> 64
>>>>>>>>>>> 
>>>>>>>>>>> Kai-Heng
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Ville Syrjälä
>>>>>>> Intel
>>>>> 
>>>>> --
>>>>> Ville Syrjälä
>>>>> Intel
>>>> 
>> 
>> --
>> Ville Syrjälä
>> Intel
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-10-13 12:18                           ` Kai-Heng Feng
@ 2020-10-13 12:25                             ` Saarinen, Jani
  0 siblings, 0 replies; 17+ messages in thread
From: Saarinen, Jani @ 2020-10-13 12:25 UTC (permalink / raw)
  To: Kai-Heng Feng; +Cc: intel-gfx, Runyan, Arthur J

Hi, 

> -----Original Message-----
> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> Sent: tiistai 13. lokakuuta 2020 15.18
> To: Saarinen, Jani <jani.saarinen@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx <intel-
> gfx@lists.freedesktop.org>; Runyan, Arthur J <arthur.j.runyan@intel.com>
> Subject: Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143"
> breaks HDMI on ASUS GL552VW
> 
> 
> 
> > On Oct 13, 2020, at 19:50, Saarinen, Jani <jani.saarinen@intel.com> wrote:
> >
> > Hi,
> >> -----Original Message-----
> >> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf
> >> Of Ville Syrjälä
> >> Sent: tiistai 13. lokakuuta 2020 14.16
> >> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >> Cc: intel-gfx <intel-gfx@lists.freedesktop.org>; Runyan, Arthur J
> >> <arthur.j.runyan@intel.com>
> >> Subject: Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a
> #1143"
> >> breaks HDMI on ASUS GL552VW
> >>
> >> On Tue, Oct 13, 2020 at 01:20:35PM +0800, Kai-Heng Feng wrote:
> >>>
> >>>
> >>>> On Sep 3, 2020, at 14:26, Kai-Heng Feng
> >>>> <kai.heng.feng@canonical.com>
> >> wrote:
> >>>>
> >>>>
> >>>>
> >>>>> On Aug 26, 2020, at 21:05, Ville Syrjälä
> >>>>> <ville.syrjala@linux.intel.com>
> >> wrote:
> >>>>>
> >>>>> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J
> >> <arthur.j.runyan@intel.com> wrote:
> >>>>>>>
> >>>>>>> I remember some strangeness about the blnclegdisbl.  I'll see if
> >>>>>>> I can dig
> >> up some more.
> >>>>>>
> >>>>>>
> >>>>>> The register read can be found at [1] and [2].
> >>>>>>
> >>>>>> [1]
> >>>>>>
> >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> >>>>>> nts/119 [2]
> >>>>>>
> >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> >>>>>> nts/120
> >>>>>
> >>>>> Looks like it's using the 400mV/0dB setting. Can we get the same
> >>>>> dumps with the driver loaded just to confirm whether we're using
> >>>>> different settings?
> >>>>>
> >>>>> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good to
> >>>>> have.
> >>>>
> >>>>
> >>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> >>>> s/124
> >>>>
> >>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> >>>> s/125
> >>>>
> >>
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comment
> >>>> s/126
> >>>
> >>> A gentle ping...
> >>
> >> I cooked up some hacks for you to try:
> >> git://github.com/vsyrjala/linux.git skl_vswing_wa_hacks
> >>
> >> An upstream bug report would probably be a good idea so that the
> >> communication doesn't have to go through a middle man over email...
> > Agree, please make gitlab issue on this.
> 
> It was filed two months ago: 
> https://gitlab.freedesktop.org/drm/intel/-/issues/2181
Sigh, thanks. 

> 
> 
> >
> >>
> >>>
> >>>>
> >>>> Kai-Heng
> >>>>
> >>>>>
> >>>>>>
> >>>>>> Kai-Heng
> >>>>>>
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>> Sent: Monday, August 24, 2020 11:05 AM
> >>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >>>>>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo
> >>>>>>> <rodrigo.vivi@intel.com>; intel-gfx
> >>>>>>> <intel-gfx@lists.freedesktop.org>
> >>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143"
> >>>>>>> breaks HDMI on ASUS GL552VW
> >>>>>>>
> >>>>>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J
> >> <arthur.j.runyan@intel.com> wrote:
> >>>>>>>>>
> >>>>>>>>> You'll need to read out the DDI_BUF_TRANS_* and
> >> DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and
> >> compare with what driver programs.
> >>>>>>>>> Rodrigo can probably show you how.
> >>>>>>>>
> >>>>>>>> Right, I'll wait for a patch then :)
> >>>>>>>
> >>>>>>> To grab the BIOS reg values we just have to make sure the driver
> >>>>>>> doesn't
> >> load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel
> >> 3" to the kernel cmdline (+ whatever other magic ubuntu might
> >> require). Confirm with something like "lsmod | grep i915" to make
> >> sure the driver didn't sneak in despite our best efforts.
> >>>>>>>
> >>>>>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
> >>>>>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20
> >>>>>>> 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400
> >>>>>>> 0x6C00C
> >>>>>>>
> >>>>>>> The only somewhat suspicious thing I noticed is that we treat
> >> DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A,
> >> bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we
> >> should just zero out all the bits of tx_blnclegdisbl when any DDI
> >> needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Kai-Heng
> >>>>>>>>
> >>>>>>>>>
> >>>>>>>>> -----Original Message-----
> >>>>>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >>>>>>>>> Sent: Thursday, August 13, 2020 10:14 PM
> >>>>>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> >>>>>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä
> >>>>>>>>> <ville.syrjala@linux.intel.com>; intel-gfx
> >>>>>>>>> <intel-gfx@lists.freedesktop.org>
> >>>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a
> #1143"
> >>>>>>>>> breaks HDMI on ASUS GL552VW
> >>>>>>>>>
> >>>>>>>>> Hi,
> >>>>>>>>>
> >>>>>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J
> >> <arthur.j.runyan@intel.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> The workaround is freeing up stuck vswing values to let new
> >>>>>>>>>> vswing
> >> programming kick in.  Maybe the new vswing values are wrong.
> >>>>>>>>>> Try checking the vswing that driver programs against what
> >> BIOS/GOP programs.
> >>>>>>>>>
> >>>>>>>>> Do you mean to print out value of I915_READ()?
> >>>>>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
> >>>>>>>>>
> >>>>>>>>> Kai-Heng
> >>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> -----Original Message-----
> >>>>>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> >>>>>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
> >>>>>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan,
> >>>>>>>>>> Arthur J <arthur.j.runyan@intel.com>
> >>>>>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx
> >>>>>>>>>> <intel-gfx@lists.freedesktop.org>
> >>>>>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a
> #1143"
> >>>>>>>>>> breaks HDMI on ASUS GL552VW
> >>>>>>>>>>
> >>>>>>>>>> Art, any comment here?
> >>>>>>>>>>
> >>>>>>>>>> I just checked and the  W/a 1143 is implemented as described,
> >>>>>>>>>> but it
> >> is failing HDMI on this hybrid system.
> >>>>>>>>>>
> >>>>>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng
> >> <kai.heng.feng@canonical.com> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hi,
> >>>>>>>>>>>
> >>>>>>>>>>> There's a regression reported that HDMI output stops working
> >> after os upgrade:
> >>>>>>>>>>> https://bugs.launchpad.net/bugs/1871721
> >>>>>>>>>>>
> >>>>>>>>>>> Here's the bisect result:
> >>>>>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad
> >>>>>>>>>>> commit commit
> 0519c102f5285476d7868a387bdb6c58385e4074
> >>>>>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
> >>>>>>>>>>>
> >>>>>>>>>>> drm/i915: Implement display w/a #1143
> >>>>>>>>>>>
> >>>>>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the
> >>>>>>>>>>> programmed HDMI vswing to stick. Implement the relevant
> >>>>>>>>>>> workaround (display w/a #1143).
> >>>>>>>>>>>
> >>>>>>>>>>> Note that the relevant chicken bits live in a transcoder
> >>>>>>>>>>> register even though the bits affect a specific DDI port
> >>>>>>>>>>> rather than a specific transcoder. Hence we must pick the
> >>>>>>>>>>> correct transcoder register instance based on the port
> >>>>>>>>>>> rather than based on the cpu_transcoder.
> >>>>>>>>>>>
> >>>>>>>>>>> Also note that for completeness I included support for DDI
> >>>>>>>>>>> A/E in the code even though we never have HDMI on those
> ports.
> >>>>>>>>>>>
> >>>>>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
> >>>>>>>>>>>
> >>>>>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
> >>>>>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>>>>> Link:
> >>>>>>>>>>>
> >> https://patchwork.freedesktop.org/patch/msgid/20180122174131.
> >>>>>>>>>>> 28046 -1-ville.syrjala@linux.intel.com
> >>>>>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
> >>>>>>>>>>>
> >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/
> >>>>>>>>>>> comme
> >>>>>>>>>>> nts
> >>>>>>>>>>> /
> >>>>>>>>>>> 64
> >>>>>>>>>>>
> >>>>>>>>>>> Kai-Heng
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Ville Syrjälä
> >>>>>>> Intel
> >>>>>
> >>>>> --
> >>>>> Ville Syrjälä
> >>>>> Intel
> >>>>
> >>
> >> --
> >> Ville Syrjälä
> >> Intel
> >> _______________________________________________
> >> Intel-gfx mailing list
> >> Intel-gfx@lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

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

* Re: [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
  2020-10-13 11:15                       ` Ville Syrjälä
  2020-10-13 11:50                         ` Saarinen, Jani
@ 2021-04-07 14:34                         ` Rodrigo Vivi
  1 sibling, 0 replies; 17+ messages in thread
From: Rodrigo Vivi @ 2021-04-07 14:34 UTC (permalink / raw)
  To: Ville Syrjälä, Jani Saarinen
  Cc: Runyan, Arthur J, intel-gfx, Kai-Heng Feng

On Tue, Oct 13, 2020 at 02:15:32PM +0300, Ville Syrjälä wrote:
> On Tue, Oct 13, 2020 at 01:20:35PM +0800, Kai-Heng Feng wrote:
> > 
> > 
> > > On Sep 3, 2020, at 14:26, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> > > 
> > > 
> > > 
> > >> On Aug 26, 2020, at 21:05, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > >> 
> > >> On Wed, Aug 26, 2020 at 12:40:15PM +0800, Kai-Heng Feng wrote:
> > >>> Hi,
> > >>> 
> > >>>> On Aug 25, 2020, at 02:46, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > >>>> 
> > >>>> I remember some strangeness about the blnclegdisbl.  I'll see if I can dig up some more.
> > >>> 
> > >>> 
> > >>> The register read can be found at [1] and [2].
> > >>> 
> > >>> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/119
> > >>> [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/120
> > >> 
> > >> Looks like it's using the 400mV/0dB setting. Can we get the same dumps
> > >> with the driver loaded just to confirm whether we're using different
> > >> settings? 
> > >> 
> > >> Also a dump of /sys/kernel/debug/dri/0/i915_vbt would be good
> > >> to have.
> > > 
> > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/124
> > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/125
> > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comments/126
> > 
> > A gentle ping...
> 
> I cooked up some hacks for you to try:
> git://github.com/vsyrjala/linux.git skl_vswing_wa_hacks
> 
> An upstream bug report would probably be a good idea so that the
> communication doesn't have to go through a middle man over email...

any update on this?
Cc: Jani

> 
> > 
> > > 
> > > Kai-Heng
> > > 
> > >> 
> > >>> 
> > >>> Kai-Heng
> > >>> 
> > >>>> 
> > >>>> -----Original Message-----
> > >>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
> > >>>> Sent: Monday, August 24, 2020 11:05 AM
> > >>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > >>>> Cc: Runyan, Arthur J <arthur.j.runyan@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; intel-gfx <intel-gfx@lists.freedesktop.org>
> > >>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW
> > >>>> 
> > >>>> On Mon, Aug 17, 2020 at 02:17:49PM +0800, Kai-Heng Feng wrote:
> > >>>>> 
> > >>>>> 
> > >>>>>> On Aug 17, 2020, at 00:22, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > >>>>>> 
> > >>>>>> You'll need to read out the DDI_BUF_TRANS_* and DISPIO_CR_TX_BMU_CR0 registers at boot before i915 programs them and compare with what driver programs.  
> > >>>>>> Rodrigo can probably show you how. 
> > >>>>> 
> > >>>>> Right, I'll wait for a patch then :)
> > >>>> 
> > >>>> To grab the BIOS reg values we just have to make sure the driver doesn't load. Eg. pass something like "modprobe.blacklist=i915,snd_hda_intel 3" to the kernel cmdline (+ whatever other magic ubuntu might require). Confirm with something like "lsmod | grep i915" to make sure the driver didn't sneak in despite our best efforts.
> > >>>> 
> > >>>> Then we can dump the registers with intel_reg from igt-gpu-tools:
> > >>>> intel_reg read --count 20 0x64E00 0x64E60 0x64EC0 0x64F20 0x64F80 intel_reg read 0x64000 0x64100 0x64200 0x64300 0x64400 0x6C00C
> > >>>> 
> > >>>> The only somewhat suspicious thing I noticed is that we treat DISPIO_CR_TX_BMU_CR0:tx_blnclegdisbl as a bitmask (bit 23 -> DDI A, bit 24 -> DDI B, etc.) whereas the spec seems to be saying that we should just zero out all the bits of tx_blnclegdisbl when any DDI needs iboost. Art, is our interpretation of the bits correct or just a fairy tale?
> > >>>> 
> > >>>>> 
> > >>>>> Kai-Heng
> > >>>>> 
> > >>>>>> 
> > >>>>>> -----Original Message-----
> > >>>>>> From: Kai-Heng Feng <kai.heng.feng@canonical.com>
> > >>>>>> Sent: Thursday, August 13, 2020 10:14 PM
> > >>>>>> To: Runyan, Arthur J <arthur.j.runyan@intel.com>
> > >>>>>> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; Ville Syrjälä 
> > >>>>>> <ville.syrjala@linux.intel.com>; intel-gfx 
> > >>>>>> <intel-gfx@lists.freedesktop.org>
> > >>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> > >>>>>> breaks HDMI on ASUS GL552VW
> > >>>>>> 
> > >>>>>> Hi,
> > >>>>>> 
> > >>>>>>> On Aug 14, 2020, at 01:56, Runyan, Arthur J <arthur.j.runyan@intel.com> wrote:
> > >>>>>>> 
> > >>>>>>> The workaround is freeing up stuck vswing values to let new vswing programming kick in.  Maybe the new vswing values are wrong.
> > >>>>>>> Try checking the vswing that driver programs against what BIOS/GOP programs.
> > >>>>>> 
> > >>>>>> Do you mean to print out value of I915_READ()?
> > >>>>>> val = I915_READ(CHICKEN_TRANS(transcoder));
> > >>>>>> 
> > >>>>>> Kai-Heng
> > >>>>>> 
> > >>>>>>> 
> > >>>>>>> -----Original Message-----
> > >>>>>>> From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
> > >>>>>>> Sent: Thursday, August 13, 2020 9:50 AM
> > >>>>>>> To: Kai-Heng Feng <kai.heng.feng@canonical.com>; Runyan, Arthur J 
> > >>>>>>> <arthur.j.runyan@intel.com>
> > >>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; intel-gfx 
> > >>>>>>> <intel-gfx@lists.freedesktop.org>
> > >>>>>>> Subject: Re: [Regression] "drm/i915: Implement display w/a #1143" 
> > >>>>>>> breaks HDMI on ASUS GL552VW
> > >>>>>>> 
> > >>>>>>> Art, any comment here?
> > >>>>>>> 
> > >>>>>>> I just checked and the  W/a 1143 is implemented as described, but it is failing HDMI on this hybrid system.
> > >>>>>>> 
> > >>>>>>>> On Aug 12, 2020, at 9:07 PM, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> > >>>>>>>> 
> > >>>>>>>> Hi,
> > >>>>>>>> 
> > >>>>>>>> There's a regression reported that HDMI output stops working after os upgrade:
> > >>>>>>>> https://bugs.launchpad.net/bugs/1871721
> > >>>>>>>> 
> > >>>>>>>> Here's the bisect result:
> > >>>>>>>> 0519c102f5285476d7868a387bdb6c58385e4074 is the first bad commit 
> > >>>>>>>> commit 0519c102f5285476d7868a387bdb6c58385e4074
> > >>>>>>>> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >>>>>>>> Date:   Mon Jan 22 19:41:31 2018 +0200
> > >>>>>>>> 
> > >>>>>>>> drm/i915: Implement display w/a #1143
> > >>>>>>>> 
> > >>>>>>>> Apparently SKL/KBL/CFL need some manual help to get the  
> > >>>>>>>> programmed HDMI vswing to stick. Implement the relevant  
> > >>>>>>>> workaround (display w/a #1143).
> > >>>>>>>> 
> > >>>>>>>> Note that the relevant chicken bits live in a transcoder register  
> > >>>>>>>> even though the bits affect a specific DDI port rather than a  
> > >>>>>>>> specific transcoder. Hence we must pick the correct transcoder  
> > >>>>>>>> register instance based on the port rather than based on the  
> > >>>>>>>> cpu_transcoder.
> > >>>>>>>> 
> > >>>>>>>> Also note that for completeness I included support for DDI A/E  
> > >>>>>>>> in the code even though we never have HDMI on those ports.
> > >>>>>>>> 
> > >>>>>>>> v2: CFL needs the w/a as well (Rodrigo and Art)
> > >>>>>>>> 
> > >>>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > >>>>>>>> Cc: Art Runyan <arthur.j.runyan@intel.com>
> > >>>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >>>>>>>> Link: 
> > >>>>>>>> https://patchwork.freedesktop.org/patch/msgid/20180122174131.28046
> > >>>>>>>> -1-ville.syrjala@linux.intel.com
> > >>>>>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > >>>>>>>> 
> > >>>>>>>> 
> > >>>>>>>> dmesg from drm-tip with drm.debug=0xe can be found here:
> > >>>>>>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721/comme
> > >>>>>>>> nts
> > >>>>>>>> /
> > >>>>>>>> 64
> > >>>>>>>> 
> > >>>>>>>> Kai-Heng
> > >>>>>>> 
> > >>>>>>> 
> > >>>>>> 
> > >>>> 
> > >>>> --
> > >>>> Ville Syrjälä
> > >>>> Intel
> > >> 
> > >> -- 
> > >> Ville Syrjälä
> > >> Intel
> > > 
> 
> -- 
> Ville Syrjälä
> Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2021-04-07 14:34 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-13  4:07 [Intel-gfx] [Regression] "drm/i915: Implement display w/a #1143" breaks HDMI on ASUS GL552VW Kai-Heng Feng
2020-08-13 16:50 ` Vivi, Rodrigo
2020-08-13 17:56   ` Runyan, Arthur J
2020-08-14  5:13     ` Kai-Heng Feng
2020-08-16 16:22       ` Runyan, Arthur J
2020-08-17  6:17         ` Kai-Heng Feng
2020-08-24 18:04           ` Ville Syrjälä
2020-08-24 18:46             ` Runyan, Arthur J
2020-08-26  4:40               ` Kai-Heng Feng
2020-08-26 13:05                 ` Ville Syrjälä
2020-09-03  6:26                   ` Kai-Heng Feng
2020-10-13  5:20                     ` Kai-Heng Feng
2020-10-13 11:15                       ` Ville Syrjälä
2020-10-13 11:50                         ` Saarinen, Jani
2020-10-13 12:18                           ` Kai-Heng Feng
2020-10-13 12:25                             ` Saarinen, Jani
2021-04-07 14:34                         ` Rodrigo Vivi

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.