All of lore.kernel.org
 help / color / mirror / Atom feed
* Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:25 ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:25 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

Hi guys,
    We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
panel will blink once during boot which never happens on the ASUS
laptop. It caught my attention and I find the difference between them
but I need help for more information,

    The major difference happens in bxt_sanitize_cdclk() on the
following condition check.
        if (cdctl == expected)
                /* All well; nothing to sanitize */
                return;

    On the problematic Acer laptop, the value of cdctl is 0x27a while
the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
to the expected value 0x278 so it needs to be sanitized by assigning
-1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
will force the full PLL disable and enable. And that's the flicker
(blink) we observed during boot.

    Although I can't find the definition about the BIT(2) of CDCLK_CTL
which cause this difference. Can anyone suggest what exactly the
problem is and how should we deal with it? Thanks.

Chris

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

* Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:25 ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:25 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

Hi guys,
    We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
panel will blink once during boot which never happens on the ASUS
laptop. It caught my attention and I find the difference between them
but I need help for more information,

    The major difference happens in bxt_sanitize_cdclk() on the
following condition check.
        if (cdctl == expected)
                /* All well; nothing to sanitize */
                return;

    On the problematic Acer laptop, the value of cdctl is 0x27a while
the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
to the expected value 0x278 so it needs to be sanitized by assigning
-1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
will force the full PLL disable and enable. And that's the flicker
(blink) we observed during boot.

    Although I can't find the definition about the BIT(2) of CDCLK_CTL
which cause this difference. Can anyone suggest what exactly the
problem is and how should we deal with it? Thanks.

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

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

* [Intel-gfx] Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:25 ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:25 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

Hi guys,
    We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
panel will blink once during boot which never happens on the ASUS
laptop. It caught my attention and I find the difference between them
but I need help for more information,

    The major difference happens in bxt_sanitize_cdclk() on the
following condition check.
        if (cdctl == expected)
                /* All well; nothing to sanitize */
                return;

    On the problematic Acer laptop, the value of cdctl is 0x27a while
the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
to the expected value 0x278 so it needs to be sanitized by assigning
-1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
will force the full PLL disable and enable. And that's the flicker
(blink) we observed during boot.

    Although I can't find the definition about the BIT(2) of CDCLK_CTL
which cause this difference. Can anyone suggest what exactly the
problem is and how should we deal with it? Thanks.

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

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

* Re: Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:29   ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:29 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

On Wed, Oct 30, 2019 at 6:25 PM Chris Chiu <chiu@endlessm.com> wrote:
>
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,

Sorry, I forgot to mention that the problem was reproduced on the
latest kernel 5.3.

Chris

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

* Re: Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:29   ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:29 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

On Wed, Oct 30, 2019 at 6:25 PM Chris Chiu <chiu@endlessm.com> wrote:
>
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,

Sorry, I forgot to mention that the problem was reproduced on the
latest kernel 5.3.

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

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

* Re: [Intel-gfx] Unexpected screen flicker during i915 initialization
@ 2019-10-30 10:29   ` Chris Chiu
  0 siblings, 0 replies; 9+ messages in thread
From: Chris Chiu @ 2019-10-30 10:29 UTC (permalink / raw)
  To: Jani Nikula, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

On Wed, Oct 30, 2019 at 6:25 PM Chris Chiu <chiu@endlessm.com> wrote:
>
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,

Sorry, I forgot to mention that the problem was reproduced on the
latest kernel 5.3.

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

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

* Re: Unexpected screen flicker during i915 initialization
@ 2019-10-30 13:07   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2019-10-30 13:07 UTC (permalink / raw)
  To: Chris Chiu, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel, ville.syrjala

On Wed, 30 Oct 2019, Chris Chiu <chiu@endlessm.com> wrote:
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,
>
>     The major difference happens in bxt_sanitize_cdclk() on the
> following condition check.
>         if (cdctl == expected)
>                 /* All well; nothing to sanitize */
>                 return;
>
>     On the problematic Acer laptop, the value of cdctl is 0x27a while
> the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
> to the expected value 0x278 so it needs to be sanitized by assigning
> -1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
> will force the full PLL disable and enable. And that's the flicker
> (blink) we observed during boot.
>
>     Although I can't find the definition about the BIT(2) of CDCLK_CTL
> which cause this difference. Can anyone suggest what exactly the
> problem is and how should we deal with it? Thanks.

The 11 least significant bits of that register are the cdclk frequency
in 10.1 fixed point format. Apparently the Acer BIOS or GOP has a
different idea of how to calculate the value from what i915 and the Asus
think.

To handle this in i915, we'd need to allow some deviation from the
expected value, and only switch to use our value at the next modeset. We
do need the sanitization though, because sometimes there have been
completely bogus values to begin with.

Please file a bug over at [1] and reference this thread.

BR,
Jani.


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


-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: Unexpected screen flicker during i915 initialization
@ 2019-10-30 13:07   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2019-10-30 13:07 UTC (permalink / raw)
  To: Chris Chiu, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

On Wed, 30 Oct 2019, Chris Chiu <chiu@endlessm.com> wrote:
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,
>
>     The major difference happens in bxt_sanitize_cdclk() on the
> following condition check.
>         if (cdctl == expected)
>                 /* All well; nothing to sanitize */
>                 return;
>
>     On the problematic Acer laptop, the value of cdctl is 0x27a while
> the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
> to the expected value 0x278 so it needs to be sanitized by assigning
> -1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
> will force the full PLL disable and enable. And that's the flicker
> (blink) we observed during boot.
>
>     Although I can't find the definition about the BIT(2) of CDCLK_CTL
> which cause this difference. Can anyone suggest what exactly the
> problem is and how should we deal with it? Thanks.

The 11 least significant bits of that register are the cdclk frequency
in 10.1 fixed point format. Apparently the Acer BIOS or GOP has a
different idea of how to calculate the value from what i915 and the Asus
think.

To handle this in i915, we'd need to allow some deviation from the
expected value, and only switch to use our value at the next modeset. We
do need the sanitization though, because sometimes there have been
completely bogus values to begin with.

Please file a bug over at [1] and reference this thread.

BR,
Jani.


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


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

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

* Re: [Intel-gfx] Unexpected screen flicker during i915 initialization
@ 2019-10-30 13:07   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2019-10-30 13:07 UTC (permalink / raw)
  To: Chris Chiu, joonas.lahtinen, rodrigo.vivi, David Airlie, daniel,
	intel-gfx, dri-devel
  Cc: Linux Kernel

On Wed, 30 Oct 2019, Chris Chiu <chiu@endlessm.com> wrote:
> Hi guys,
>     We have 2 laptops, ASUS Z406MA and Acer TravelMate B118, both
> powered by the same Intel N5000 GemniLake CPU. On the Acer laptop, the
> panel will blink once during boot which never happens on the ASUS
> laptop. It caught my attention and I find the difference between them
> but I need help for more information,
>
>     The major difference happens in bxt_sanitize_cdclk() on the
> following condition check.
>         if (cdctl == expected)
>                 /* All well; nothing to sanitize */
>                 return;
>
>     On the problematic Acer laptop, the value of cdctl is 0x27a while
> the same cdctl is 0x278 on ASUS machine. Due to the 0x27a is not equal
> to the expected value 0x278 so it needs to be sanitized by assigning
> -1 to  dev_priv->cdclk.hw.vco. Then the consequent bxt_set_cdclk()
> will force the full PLL disable and enable. And that's the flicker
> (blink) we observed during boot.
>
>     Although I can't find the definition about the BIT(2) of CDCLK_CTL
> which cause this difference. Can anyone suggest what exactly the
> problem is and how should we deal with it? Thanks.

The 11 least significant bits of that register are the cdclk frequency
in 10.1 fixed point format. Apparently the Acer BIOS or GOP has a
different idea of how to calculate the value from what i915 and the Asus
think.

To handle this in i915, we'd need to allow some deviation from the
expected value, and only switch to use our value at the next modeset. We
do need the sanitization though, because sometimes there have been
completely bogus values to begin with.

Please file a bug over at [1] and reference this thread.

BR,
Jani.


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


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

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

end of thread, other threads:[~2019-10-31  9:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-30 10:25 Unexpected screen flicker during i915 initialization Chris Chiu
2019-10-30 10:25 ` [Intel-gfx] " Chris Chiu
2019-10-30 10:25 ` Chris Chiu
2019-10-30 10:29 ` Chris Chiu
2019-10-30 10:29   ` [Intel-gfx] " Chris Chiu
2019-10-30 10:29   ` Chris Chiu
2019-10-30 13:07 ` Jani Nikula
2019-10-30 13:07   ` [Intel-gfx] " Jani Nikula
2019-10-30 13:07   ` Jani Nikula

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.