*** This bug is a duplicate of bug 2044131 ***
    https://bugs.launchpad.net/bugs/2044131

Public bug reported:

[ Impact ]
Commit 8f4b1068e7fc3df1a77ac8151767e56b208cc87f introduced some timing checks 
which have been proven invalid for at least some hardware setups. A user trying 
to run Focal with HWE 5.15 kernel is not able to get any video output.
After going through bisection between 5.4 and 5.5 this commit was identified. 
Reverting it on top of Focal HWE kernel fixes the issue.

The issue has been addressed upstream in DRM tree
(20c2dbff342aec13bf93c2f6c951da198916a455) and has been merge into
linux-next (e0ef2daa8ca8ce4dbc2fd0959e383b753a87fd7d).

dmesg and lspci from the affected configuration are attached to this
bug.

[ Test Plan ]
1. Boot the affected hardware with Ubuntu desktop running kernel v5.5 or higher.
2. Wait until boot finishes and see the blank screen.

Actual result: there is no video output visible.
Expected result: normal boot process should be visible (e.g. splash), then GUI 
should appear.

[ Where problem could occur ]
This bug was a result of assumptions in the checks that turned out to be not 
valid for some hardware. The checks were removed from global intel_mode_valid 
function and moved into connector specific .mode_valid() hooks, entirely 
skiping BXT/GLK DSI connectors.

This should keep the checks where appropriate and skip for hardware that
does not comply to them.

[ Other info ]

Upstream bug description:
Prior to kernel v5.5 the setup was working fine. Starting with that release the 
display goes blank. What is visible in the logs:
UBSAN: array-index-out-of-bounds in 
/build/linux-hwe-5.15-5Tb11x/linux-hwe-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_display.c:12564:20
index 5 is out of range for type 'u32 [5]'

After a bisection I was able to determine that it started with commit 
8f4b1068e7fc3df1a77ac8151767e56b208cc87f.
Apparently what happens is this test causes intel_mode_valid to exit with 
MODE_H_ILLEGAL:
if (mode->htotal - mode->hdisplay < 32)
    return MODE_H_ILLEGAL;

According to the output in the journal:
[drm]] Modeline "800x1280": 50 54000 800 810 820 830 1280 1290 1300 1310 0x8 0xa
so in this case htotal is 830 and hdisplay is 800 which makes this condition 
true and determines the mode is illegal. As a result the display is blank.
Reverting the commit in question restores full functionality

** Affects: linux
     Importance: Unknown
         Status: Unknown

** Affects: linux (Ubuntu)
     Importance: High
         Status: New

** Affects: linux (Ubuntu Focal)
     Importance: High
         Status: New

** Affects: linux (Ubuntu Jammy)
     Importance: High
         Status: New

** Affects: linux (Ubuntu Mantic)
     Importance: High
         Status: New

** Affects: linux (Ubuntu Noble)
     Importance: High
         Status: New


** Tags: regression

** Bug watch added: gitlab.freedesktop.org/drm/intel/-/issues #9720
   https://gitlab.freedesktop.org/drm/intel/-/issues/9720

** Also affects: linux via
   https://gitlab.freedesktop.org/drm/intel/-/issues/9720
   Importance: Unknown
       Status: Unknown

** Also affects: linux (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Mantic)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Focal)
   Importance: Undecided => High

** Changed in: linux (Ubuntu Jammy)
   Importance: Undecided => High

** Changed in: linux (Ubuntu Mantic)
   Importance: Undecided => High

** Changed in: linux (Ubuntu Noble)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2045891

Title:
  Regression: MODE_H_ILLEGAL starting from kernel v5.5 for UHD 605
  [8086:2212]

Status in Linux:
  Unknown
Status in linux package in Ubuntu:
  New
Status in linux source package in Focal:
  New
Status in linux source package in Jammy:
  New
Status in linux source package in Mantic:
  New
Status in linux source package in Noble:
  New

Bug description:
  [ Impact ]
  Commit 8f4b1068e7fc3df1a77ac8151767e56b208cc87f introduced some timing checks 
which have been proven invalid for at least some hardware setups. A user trying 
to run Focal with HWE 5.15 kernel is not able to get any video output.
  After going through bisection between 5.4 and 5.5 this commit was identified. 
Reverting it on top of Focal HWE kernel fixes the issue.

  The issue has been addressed upstream in DRM tree
  (20c2dbff342aec13bf93c2f6c951da198916a455) and has been merge into
  linux-next (e0ef2daa8ca8ce4dbc2fd0959e383b753a87fd7d).

  dmesg and lspci from the affected configuration are attached to this
  bug.

  [ Test Plan ]
  1. Boot the affected hardware with Ubuntu desktop running kernel v5.5 or 
higher.
  2. Wait until boot finishes and see the blank screen.

  Actual result: there is no video output visible.
  Expected result: normal boot process should be visible (e.g. splash), then 
GUI should appear.

  [ Where problem could occur ]
  This bug was a result of assumptions in the checks that turned out to be not 
valid for some hardware. The checks were removed from global intel_mode_valid 
function and moved into connector specific .mode_valid() hooks, entirely 
skiping BXT/GLK DSI connectors.

  This should keep the checks where appropriate and skip for hardware
  that does not comply to them.

  [ Other info ]

  Upstream bug description:
  Prior to kernel v5.5 the setup was working fine. Starting with that release 
the display goes blank. What is visible in the logs:
  UBSAN: array-index-out-of-bounds in 
/build/linux-hwe-5.15-5Tb11x/linux-hwe-5.15-5.15.0/drivers/gpu/drm/i915/display/intel_display.c:12564:20
  index 5 is out of range for type 'u32 [5]'

  After a bisection I was able to determine that it started with commit 
8f4b1068e7fc3df1a77ac8151767e56b208cc87f.
  Apparently what happens is this test causes intel_mode_valid to exit with 
MODE_H_ILLEGAL:
  if (mode->htotal - mode->hdisplay < 32)
      return MODE_H_ILLEGAL;

  According to the output in the journal:
  [drm]] Modeline "800x1280": 50 54000 800 810 820 830 1280 1290 1300 1310 0x8 
0xa
  so in this case htotal is 830 and hdisplay is 800 which makes this condition 
true and determines the mode is illegal. As a result the display is blank.
  Reverting the commit in question restores full functionality

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/2045891/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to