Package: src:linux Version: 6.12.96-1 Severity: normal Tags: patch X-Debbugs-Cc: [email protected] User: [email protected] Usertags: amd64
Dear Maintainer,
* What led up to the situation?
When starting X on NVIDIA Quadro 600 DisplayPort, X does not start
correctly
and does not show screen. I am using nouveau. This also happen with
Quadro 600 / 2000 / 4000
Quadro FX 1800
The issue does not happen if DVI output is used.
* What exactly did you do (or not do) that was effective (or
ineffective)?
Using another mother board does not help.
After some effort, I found that the attached patch resolves the issue.
This essentially reverts a5a7379f6d9d ("drm/nouveau/kms/nv50-: split DP
disable+enable into two modesets") and adds a workaround for Quadro FX
1800.
* What was the outcome of this action?
Without the patch, X does not start correctly, while it starts correctly
with the patch.
* What outcome did you expect instead?
X starts correctly and the screen is shown up.
-- Package-specific info:
** Version:
Linux version 6.12.96+deb13-amd64 ([email protected])
(x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for
Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.96-1 (2026-07-20)
** Command line:
BOOT_IMAGE=/boot/vmlinuz-6.12.96+deb13-amd64
root=UUID=896bb234-340d-4aeb-ac35-4ab240861dd6 ro quiet
** Not tainted
** Kernel log:
[ 43.131447] nouveau 0000:01:00.0: disp: 0804: 00841190
[ 43.131452] nouveau 0000:01:00.0: disp: 0808: 00000000
[ 43.131458] nouveau 0000:01:00.0: disp: 080c: 00000000
[ 43.131464] nouveau 0000:01:00.0: disp: 0810: 00000000
[ 43.131470] nouveau 0000:01:00.0: disp: 0814: 08ae0fa0
[ 43.131476] nouveau 0000:01:00.0: disp: 0818: 0004008f
[ 43.131482] nouveau 0000:01:00.0: disp: 081c: 00070097
[ 43.131488] nouveau 0000:01:00.0: disp: 0820: 08770f97
[ 43.131494] nouveau 0000:01:00.0: disp: 0824: 00000001
[ 43.131500] nouveau 0000:01:00.0: disp: 0828: 00000384
[ 43.131507] nouveau 0000:01:00.0: disp: 082c: 00000000
[ 43.131512] nouveau 0000:01:00.0: disp: 0830: 00000000
[ 43.131517] nouveau 0000:01:00.0: disp: 0838: 00000000
[ 43.131523] nouveau 0000:01:00.0: disp: 0840: 00000000
[ 43.131529] nouveau 0000:01:00.0: disp: 0844: 00000430
[ 43.131534] nouveau 0000:01:00.0: disp: 0848: 00000000
[ 43.131540] nouveau 0000:01:00.0: disp: 084c: 00000000
[ 43.131546] nouveau 0000:01:00.0: disp: 085c: 00000000 -> f0000001
[ 43.131552] nouveau 0000:01:00.0: disp: 0860: 00000000
[ 43.131558] nouveau 0000:01:00.0: disp: 0864: 00000000
[ 43.131563] nouveau 0000:01:00.0: disp: 0868: 08700f00
[ 43.131570] nouveau 0000:01:00.0: disp: 086c: 00103c00
[ 43.131575] nouveau 0000:01:00.0: disp: 0870: 0000cf00
[ 43.131580] nouveau 0000:01:00.0: disp: 0874: 00000000
[ 43.131586] nouveau 0000:01:00.0: disp: 0878: 00000000
[ 43.131592] nouveau 0000:01:00.0: disp: 0880: 20000000 -> 85000000
[ 43.131598] nouveau 0000:01:00.0: disp: 0884: 00000000 -> 00000460
[ 43.131604] nouveau 0000:01:00.0: disp: 089c: 00000000 -> f0000001
[ 43.131610] nouveau 0000:01:00.0: disp: 08a0: 00000002
[ 43.131616] nouveau 0000:01:00.0: disp: 08a4: 00000000
[ 43.131622] nouveau 0000:01:00.0: disp: 08a8: 00040000
[ 43.131628] nouveau 0000:01:00.0: disp: 08c0: 00000000
[ 43.131634] nouveau 0000:01:00.0: disp: 08c4: 00000000
[ 43.131640] nouveau 0000:01:00.0: disp: 08c8: 08700f00
[ 43.131646] nouveau 0000:01:00.0: disp: 08d4: 00000000
[ 43.131652] nouveau 0000:01:00.0: disp: 08d8: 08700f00
[ 43.131658] nouveau 0000:01:00.0: disp: 08dc: 08700f00
[ 43.131664] nouveau 0000:01:00.0: disp: 0900: 00000301
[ 43.131670] nouveau 0000:01:00.0: disp: 0904: 00000100
[ 43.131676] nouveau 0000:01:00.0: disp: 0910: 00000000
[ 43.131682] nouveau 0000:01:00.0: disp: 0914: 00000000
[ 43.131684] nouveau 0000:01:00.0: disp: Core - HEAD 1:
[ 43.131690] nouveau 0000:01:00.0: disp: 0c00: 00000000
[ 43.131695] nouveau 0000:01:00.0: disp: 0c04: 00000000
[ 43.131700] nouveau 0000:01:00.0: disp: 0c08: 00000000
[ 43.131705] nouveau 0000:01:00.0: disp: 0c0c: 00000000
[ 43.131710] nouveau 0000:01:00.0: disp: 0c10: 00000000
[ 43.131715] nouveau 0000:01:00.0: disp: 0c14: 00050008
[ 43.131719] nouveau 0000:01:00.0: disp: 0c18: 00000001
[ 43.131724] nouveau 0000:01:00.0: disp: 0c1c: 00010003
[ 43.131729] nouveau 0000:01:00.0: disp: 0c20: 00030004
[ 43.131734] nouveau 0000:01:00.0: disp: 0c24: 00000001
[ 43.131739] nouveau 0000:01:00.0: disp: 0c28: 00000000
[ 43.131743] nouveau 0000:01:00.0: disp: 0c2c: 00000000
[ 43.131748] nouveau 0000:01:00.0: disp: 0c30: 00000000
[ 43.131753] nouveau 0000:01:00.0: disp: 0c38: 00000000
[ 43.131758] nouveau 0000:01:00.0: disp: 0c40: 00000000
[ 43.131763] nouveau 0000:01:00.0: disp: 0c44: 00000000
[ 43.131767] nouveau 0000:01:00.0: disp: 0c48: 00000000
[ 43.131772] nouveau 0000:01:00.0: disp: 0c4c: 00000000
[ 43.131777] nouveau 0000:01:00.0: disp: 0c5c: 00000000
[ 43.131782] nouveau 0000:01:00.0: disp: 0c60: 00000000
[ 43.131787] nouveau 0000:01:00.0: disp: 0c64: 00000000
[ 43.131792] nouveau 0000:01:00.0: disp: 0c68: 00000000
[ 43.131796] nouveau 0000:01:00.0: disp: 0c6c: 00000000
[ 43.131801] nouveau 0000:01:00.0: disp: 0c70: 0000e900
[ 43.131806] nouveau 0000:01:00.0: disp: 0c74: 00000000
[ 43.131811] nouveau 0000:01:00.0: disp: 0c78: 00000000
[ 43.131816] nouveau 0000:01:00.0: disp: 0c80: 20000000
[ 43.131820] nouveau 0000:01:00.0: disp: 0c84: 00000000
[ 43.131825] nouveau 0000:01:00.0: disp: 0c9c: 00000000
[ 43.131830] nouveau 0000:01:00.0: disp: 0ca0: 00000000
[ 43.131835] nouveau 0000:01:00.0: disp: 0ca4: 00000000
[ 43.131840] nouveau 0000:01:00.0: disp: 0ca8: 00040000
[ 43.131844] nouveau 0000:01:00.0: disp: 0cc0: 00000000
[ 43.131849] nouveau 0000:01:00.0: disp: 0cc4: 00000000
[ 43.131854] nouveau 0000:01:00.0: disp: 0cc8: 00000000
[ 43.131859] nouveau 0000:01:00.0: disp: 0cd4: 00000000
[ 43.131864] nouveau 0000:01:00.0: disp: 0cd8: 00000000
[ 43.131868] nouveau 0000:01:00.0: disp: 0cdc: 00000000
[ 43.131873] nouveau 0000:01:00.0: disp: 0d00: 00000300
[ 43.131878] nouveau 0000:01:00.0: disp: 0d04: 00000100
[ 43.131883] nouveau 0000:01:00.0: disp: 0d10: 00000000
[ 43.131888] nouveau 0000:01:00.0: disp: 0d14: 00000000
[ 45.275603] nouveau 0000:01:00.0: drm: base-0: timeout
[ 47.295207] nouveau 0000:01:00.0: drm: base-0: timeout
[ 49.332717] nouveau 0000:01:00.0: drm: base-0: timeout
[ 51.468374] nouveau 0000:01:00.0: drm: base-0: timeout
[ 53.478009] nouveau 0000:01:00.0: drm: base-0: timeout
[ 71.945952] nouveau 0000:01:00.0: drm: base-0: timeout
[ 132.347533] nouveau 0000:01:00.0: drm: base-0: timeout
[ 192.392525] nouveau 0000:01:00.0: drm: base-0: timeout
[ 252.378905] nouveau 0000:01:00.0: drm: base-0: timeout
[ 254.381116] nouveau 0000:01:00.0: drm: base-0: timeout
[ 312.399467] nouveau 0000:01:00.0: drm: base-0: timeout
[ 372.393470] nouveau 0000:01:00.0: drm: base-0: timeout
[ 432.394605] nouveau 0000:01:00.0: drm: base-0: timeout
[ 492.394034] nouveau 0000:01:00.0: drm: base-0: timeout
[ 494.396255] nouveau 0000:01:00.0: drm: base-0: timeout
[ 552.400593] nouveau 0000:01:00.0: drm: base-0: timeout
** Model information
sys_vendor: THIRDWAVE Diginnos CORPORATION
product_name: Diginnos PC
product_version: System Version
chassis_vendor: Chassis Manufacture
chassis_version: Chassis Version
bios_vendor: American Megatrends Inc.
bios_version: 2305
board_vendor: ASUSTeK COMPUTER INC.
board_name: B85M-E
board_version: Rev X.0x
** Configuration for modprobe:
blacklist b43
blacklist b43legacy
blacklist b44
blacklist bcma
blacklist brcm80211
blacklist brcmsmac
blacklist ssb
blacklist arkfb
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
blacklist cyber2000fb
blacklist kyrofb
blacklist matroxfb_base
blacklist mb862xxfb
blacklist neofb
blacklist pm2fb
blacklist pm3fb
blacklist s3fb
blacklist savagefb
blacklist sisfb
blacklist tdfxfb
blacklist tridentfb
blacklist vt8623fb
blacklist microcode
options snd_pcsp index=-2
options cx88_alsa index=-2
options snd_atiixp_modem index=-2
options snd_intel8x0m index=-2
options snd_via82xx_modem index=-2
options bonding max_bonds=0
options dummy numdummies=0
options ifb numifbs=0
** Loaded modules:
qrtr
binfmt_misc
intel_rapl_msr
intel_rapl_common
x86_pkg_temp_thermal
intel_powerclamp
coretemp
kvm_intel
snd_hda_codec_realtek
kvm
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_scodec_component
sg
snd_hda_intel
joydev
snd_intel_dspcfg
snd_intel_sdw_acpi
irqbypass
snd_hda_codec
crct10dif_pclmul
snd_hda_core
ghash_clmulni_intel
sha512_ssse3
snd_hwdep
sha256_ssse3
snd_pcm
sha1_ssse3
mei_wdt
snd_timer
aesni_intel
mei_hdcp
snd
gf128mul
crypto_simd
mei_pxp
soundcore
eeepc_wmi
asus_wmi
mei_me
cryptd
at24
mei
ppdev
sparse_keymap
platform_profile
battery
rapl
rfkill
wmi_bmof
intel_cstate
intel_uncore
parport_pc
pcspkr
parport
evdev
efi_pstore
configfs
nfnetlink
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
crc32c_generic
sd_mod
hid_logitech_hidpp
uas
usb_storage
scsi_mod
hid_logitech_dj
scsi_common
hid_generic
usbhid
hid
nouveau
mxm_wmi
drm_gpuvm
drm_exec
gpu_sched
i2c_algo_bit
drm_display_helper
cec
rc_core
drm_ttm_helper
r8169
ttm
iTCO_wdt
intel_pmc_bxt
drm_kms_helper
realtek
iTCO_vendor_support
xhci_pci
mdio_devres
ehci_pci
xhci_hcd
watchdog
libphy
ehci_hcd
drm
i2c_i801
usbcore
crc32_pclmul
crc32c_intel
i2c_smbus
lpc_ich
usb_common
fan
video
wmi
button
** Network interface configuration:
*** /etc/network/interfaces:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug enp2s0
iface enp2s0 inet dhcp
allow-hotplug enx02644d4e335c
iface enx02644d4e335c inet dhcp
iface enp2s0 inet6 auto
** Network status:
*** IP interfaces and addresses:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
group default qlen 1000
link/ether f8:32:e4:a2:0c:3a brd ff:ff:ff:ff:ff:ff
altname enxf832e4a20c3a
inet 192.168.0.169/24 brd 192.168.0.255 scope global dynamic noprefixroute
enp3s0
valid_lft 85852sec preferred_lft 85852sec
inet6 2405:6582:2ea0:803:24e8:4d05:4434:e1a5/64 scope global dynamic
noprefixroute
valid_lft 10112sec preferred_lft 8312sec
inet6 fe80::9e45:7a97:8b17:4901/64 scope link noprefixroute
valid_lft forever preferred_lft forever
*** Device statistics:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
enp3s0: 931499 8635 0 402 0 0 0 1320 928405
7461 0 0 0 0 0 0
** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM
Controller [8086:0c00] (rev 06)
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort+ >SERR- <PERR- INTx-
Latency: 0
Capabilities: <access denied>
Kernel driver in use: hsw_uncore
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core
Processor PCI Express x16 Controller [8086:0c01] (rev 06) (prog-if 00 [Normal
decode])
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 24
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: e000-efff [size=4K] [16-bit]
Memory behind bridge: f6000000-f70fffff [size=17M] [32-bit]
Prefetchable memory behind bridge: e8000000-f1ffffff [size=160M]
[32-bit]
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA+ VGA16+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: <access denied>
Kernel driver in use: pcieport
00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset
Family USB xHCI [8086:8c31] (rev 05) (prog-if 30 [XHCI])
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 27
Region 0: Memory at f7100000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series
Chipset Family MEI Controller #1 [8086:8c3a] (rev 04)
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 30
Region 0: Memory at f711a000 (64-bit, non-prefetchable) [size=16]
Capabilities: <access denied>
Kernel driver in use: mei_me
Kernel modules: mei_me
00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset
Family USB EHCI #2 [8086:8c2d] (rev 05) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 20
Region 0: Memory at f7117000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset
High Definition Audio Controller [8086:8c20] (rev 05) (prog-if 00 [HDA
compatible])
Subsystem: ASUSTeK Computer Inc. Device [1043:8576]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 31
Region 0: Memory at f7110000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #1 [8086:8c10] (rev d5) (prog-if 00 [Normal
decode])
Subsystem: ASUSTeK Computer Inc. ASUS H81I-PLUS [1043:8534]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 25
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 2000-2fff [size=4K] [16-bit]
Memory behind bridge: e0000000-e01fffff [size=2M] [32-bit]
Prefetchable memory behind bridge: e0200000-e03fffff [size=2M] [32-bit]
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #3 [8086:8c14] (rev d5) (prog-if 00 [Normal
decode])
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin C routed to IRQ 26
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: d000-dfff [size=4K] [16-bit]
Memory behind bridge: [disabled] [32-bit]
Prefetchable memory behind bridge: f2100000-f21fffff [size=1M] [32-bit]
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset
Family USB EHCI #1 [8086:8c26] (rev 05) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 0: Memory at f7116000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1f.0 ISA bridge [0601]: Intel Corporation B85 Express LPC Controller
[8086:8c50] (rev 05)
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Capabilities: <access denied>
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family
SMBus Controller [8086:8c22] (rev 05)
Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin C routed to IRQ 18
Region 0: Memory at f7115000 (64-bit, non-prefetchable) [size=256]
Region 4: I/O ports at f000 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108GL [Quadro
600] [10de:0df8] (rev a1) (prog-if 00 [VGA controller])
Subsystem: NVIDIA Corporation Device [10de:0835]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 29
Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at e8000000 (64-bit, prefetchable) [size=128M]
Region 3: Memory at f0000000 (64-bit, prefetchable) [size=32M]
Region 5: I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nouveau
Kernel modules: nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation GF108 High Definition Audio
Controller [10de:0bea] (rev a1) (prog-if 00 [HDA compatible])
Subsystem: NVIDIA Corporation Device [10de:0835]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 17
Region 0: Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd.
RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev
09)
Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:8505]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at d000 [size=256]
Region 2: Memory at f2104000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at f2100000 (64-bit, prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: r8169
Kernel modules: r8169
** USB devices:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 346d:5678 USB Disk 20
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
-- System Information:
Debian Release: 13.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.96+deb13-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages linux-image-6.12.96+deb13-amd64 depends on:
ii initramfs-tools [linux-initramfs-tool] 0.148.4
ii kmod 34.2-2
ii linux-base 4.12.1
Versions of packages linux-image-6.12.96+deb13-amd64 recommends:
ii apparmor 4.1.0-1
Versions of packages linux-image-6.12.96+deb13-amd64 suggests:
pn debian-kernel-handbook <none>
ii firmware-linux-free 20241210-2
ii grub-efi-amd64 2.12-9+deb13u2
pn linux-doc-6.12 <none>
Versions of packages linux-image-6.12.96+deb13-amd64 is related to:
pn firmware-amd-graphics <none>
pn firmware-atheros <none>
pn firmware-bnx2 <none>
pn firmware-bnx2x <none>
ii firmware-brcm80211 20250410-2
pn firmware-cavium <none>
pn firmware-cirrus <none>
ii firmware-intel-graphics 20250410-2
ii firmware-intel-misc 20250410-2
pn firmware-intel-sound <none>
pn firmware-ipw2x00 <none>
pn firmware-ivtv <none>
ii firmware-iwlwifi 20250410-2
pn firmware-libertas <none>
pn firmware-marvell-prestera <none>
ii firmware-mediatek 20250410-2
ii firmware-misc-nonfree 20250410-2
pn firmware-myricom <none>
pn firmware-netronome <none>
pn firmware-netxen <none>
ii firmware-nvidia-graphics 20250410-2
pn firmware-qcom-soc <none>
pn firmware-qlogic <none>
ii firmware-realtek 20250410-2
pn firmware-samsung <none>
pn firmware-siano <none>
pn firmware-ti-connectivity <none>
pn xen-hypervisor <none>
-- no debconf information
-- The patch for this issue --
>From 28bcd74f209e3de7a3908864758861b756f41bf2 Mon Sep 17 00:00:00 2001
From: root <root@debian2>
Date: Fri, 31 Jul 2026 14:08:45 +0900
Subject: [PATCH] drm/nouveau/nv50: Fix DP SST regression on Fermi and restore
NV50/Tesla DP bring-up
A regression was introduced in commit a5a7379f6d9d ("nv50-: split DP
disable+enable into two modesets"), causing Quadro 600 (GF108, Fermi) to
fail X startup. Kernel 6.1.0-51 works correctly, so this is a regression.
Reverting a5a7379f6d9d restores correct behaviour on Quadro 600, but
breaks NV50/Tesla boards such as Quadro FX 1800 (G94). On NV50/Tesla,
the DP SOR/MMIO block requires a core update during DP SST enable; without
it, the first modeset faults the MMIO block and even text mode fails to
appear.
This patch reverts the DP-SST portion of a5a7379f6d9d, and adds a one-time
core update when a DP output is first used. This preserves the correct
behaviour on NV50/Tesla while restoring the original DP SST sequence
required by Fermi and later generations.
Tested on:
- NV50/Tesla: Quadro FX 1800 (G94)
- Fermi: Quadro 600 / 2000 / 4000
- Kepler: Quadro K420 / K600
- Maxwell: Quadro K620
All tested boards now perform DP SST modeset correctly, without MMIO FAULT
or INVALID_STATE, and Quadro 600 regression is resolved.
Fixes: a5a7379f6d9d ("drm/nouveau/kms/nv50-: split DP disable+enable into two
modesets")
Signed-off-by: Takashi Yano <[email protected]>
---
drivers/gpu/drm/nouveau/dispnv50/atom.h | 1 +
drivers/gpu/drm/nouveau/dispnv50/core.h | 1 +
drivers/gpu/drm/nouveau/dispnv50/disp.c | 18 ++++++++++++++++--
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/atom.h
b/drivers/gpu/drm/nouveau/dispnv50/atom.h
index b43c4f9bbcdf..1bcfb2f16053 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/atom.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/atom.h
@@ -12,6 +12,7 @@ struct nv50_atom {
struct list_head outp;
bool lock_core;
bool flush_disable;
+ bool need_update_core;
};
#define nv50_head_atom(p) container_of((p), struct nv50_head_atom, state)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/core.h
b/drivers/gpu/drm/nouveau/dispnv50/core.h
index f75088186fba..0dd8a50d262e 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/core.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/core.h
@@ -9,6 +9,7 @@ struct nv50_core {
const struct nv50_core_func *func;
struct nv50_dmac chan;
bool assign_windows;
+ bool updated_for_dp;
};
int nv50_core_new(struct nouveau_drm *, struct nv50_core **);
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c
b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index eed579a6c858..c6fbbf4b146f 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -2244,6 +2244,17 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state
*state)
memset(interlock, 0x00, sizeof(interlock));
flushed = true;
+ } else if (atom->need_update_core) {
+ /* Workaround for MMIO FAULT on Quadro FX 1800 */
+ /* A part of nv50_disp_atomic_commit_core() */
+ struct nv50_disp *disp = nv50_disp(drm->dev);
+ struct nv50_core *core = disp->core;
+ core->func->ntfy_init(disp->sync, NV50_DISP_CORE_NTFY);
+ core->func->update(core, interlock, true);
+ if (core->func->ntfy_wait_done(disp->sync,
NV50_DISP_CORE_NTFY,
+ disp->core->chan.base.device))
+ NV_ERROR(drm, "core notifier timeout\n");
+ core->updated_for_dp = true;
}
}
@@ -2517,9 +2528,12 @@ nv50_disp_outp_atomic_check_clr(struct nv50_atom *atom,
if (IS_ERR(outp))
return PTR_ERR(outp);
- if (outp->encoder->encoder_type == DRM_MODE_ENCODER_DPMST ||
- nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP)
+ if (outp->encoder->encoder_type == DRM_MODE_ENCODER_DPMST)
atom->flush_disable = true;
+ struct nv50_disp *disp = nv50_disp(outp->encoder->dev);
+ if (nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP
&&
+ !disp->core->updated_for_dp)
+ atom->need_update_core = true;
outp->clr.ctrl = true;
atom->lock_core = true;
}
--
2.47.3
0001-drm-nouveau-nv50-Fix-DP-SST-regression-on-Fermi-and-.patch
Description: application/mbox

