Dear all,
On Fri, 4 Aug 2023 at 14:15, Karol Herbst wrote:
62aecf23f3d1 drm/nouveau: add nv_encoder pointer check for NULL
fb725beca62d drm/nouveau/dp: check for NULL nv_connector->native_mode
90748be0f4f3 drm/nouveau: don't detect DSM for non-NVIDIA device
5a144bad3e75 nouveau: fix client work fence deletion race
mind retrying with only fb725beca62d and 62aecf23f3d1 reverted? Would
be weird if the other two commits are causing it. If that's the case,
it's a bit worrying that reverting either of the those causes issues,
but maybe there is a good reason for it. Anyway, mind figuring out
which of the two you need reverted to fix your issue? Thanks!
The result is:
Patch with commit fb725beca62d reverted: Graphics works. I attached the
respective patch again to this mail.
Patch with commit 62aecf23f3d1 reverted: Screen remains black, error
message:
# dmesg | grep -A 36 "cut here"
[ 2.921358] ------------[ cut here ]------------
[ 2.921361] WARNING: CPU: 1 PID: 176 at drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c:460 nvkm_dp_acquire+0x26a/0x490 [nouveau]
[ 2.921627] Modules linked in: sd_mod(E) t10_pi(E) crc64_rocksoft(E) sr_mod(E) crc64(E) crc_t10dif(E) crct10dif_generic(E) cdrom(E) nouveau(E+) mxm_wmi(E) i2c_algo_bit(E) drm_display_helper(E) cec(E) ahci(E) rc_core(E) drm_ttm_helper(E) libahci(E) ttm(E) ehci_pci(E) crct10dif_pclmul(E) crct10dif_common(E) ehci_hcd(E) drm_kms_helper(E) crc32_pclmul(E) firewire_ohci(E) sdhci_pci(E) cqhci(E) libata(E) e1000e(E) sdhci(E) psmouse(E) crc32c_intel(E) lpc_ich(E) ptp(E) i2c_i801(E) scsi_mod(E) i2c_smbus(E) firewire_core(E) scsi_common(E) usbcore(E) crc_itu_t(E) mmc_core(E) drm(E) pps_core(E) usb_common(E) battery(E) video(E) wmi(E) button(E)
[ 2.921695] CPU: 1 PID: 176 Comm: kworker/u16:5 Tainted: G E 6.1.0-0.a.test-amd64 #1 Debian 6.1.38-2a~test
[ 2.921701] Hardware name: Dell Inc. Latitude E6510/0N5KHN, BIOS A17 05/12/2017
[ 2.921705] Workqueue: nvkm-disp nv50_disp_super [nouveau]
[ 2.921948] RIP: 0010:nvkm_dp_acquire+0x26a/0x490 [nouveau]
[ 2.922192] Code: 48 8b 44 24 58 65 48 2b 04 25 28 00 00 00 0f 85 37 02 00 00 48 83 c4 60 44 89 e0 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc <0f> 0b c1 e8 03 41 88 6d 62 44 89 fe 48 89 df 48 69 c0 cf 0d d6 26
[ 2.922196] RSP: 0018:ffffc077c04dfd60 EFLAGS: 00010246
[ 2.922201] RAX: 0000000000041eb0 RBX: ffff9a8482624c00 RCX: 0000000000041eb0
[ 2.922204] RDX: ffffffffc0b47760 RSI: 0000000000000000 RDI: ffffc077c04dfcf0
[ 2.922206] RBP: 0000000000000001 R08: ffffc077c04dfc64 R09: 0000000000005b76
[ 2.922209] R10: 000000000000000d R11: ffffc077c04dfde0 R12: 00000000ffffffea
[ 2.922212] R13: ffff9a8517541e00 R14: 0000000000044d45 R15: 0000000000000000
[ 2.922215] FS: 0000000000000000(0000) GS:ffff9a85a3c40000(0000) knlGS:0000000000000000
[ 2.922219] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2.922222] CR2: 000055f660bcb3a8 CR3: 0000000197610000 CR4: 00000000000006e0
[ 2.922226] Call Trace:
[ 2.922231] <TASK>
[ 2.922235] ? __warn+0x7d/0xc0
[ 2.922244] ? nvkm_dp_acquire+0x26a/0x490 [nouveau]
[ 2.922487] ? report_bug+0xe6/0x170
[ 2.922494] ? handle_bug+0x41/0x70
[ 2.922501] ? exc_invalid_op+0x13/0x60
[ 2.922505] ? asm_exc_invalid_op+0x16/0x20
[ 2.922512] ? init_reset_begun+0x20/0x20 [nouveau]
[ 2.922708] ? nvkm_dp_acquire+0x26a/0x490 [nouveau]
[ 2.922954] nv50_disp_super_2_2+0x70/0x430 [nouveau]
[ 2.923200] nv50_disp_super+0x113/0x210 [nouveau]
[ 2.923445] process_one_work+0x1c7/0x380
[ 2.923456] worker_thread+0x4d/0x380
[ 2.923463] ? rescuer_thread+0x3a0/0x3a0
[ 2.923469] kthread+0xe9/0x110
[ 2.923476] ? kthread_complete_and_exit+0x20/0x20
[ 2.923482] ret_from_fork+0x22/0x30
[ 2.923493] </TASK>
[ 2.923494] ---[ end trace 0000000000000000 ]---
(Maybe it's worth to mention that the LED back-light is on, while the
screen appears black.)
Cheers,
Olaf
P.S.: By the way: as a linux user for more than 20 years, I am very
pleased to have the opportunity to contribute at least a little bit to
the improvement. I'd like to use the chance to thank you all very much
for building and developing this great operating system.From 47c0e938beef7335ffa179f1006754f9664c6c4d Mon Sep 17 00:00:00 2001
From: Diederik de Haas <didi.debian@xxxxxxxxx>
Date: Mon, 31 Jul 2023 19:55:54 +0200
Subject: [PATCH 2/4] Revert "drm/nouveau/dp: check for NULL
nv_connector->native_mode"
This reverts commit fb725beca62d175c02ca619c27037c14f7ab8e7c.
---
drivers/gpu/drm/nouveau/nouveau_connector.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index fd984733b8e6..1991bbb1d05c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -966,7 +966,7 @@ nouveau_connector_get_modes(struct drm_connector *connector)
/* Determine display colour depth for everything except LVDS now,
* DP requires this before mode_valid() is called.
*/
- if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS && nv_connector->native_mode)
+ if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS)
nouveau_connector_detect_depth(connector);
/* Find the native mode if this is a digital panel, if we didn't
@@ -987,7 +987,7 @@ nouveau_connector_get_modes(struct drm_connector *connector)
* "native" mode as some VBIOS tables require us to use the
* pixel clock as part of the lookup...
*/
- if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS && nv_connector->native_mode)
+ if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
nouveau_connector_detect_depth(connector);
if (nv_encoder->dcb->type == DCB_OUTPUT_TV)
--
2.40.1