mbox series

[SRU,Noble,0/8] Fix panel flickering issue when i915.psr2 is enabled

Message ID 20240416060416.18571-1-hui.wang@canonical.com
Headers show
Series Fix panel flickering issue when i915.psr2 is enabled | expand

Message

Hui Wang April 16, 2024, 6:04 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/2046315

[Impact]
In Dell oem project, we found the graphic is flickering on some
machines, finally we narrowed down the issue on (some specific panels +
i915.psr2 enabled), and the issue was reported to Intel, Intel fixed
the issue in the most recent mainline kernel. Here backporting the
patches to Noble kernel.

It is hard to backport the patches to mantic and oem-6.5, so we wrote
a workaround patch to disable the psr2 for those pannels in the oem-6.5.

https://gitlab.freedesktop.org/drm/intel/-/issues/9739

[Fix]
cherry-pick 8 patches from mainline kernel

[Test]
I applied the patches to Noble kernel and built a testing kernel, and
Dell validated the testing kernel on those machines, the graphic
didn't flicker anymore.

I installed the testing kernel on some machines with Intel 13th, 12th
11th and 10th gen cpu, the grahic worked well too.

[Where problems could occur]
This patchset changes the fast wake settings for some gpu, it is
possible to make the graphic flicker, but this possibility is very
low, since the patchset comes from mainline kernel and we validated
the patchset on different gens of Intel cpus.


Jouni Högander (8):
  drm/i915/alpm: Add ALPM register definitions
  drm/i915/psr: Add alpm_parameters struct
  drm/i915/alpm: Calculate ALPM Entry check
  drm/i915/alpm: Alpm aux wake configuration for lnl
  drm/i915/display: Make intel_dp_aux_fw_sync_len available for PSR code
  drm/i915/psr: Improve fast and IO wake lines calculation
  drm/i915/psr: Calculate IO wake and fast wake lines for DISPLAY_VER <
    12
  drm/i915/display: Increase number of fast wake precharge pulses

 .../drm/i915/display/intel_display_types.h    |  11 +-
 drivers/gpu/drm/i915/display/intel_dp_aux.c   |  10 +-
 drivers/gpu/drm/i915/display/intel_dp_aux.h   |   1 +
 drivers/gpu/drm/i915/display/intel_psr.c      | 118 ++++++++++++++----
 drivers/gpu/drm/i915/display/intel_psr_regs.h |  57 +++++++++
 5 files changed, 170 insertions(+), 27 deletions(-)

Comments

Timo Aaltonen May 10, 2024, 7:55 a.m. UTC | #1
Hui Wang kirjoitti 16.4.2024 klo 9.04:
> BugLink: https://bugs.launchpad.net/bugs/2046315
> 
> [Impact]
> In Dell oem project, we found the graphic is flickering on some
> machines, finally we narrowed down the issue on (some specific panels +
> i915.psr2 enabled), and the issue was reported to Intel, Intel fixed
> the issue in the most recent mainline kernel. Here backporting the
> patches to Noble kernel.
> 
> It is hard to backport the patches to mantic and oem-6.5, so we wrote
> a workaround patch to disable the psr2 for those pannels in the oem-6.5.
> 
> https://gitlab.freedesktop.org/drm/intel/-/issues/9739
> 
> [Fix]
> cherry-pick 8 patches from mainline kernel
> 
> [Test]
> I applied the patches to Noble kernel and built a testing kernel, and
> Dell validated the testing kernel on those machines, the graphic
> didn't flicker anymore.
> 
> I installed the testing kernel on some machines with Intel 13th, 12th
> 11th and 10th gen cpu, the grahic worked well too.
> 
> [Where problems could occur]
> This patchset changes the fast wake settings for some gpu, it is
> possible to make the graphic flicker, but this possibility is very
> low, since the patchset comes from mainline kernel and we validated
> the patchset on different gens of Intel cpus.
> 
> 
> Jouni Högander (8):
>    drm/i915/alpm: Add ALPM register definitions
>    drm/i915/psr: Add alpm_parameters struct
>    drm/i915/alpm: Calculate ALPM Entry check
>    drm/i915/alpm: Alpm aux wake configuration for lnl
>    drm/i915/display: Make intel_dp_aux_fw_sync_len available for PSR code
>    drm/i915/psr: Improve fast and IO wake lines calculation
>    drm/i915/psr: Calculate IO wake and fast wake lines for DISPLAY_VER <
>      12
>    drm/i915/display: Increase number of fast wake precharge pulses
> 
>   .../drm/i915/display/intel_display_types.h    |  11 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.c   |  10 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.h   |   1 +
>   drivers/gpu/drm/i915/display/intel_psr.c      | 118 ++++++++++++++----
>   drivers/gpu/drm/i915/display/intel_psr_regs.h |  57 +++++++++
>   5 files changed, 170 insertions(+), 27 deletions(-)
> 

Acked-by: Timo Aaltonen <timo.aaltonen@canonical.com>

needed for the migration from oem-6.5 to hwe-6.8
Guoqing Jiang May 24, 2024, 8:16 a.m. UTC | #2
Acked-by: Guoqing Jiang <guoqing.jiang@canonical.com>

On 4/16/24 14:04, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2046315
>
> [Impact]
> In Dell oem project, we found the graphic is flickering on some
> machines, finally we narrowed down the issue on (some specific panels +
> i915.psr2 enabled), and the issue was reported to Intel, Intel fixed
> the issue in the most recent mainline kernel. Here backporting the
> patches to Noble kernel.
>
> It is hard to backport the patches to mantic and oem-6.5, so we wrote
> a workaround patch to disable the psr2 for those pannels in the oem-6.5.
>
> https://gitlab.freedesktop.org/drm/intel/-/issues/9739
>
> [Fix]
> cherry-pick 8 patches from mainline kernel
>
> [Test]
> I applied the patches to Noble kernel and built a testing kernel, and
> Dell validated the testing kernel on those machines, the graphic
> didn't flicker anymore.
>
> I installed the testing kernel on some machines with Intel 13th, 12th
> 11th and 10th gen cpu, the grahic worked well too.
>
> [Where problems could occur]
> This patchset changes the fast wake settings for some gpu, it is
> possible to make the graphic flicker, but this possibility is very
> low, since the patchset comes from mainline kernel and we validated
> the patchset on different gens of Intel cpus.
>
>
> Jouni Högander (8):
>    drm/i915/alpm: Add ALPM register definitions
>    drm/i915/psr: Add alpm_parameters struct
>    drm/i915/alpm: Calculate ALPM Entry check
>    drm/i915/alpm: Alpm aux wake configuration for lnl
>    drm/i915/display: Make intel_dp_aux_fw_sync_len available for PSR code
>    drm/i915/psr: Improve fast and IO wake lines calculation
>    drm/i915/psr: Calculate IO wake and fast wake lines for DISPLAY_VER <
>      12
>    drm/i915/display: Increase number of fast wake precharge pulses
>
>   .../drm/i915/display/intel_display_types.h    |  11 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.c   |  10 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.h   |   1 +
>   drivers/gpu/drm/i915/display/intel_psr.c      | 118 ++++++++++++++----
>   drivers/gpu/drm/i915/display/intel_psr_regs.h |  57 +++++++++
>   5 files changed, 170 insertions(+), 27 deletions(-)
>
Roxana Nicolescu May 27, 2024, 12:41 p.m. UTC | #3
On 16/04/2024 08:04, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2046315
>
> [Impact]
> In Dell oem project, we found the graphic is flickering on some
> machines, finally we narrowed down the issue on (some specific panels +
> i915.psr2 enabled), and the issue was reported to Intel, Intel fixed
> the issue in the most recent mainline kernel. Here backporting the
> patches to Noble kernel.
>
> It is hard to backport the patches to mantic and oem-6.5, so we wrote
> a workaround patch to disable the psr2 for those pannels in the oem-6.5.
>
> https://gitlab.freedesktop.org/drm/intel/-/issues/9739
>
> [Fix]
> cherry-pick 8 patches from mainline kernel
>
> [Test]
> I applied the patches to Noble kernel and built a testing kernel, and
> Dell validated the testing kernel on those machines, the graphic
> didn't flicker anymore.
>
> I installed the testing kernel on some machines with Intel 13th, 12th
> 11th and 10th gen cpu, the grahic worked well too.
>
> [Where problems could occur]
> This patchset changes the fast wake settings for some gpu, it is
> possible to make the graphic flicker, but this possibility is very
> low, since the patchset comes from mainline kernel and we validated
> the patchset on different gens of Intel cpus.
>
>
> Jouni Högander (8):
>    drm/i915/alpm: Add ALPM register definitions
>    drm/i915/psr: Add alpm_parameters struct
>    drm/i915/alpm: Calculate ALPM Entry check
>    drm/i915/alpm: Alpm aux wake configuration for lnl
>    drm/i915/display: Make intel_dp_aux_fw_sync_len available for PSR code
>    drm/i915/psr: Improve fast and IO wake lines calculation
>    drm/i915/psr: Calculate IO wake and fast wake lines for DISPLAY_VER <
>      12
>    drm/i915/display: Increase number of fast wake precharge pulses
>
>   .../drm/i915/display/intel_display_types.h    |  11 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.c   |  10 +-
>   drivers/gpu/drm/i915/display/intel_dp_aux.h   |   1 +
>   drivers/gpu/drm/i915/display/intel_psr.c      | 118 ++++++++++++++----
>   drivers/gpu/drm/i915/display/intel_psr_regs.h |  57 +++++++++
>   5 files changed, 170 insertions(+), 27 deletions(-)
>
Applied to noble:linux master-next branch. Thanks!