2023-12-07 10:37:19 |
Dariusz Gadomski |
bug |
|
|
added bug |
2023-12-07 10:37:39 |
Dariusz Gadomski |
bug watch added |
|
https://gitlab.freedesktop.org/drm/intel/-/issues/9720 |
|
2023-12-07 10:37:39 |
Dariusz Gadomski |
bug task added |
|
linux |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
nominated for series |
|
Ubuntu Noble |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
bug task added |
|
linux (Ubuntu Noble) |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
nominated for series |
|
Ubuntu Jammy |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
bug task added |
|
linux (Ubuntu Jammy) |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
nominated for series |
|
Ubuntu Mantic |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
bug task added |
|
linux (Ubuntu Mantic) |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
nominated for series |
|
Ubuntu Focal |
|
2023-12-07 10:38:40 |
Dariusz Gadomski |
bug task added |
|
linux (Ubuntu Focal) |
|
2023-12-07 10:39:01 |
Dariusz Gadomski |
linux (Ubuntu Focal): importance |
Undecided |
High |
|
2023-12-07 10:39:03 |
Dariusz Gadomski |
linux (Ubuntu Jammy): importance |
Undecided |
High |
|
2023-12-07 10:39:05 |
Dariusz Gadomski |
linux (Ubuntu Mantic): importance |
Undecided |
High |
|
2023-12-07 10:39:06 |
Dariusz Gadomski |
linux (Ubuntu Noble): importance |
Undecided |
High |
|
2023-12-07 10:39:59 |
Dariusz Gadomski |
attachment added |
|
dmesg https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045891/+attachment/5727216/+files/dmesg |
|
2023-12-07 10:40:51 |
Dariusz Gadomski |
attachment added |
|
lspci https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045891/+attachment/5727217/+files/lspci |
|
2023-12-07 10:41:29 |
Dariusz Gadomski |
attachment added |
|
0001-drm-i915-Skip-some-timing-checks-on-BXT-GLK-DSI-tran.patch https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045891/+attachment/5727218/+files/0001-drm-i915-Skip-some-timing-checks-on-BXT-GLK-DSI-tran.patch |
|
2023-12-07 10:46:03 |
Dariusz Gadomski |
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 |
[ 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 |
|
2023-12-07 10:46:26 |
Dariusz Gadomski |
marked as duplicate |
|
2044131 |
|