linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* nouveau/ NV11: 3.12 freezes if X.org is started headless
@ 2013-11-26 23:03 Stefan Lippers-Hollmann
  2013-11-26 23:19 ` Ilia Mirkin
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Lippers-Hollmann @ 2013-11-26 23:03 UTC (permalink / raw)
  To: David Airlie; +Cc: linux-kernel, dri-devel

[-- Attachment #1: Type: Text/Plain, Size: 15851 bytes --]

Hi

After upgrading to kernel 3.12, I observe that an older i386 desktop 
equipped with a GeForce2 MX (NV11) starts to freeze, as soon as X.org 
starts up without a monitor attached. The last messages fetched via a 
serial console are these:

nouveau W[  PTIMER][0000:01:00.0] unknown input clock freq
agpgart-via 0000:00:00.0: AGP 3.5 bridge
agpgart-via 0000:00:00.0: bridge is in legacy mode, falling back to 2.x
agpgart-via 0000:00:00.0: putting AGP V2 device into 4x mode
nouveau 0000:01:00.0: putting AGP V2 device into 4x mode
[     DRM] 0x16BD: Parsing digital output script table

Once I connect a CRT via VGA, X.org starts up fine and I no longer
notice any issues.

Trying to bisect the regression, which is hampered by an unrelated bug 
in the devmapper code during with the 3.12 merge window (fixed in 
v3.12) and an intermittent Oops within the drm merge (doesn't 
affect this issue and it's apparently fixed in 3.12), only leads me to
the drm merge for kernel 3.12:

commit 9c725e5bcdae59d5383d4aec33a34c822582dda5
Merge: efa27f9 679fe80
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Sep 2 09:31:40 2013 +1000

I tried this twice, once restricted to drivers/gpu/, once globally 
between v3.11 and v3.12, both only leading to the same merge commit,
but -as obvious in the bisection log below- I had to skip a number of
commits because of the afforementioned (undebugged, but fixed in 3.12)
devmapper bug.

$ git bisect log
git bisect start 'drivers/gpu/'
# bad: [5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52] Linux 3.12
git bisect bad 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52
# good: [6e4664525b1db28f8c4e1130957f70a94c19213e] Linux 3.11
git bisect good 6e4664525b1db28f8c4e1130957f70a94c19213e
# good: [6cb3b7f1c013fd4bea41e16ee557bcb2f1561787] video/hdmi: Rename HDMI_IDENTIFIER to HDMI_IEEE_OUI
git bisect good 6cb3b7f1c013fd4bea41e16ee557bcb2f1561787
# bad: [a1bfacf4006a3bb410b0fa85e203f9249d2d35e9] drm/exynos: Add fallback option to get non physically contiguous memory for fb
git bisect bad a1bfacf4006a3bb410b0fa85e203f9249d2d35e9
# good: [53f3b25287d8eed5a274d85fe7192c5812045fa3] drm/radeon: gcc fixes for si dpm
git bisect good 53f3b25287d8eed5a274d85fe7192c5812045fa3
# skip: [bd633a7c1ca0663ba10426a0a6aeda0257cbe804] drm/i915: fix SDEIMR assertion when disabling LCPLL
git bisect skip bd633a7c1ca0663ba10426a0a6aeda0257cbe804
# skip: [c67a470b1db781c54be07a87217cff35a91f564e] drm/i915: allow package C8+ states on Haswell (disabled)
git bisect skip c67a470b1db781c54be07a87217cff35a91f564e
# skip: [608806a549c656c925eeb253cbed768535f26e41] drm/i915: explicit store base gem object in dma_buf->priv
git bisect skip 608806a549c656c925eeb253cbed768535f26e41
# skip: [c76ce038e31a2b30bc3dd816f0aefaf685097a0a] drm/i915: Update rules for reading cache lines through the LLC
git bisect skip c76ce038e31a2b30bc3dd816f0aefaf685097a0a
# skip: [99486b8e6140da7721c932e708a6c17dc1dd970a] i915: Add a Kconfig option to turn on i915.preliminary_hw_support by default
git bisect skip 99486b8e6140da7721c932e708a6c17dc1dd970a
# skip: [cc98b413c197c4c6a62b1e469e9d05e613571af5] drm/i915: Track when an object is pinned for use by the display engine
git bisect skip cc98b413c197c4c6a62b1e469e9d05e613571af5
# bad: [a5b6f74e64f42ea2cfc0f04be59369471cbc8a94] drm/tegra: fix up page flip flags.
git bisect bad a5b6f74e64f42ea2cfc0f04be59369471cbc8a94
# skip: [fdaa930bee14abe5ed1d1aead5bc6a9a5660ccbf] drm/i915: Remove HAS_PIPE_CONTROL()
git bisect skip fdaa930bee14abe5ed1d1aead5bc6a9a5660ccbf
# good: [1793126fcebd7c18834f95d43b55e387a8803aa8] drm: implement experimental render nodes
git bisect good 1793126fcebd7c18834f95d43b55e387a8803aa8
# skip: [8254860096df085d633207d4d68550bb2ca29f17] drm/i915: Remove DSPARB_HWCONTROL()
git bisect skip 8254860096df085d633207d4d68550bb2ca29f17
# good: [0adb23709ba9dd87d8bfa1ee349482ac8ec0730a] drm/prime: double lock typo
git bisect good 0adb23709ba9dd87d8bfa1ee349482ac8ec0730a
# skip: [139ccd3fb12b3d17a773d2d61140f955a47fa470] drm/i915: make IVB FDI training match spec v3
git bisect skip 139ccd3fb12b3d17a773d2d61140f955a47fa470
# skip: [6aedd1f539f51b7b0c3d6be0088c3541f9d2c294] drm/i915: clarify Haswell power well bit names
git bisect skip 6aedd1f539f51b7b0c3d6be0088c3541f9d2c294
# good: [62f2104f3fc11c4cfd1307429cb955bfa48dcb37] drm: Advertise async page flip ability through GETCAP ioctl
git bisect good 62f2104f3fc11c4cfd1307429cb955bfa48dcb37
# good: [8637b407cf1740c52a01b9fc0cf506f31e225151] drm/i915/vma: Correct use after free in eviction
git bisect good 8637b407cf1740c52a01b9fc0cf506f31e225151
# skip: [3414caf63421762e57b26aa999e5187b42ee1606] drm/i915: drop WaMbcDriverBootEnable workaround
git bisect skip 3414caf63421762e57b26aa999e5187b42ee1606
# skip: [333a820416ccb0e24974b6ebe7d447c0c28c7b76] drm/i915: don't disable/reenable IVB error interrupts when not needed
git bisect skip 333a820416ccb0e24974b6ebe7d447c0c28c7b76
# skip: [3abdb33410d8b130437613a2fe3d5bf667ca34da] drm: Remove IS_IRONLAKE_D()
git bisect skip 3abdb33410d8b130437613a2fe3d5bf667ca34da
# skip: [60611c137641af41895828cfc74f5be64ed69b49] drm/i915: don't queue PM events we won't process
git bisect skip 60611c137641af41895828cfc74f5be64ed69b49
# good: [1ff60ddb84bb9ff6fa182710c4e08b66badf918c] drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2)
git bisect good 1ff60ddb84bb9ff6fa182710c4e08b66badf918c
# skip: [1403c0d4d46f2eed2ab13b89561c853988ad7513] drm/i915: merge HSW and SNB PM irq handlers
git bisect skip 1403c0d4d46f2eed2ab13b89561c853988ad7513
# skip: [215733fadb87709e91b3a622d786865292c9ab11] drm/i915: grab force_wake when restoring LCPLL
git bisect skip 215733fadb87709e91b3a622d786865292c9ab11
# skip: [e3ce7633ba38a97c2203ab60f381ce1642940328] drm/i915: Remove I915_READ_{NOPID, SYNC_0, SYNC_1})()
git bisect skip e3ce7633ba38a97c2203ab60f381ce1642940328
# skip: [5032d871f7d300aee10c309ea004eb4f851553fe] drm/i915: Cleaning up the relocate entry function
git bisect skip 5032d871f7d300aee10c309ea004eb4f851553fe
# skip: [ec013e7f491cceef0e87190a3c6b132ce49f7ce4] drm/i915: Expose energy counter on SNB+ through debugfs
git bisect skip ec013e7f491cceef0e87190a3c6b132ce49f7ce4
# skip: [605cd25b1ffa09a2f86b5c4bd120086dd5ea10a7] drm/i915: add dev_priv->pm_irq_mask
git bisect skip 605cd25b1ffa09a2f86b5c4bd120086dd5ea10a7
# skip: [35d8f2eb259e2d32c4bb67e9733ba0cba031f64f] drm/i915: Use POSTING_READ in lcpll code
git bisect skip 35d8f2eb259e2d32c4bb67e9733ba0cba031f64f
# skip: [4d3b3d5fd7d42a522a6c444388826bb23264db9f] drm/i915: fix how we mask PMIMR when adding work to the queue
git bisect skip 4d3b3d5fd7d42a522a6c444388826bb23264db9f
# skip: [e27e9708c45879f16fb824a2da94cd65e150a0c8] drm/i915: enable Package C8+ by default
git bisect skip e27e9708c45879f16fb824a2da94cd65e150a0c8
# skip: [f52ecbcf8009ef18cda86b30efd837338cd25392] drm/i915: don't update GEN6_PMIMR when it's not needed
git bisect skip f52ecbcf8009ef18cda86b30efd837338cd25392
# skip: [e8016055335687b90e7cd5bbfa30e0c269417f34] drm/i915: Fix context size calculation on SNB/IVB/VLV
git bisect skip e8016055335687b90e7cd5bbfa30e0c269417f34
# skip: [371db66add2ef701abd3f4295c4cd6bbc24cd5ca] drm/i915: add i915_pc8_status debugfs file
git bisect skip 371db66add2ef701abd3f4295c4cd6bbc24cd5ca
# skip: [a40066412cc2ace1c1299e7a4d7a81dc33395b6f] drm/i915: add the FCLK case to intel_ddi_get_cdclk_freq
git bisect skip a40066412cc2ace1c1299e7a4d7a81dc33395b6f
# skip: [edbfdb456053d0738e6b06a3827ead4158bfc918] drm/i915: wrap GEN6_PMIMR changes
git bisect skip edbfdb456053d0738e6b06a3827ead4158bfc918
# good: [efa27f9cec09518c9b574e3ab4a0a41717237429] Merge tag 'drm-intel-next-2013-08-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
git bisect good efa27f9cec09518c9b574e3ab4a0a41717237429
# good: [679fe80fbe964ea7f9f71781c2ca65b630949da3] drm/radeon/dpm: make sure dc performance level limits are valid (CI)
git bisect good 679fe80fbe964ea7f9f71781c2ca65b630949da3
# bad: [9c725e5bcdae59d5383d4aec33a34c822582dda5] Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next
git bisect bad 9c725e5bcdae59d5383d4aec33a34c822582dda5
# first bad commit: [9c725e5bcdae59d5383d4aec33a34c822582dda5] Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next

v3.11 is fine, with and without monitor attached.
v3.12 is fine as long as X.org isn't started (but may fail to reboot 
      cleanly). If a monitor is connected I don't observe any problems,
      it freezes without a monitor connected.
v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore 
      (I didn't confirm that it's fine with a monitor attached), but I
      end up with the following Oops (this is before X.org is started).

[drm] hdmi device  not found 1 0 1
nouveau  [  DEVICE][0000:01:00.0] BOOT0  : 0x011000a1
nouveau  [  DEVICE][0000:01:00.0] Chipset: NV11 (NV11)
nouveau  [  DEVICE][0000:01:00.0] Family : NV11
nouveau  [   VBIOS][0000:01:00.0] checking PRAMIN for image...
nouveau  [   VBIOS][0000:01:00.0] ... appears to be valid
nouveau  [   VBIOS][0000:01:00.0] using image from PRAMIN
nouveau  [   VBIOS][0000:01:00.0] BMP version 5.11
nouveau  [   VBIOS][0000:01:00.0] version 03.11.00.18.00
nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
nouveau W[  PTIMER][0000:01:00.0] unknown input clock freq
nouveau  [     PFB][0000:01:00.0] RAM type: SDRAM
nouveau  [     PFB][0000:01:00.0] RAM size: 32 MiB
nouveau  [     PFB][0000:01:00.0]    ZCOMP: 0 tags
BUG: unable to handle kernel NULL pointer dereference at   (null)
IP: [<e0ecaa4e>] _nouveau_clock_init+0x2a/0xaf [nouveau]
*pde = 00000000 
Oops: 0000 [#1] PREEMPT SMP 
Modules linked in: snd arc4 psmouse serio_raw pcspkr i2c_viapro soundcore nouveau(+) video rtl8180 mxm_wmi eeprom_93cx6 wmi mac80211 i2c_algo_bit drm_kms_helper ttm cfg80211 parport_pc processor button parport drm rfkill via_agp ext4 crc16 mbcache jbd2 dm_mod sg sd_mod sr_mod crc_t10dif cdrom crct10dif_common ata_generic pata_acpi 8139too 8139cp mii uhci_hcd ehci_pci ehci_hcd floppy pata_via libata usbcore usb_common scsi_mod
CPU: 0 PID: 360 Comm: modprobe Not tainted 3.13.0-rc1-00095-gb975dc3 #42
Hardware name:    /GA-7VT600, BIOS F5 08/16/2004
task: dee1e880 ti: de33c000 task.ti: de33c000
EIP: 0060:[<e0ecaa4e>] EFLAGS: 00010246 CPU: 0
EIP is at _nouveau_clock_init+0x2a/0xaf [nouveau]
EAX: de19c94c EBX: de19c900 ECX: 00000000 EDX: e0f3689c
ESI: 00000000 EDI: de19c9c8 EBP: de19c944 ESP: de33db90
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
CR0: 8005003b CR2: 00000000 CR3: 1e078000 CR4: 00000790
Stack:
 00000013 e0ebe0da de29d600 00000005 de19c900 00000000 de29d600 00000013
 e0ebe17d de19c900 00000005 e0f2e8ca 00000001 00000012 00000012 e0ee7f01
 00000000 00000012 de2caa38 0000000c 000000c0 de33dc00 00000000 00000000
Call Trace:
 [<e0ebe0da>] ? nouveau_object_inc+0x30/0x15a [nouveau]
 [<e0ebe17d>] ? nouveau_object_inc+0xd3/0x15a [nouveau]
 [<e0ee7f01>] ? nouveau_devobj_ctor+0x58c/0x5cd [nouveau]
 [<e0ebdc3b>] ? nouveau_object_ctor+0x31/0xb7 [nouveau]
 [<e0ebe352>] ? nouveau_object_new+0x14e/0x1e8 [nouveau]
 [<e0ebdd28>] ? nouveau_object_ref+0x67/0x98 [nouveau]
 [<e0f0d12b>] ? nouveau_drm_load+0x1ea/0x724 [nouveau]
 [<e0803e3c>] ? drm_dev_register+0xd6/0x16c [drm]
 [<e0805311>] ? drm_get_pci_dev+0x8c/0x110 [drm]
 [<c1189d00>] ? pci_read_config_byte+0x14/0x17
 [<e0f0d7e1>] ? nouveau_drm_probe+0x17c/0x19e [nouveau]
 [<c118da65>] ? pci_device_probe+0x50/0x9d
 [<c1117aeb>] ? sysfs_create_link+0x24/0x2d
 [<c120a714>] ? driver_probe_device+0x8c/0x191
 [<c116897f>] ? kobject_add_internal+0x105/0x1ae
 [<c118d5c0>] ? pci_match_id+0x18/0x36
 [<c120a885>] ? __driver_attach+0x44/0x5f
 [<c120947d>] ? bus_for_each_dev+0x50/0x5a
 [<c120a379>] ? driver_attach+0x14/0x16
 [<c120a841>] ? __device_attach+0x28/0x28
 [<c120a0e1>] ? bus_add_driver+0xd9/0x190
 [<c120ad08>] ? driver_register+0x77/0xab
 [<e0a84000>] ? 0xe0a83fff
 [<e0a84000>] ? 0xe0a83fff
 [<c100043f>] ? do_one_initcall+0x8f/0x12c
 [<c1094f2d>] ? jump_label_module_notify+0x139/0x15a
 [<c1048c79>] ? notifier_call_chain+0x29/0x42
 [<c1048e72>] ? __blocking_notifier_call_chain+0x45/0x51
 [<c1076dcb>] ? load_module+0x13e3/0x18e1
 [<c107733b>] ? SyS_init_module+0x72/0x88
 [<c12ed88d>] ? sysenter_do_call+0x12/0x28
Code: d2 55 b9 21 00 00 00 57 56 53 89 c3 8d 68 44 83 ec 10 8b 70 40 89 ef 31 c0 f3 ab 8d 43 4c 89 43 4c 89 43 50 c6 83 c4 00 00 00 ff <8b> 16 83 fa 19 74 39 89 d8 ff 93 e8 00 00 00 89 c7 8b 06 85 ff
EIP: [<e0ecaa4e>] _nouveau_clock_init+0x2a/0xaf [nouveau] SS:ESP 0068:de33db90
CR2: 0000000000000000
---[ end trace 0f90bffd76312ecf ]---

lspci -nn:
00:00.0 Host bridge [0600]: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge [1106:3189] (rev 80)
00:01.0 PCI bridge [0604]: VIA Technologies, Inc. VT8237/VX700 PCI Bridge [1106:b198]
00:0b.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller [10ec:8185] (rev 20)
00:0f.0 IDE interface [0101]: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE [1106:0571] (rev 06)
00:10.0 USB controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 81)
00:10.1 USB controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 81)
00:10.2 USB controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 81)
00:10.4 USB controller [0c03]: VIA Technologies, Inc. USB 2.0 [1106:3104] (rev 86)
00:11.0 ISA bridge [0601]: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South] [1106:3227]
00:11.5 Multimedia audio controller [0401]: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller [1106:3059] (rev 60)
00:13.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV11 [GeForce2 MX/MX 400] [10de:0110] (rev a1)

excerpt of lspci -nnvvv:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV11 [GeForce2 MX/MX 400] [10de:0110] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. AGP-V7100 Pro [1043:4015]
        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: 32 (1250ns min, 250ns max)
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at e0000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
        [virtual] Expansion ROM at e1000000 [disabled] [size=64K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [44] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
        Kernel driver in use: nouveau

[no USB devices connected, just the USB root hubs]

The userspace is current Debian/unstable as of today, including these 
packages:
- xserver-xorg-core 2:1.14.3-5
- xserver-xorg-video-nouveau 1:1.0.10-1
- gcc-4.8 4.8.2-5
- binutils 2.23.91.20131123-1

Gzipped dmesg logs for 3.11.5, 3.12.1 and v3.13-rc1-95-gb975dc3 are 
attached, as well as Xorg.0.log for 3.11 and 3.13 and the 3.12 
localmodconfig.

I'd be happy to test any pointers.

Regards
	Stefan Lippers-Hollmann

[-- Attachment #2: config-3.11.0-rc7-00679-ga1bfacf.gz --]
[-- Type: application/x-gzip, Size: 20676 bytes --]

[-- Attachment #3: dmesg-3.11.log.gz --]
[-- Type: application/x-gzip, Size: 11188 bytes --]

[-- Attachment #4: dmesg-3.12.log.gz --]
[-- Type: application/x-gzip, Size: 11497 bytes --]

[-- Attachment #5: dmesg-3.13.log.gz --]
[-- Type: application/x-gzip, Size: 12335 bytes --]

[-- Attachment #6: Xorg-3.11.log.gz --]
[-- Type: application/x-gzip, Size: 3979 bytes --]

[-- Attachment #7: Xorg-3.13.log.gz --]
[-- Type: application/x-gzip, Size: 1147 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-26 23:03 nouveau/ NV11: 3.12 freezes if X.org is started headless Stefan Lippers-Hollmann
@ 2013-11-26 23:19 ` Ilia Mirkin
  2013-11-27  0:18   ` Stefan Lippers-Hollmann
  0 siblings, 1 reply; 7+ messages in thread
From: Ilia Mirkin @ 2013-11-26 23:19 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann; +Cc: David Airlie, linux-kernel, dri-devel

On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> v3.11 is fine, with and without monitor attached.
> v3.12 is fine as long as X.org isn't started (but may fail to reboot
>       cleanly). If a monitor is connected I don't observe any problems,
>       it freezes without a monitor connected.
> v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
>       (I didn't confirm that it's fine with a monitor attached), but I
>       end up with the following Oops (this is before X.org is started).
>
> [drm] hdmi device  not found 1 0 1
> nouveau  [  DEVICE][0000:01:00.0] BOOT0  : 0x011000a1
> nouveau  [  DEVICE][0000:01:00.0] Chipset: NV11 (NV11)
> nouveau  [  DEVICE][0000:01:00.0] Family : NV11
> nouveau  [   VBIOS][0000:01:00.0] checking PRAMIN for image...
> nouveau  [   VBIOS][0000:01:00.0] ... appears to be valid
> nouveau  [   VBIOS][0000:01:00.0] using image from PRAMIN
> nouveau  [   VBIOS][0000:01:00.0] BMP version 5.11
> nouveau  [   VBIOS][0000:01:00.0] version 03.11.00.18.00
> nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
> nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
> nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
> nouveau W[   VBIOS][0000:01:00.0] DCB contains no useful data
> nouveau W[  PTIMER][0000:01:00.0] unknown input clock freq
> nouveau  [     PFB][0000:01:00.0] RAM type: SDRAM
> nouveau  [     PFB][0000:01:00.0] RAM size: 32 MiB
> nouveau  [     PFB][0000:01:00.0]    ZCOMP: 0 tags
> BUG: unable to handle kernel NULL pointer dereference at   (null)
> IP: [<e0ecaa4e>] _nouveau_clock_init+0x2a/0xaf [nouveau]
> *pde = 00000000
> Oops: 0000 [#1] PREEMPT SMP
> Modules linked in: snd arc4 psmouse serio_raw pcspkr i2c_viapro soundcore nouveau(+) video rtl8180 mxm_wmi eeprom_93cx6 wmi mac80211 i2c_algo_bit drm_kms_helper ttm cfg80211 parport_pc processor button parport drm rfkill via_agp ext4 crc16 mbcache jbd2 dm_mod sg sd_mod sr_mod crc_t10dif cdrom crct10dif_common ata_generic pata_acpi 8139too 8139cp mii uhci_hcd ehci_pci ehci_hcd floppy pata_via libata usbcore usb_common scsi_mod
> CPU: 0 PID: 360 Comm: modprobe Not tainted 3.13.0-rc1-00095-gb975dc3 #42
> Hardware name:    /GA-7VT600, BIOS F5 08/16/2004
> task: dee1e880 ti: de33c000 task.ti: de33c000
> EIP: 0060:[<e0ecaa4e>] EFLAGS: 00010246 CPU: 0
> EIP is at _nouveau_clock_init+0x2a/0xaf [nouveau]
> EAX: de19c94c EBX: de19c900 ECX: 00000000 EDX: e0f3689c
> ESI: 00000000 EDI: de19c9c8 EBP: de19c944 ESP: de33db90
>  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> CR0: 8005003b CR2: 00000000 CR3: 1e078000 CR4: 00000790
> Stack:
>  00000013 e0ebe0da de29d600 00000005 de19c900 00000000 de29d600 00000013
>  e0ebe17d de19c900 00000005 e0f2e8ca 00000001 00000012 00000012 e0ee7f01
>  00000000 00000012 de2caa38 0000000c 000000c0 de33dc00 00000000 00000000
> Call Trace:
>  [<e0ebe0da>] ? nouveau_object_inc+0x30/0x15a [nouveau]
>  [<e0ebe17d>] ? nouveau_object_inc+0xd3/0x15a [nouveau]
>  [<e0ee7f01>] ? nouveau_devobj_ctor+0x58c/0x5cd [nouveau]
>  [<e0ebdc3b>] ? nouveau_object_ctor+0x31/0xb7 [nouveau]
>  [<e0ebe352>] ? nouveau_object_new+0x14e/0x1e8 [nouveau]
>  [<e0ebdd28>] ? nouveau_object_ref+0x67/0x98 [nouveau]
>  [<e0f0d12b>] ? nouveau_drm_load+0x1ea/0x724 [nouveau]
>  [<e0803e3c>] ? drm_dev_register+0xd6/0x16c [drm]
>  [<e0805311>] ? drm_get_pci_dev+0x8c/0x110 [drm]
>  [<c1189d00>] ? pci_read_config_byte+0x14/0x17
>  [<e0f0d7e1>] ? nouveau_drm_probe+0x17c/0x19e [nouveau]
>  [<c118da65>] ? pci_device_probe+0x50/0x9d
>  [<c1117aeb>] ? sysfs_create_link+0x24/0x2d
>  [<c120a714>] ? driver_probe_device+0x8c/0x191
>  [<c116897f>] ? kobject_add_internal+0x105/0x1ae
>  [<c118d5c0>] ? pci_match_id+0x18/0x36
>  [<c120a885>] ? __driver_attach+0x44/0x5f
>  [<c120947d>] ? bus_for_each_dev+0x50/0x5a
>  [<c120a379>] ? driver_attach+0x14/0x16
>  [<c120a841>] ? __device_attach+0x28/0x28
>  [<c120a0e1>] ? bus_add_driver+0xd9/0x190
>  [<c120ad08>] ? driver_register+0x77/0xab
>  [<e0a84000>] ? 0xe0a83fff
>  [<e0a84000>] ? 0xe0a83fff
>  [<c100043f>] ? do_one_initcall+0x8f/0x12c
>  [<c1094f2d>] ? jump_label_module_notify+0x139/0x15a
>  [<c1048c79>] ? notifier_call_chain+0x29/0x42
>  [<c1048e72>] ? __blocking_notifier_call_chain+0x45/0x51
>  [<c1076dcb>] ? load_module+0x13e3/0x18e1
>  [<c107733b>] ? SyS_init_module+0x72/0x88
>  [<c12ed88d>] ? sysenter_do_call+0x12/0x28
> Code: d2 55 b9 21 00 00 00 57 56 53 89 c3 8d 68 44 83 ec 10 8b 70 40 89 ef 31 c0 f3 ab 8d 43 4c 89 43 4c 89 43 50 c6 83 c4 00 00 00 ff <8b> 16 83 fa 19 74 39 89 d8 ff 93 e8 00 00 00 89 c7 8b 06 85 ff
> EIP: [<e0ecaa4e>] _nouveau_clock_init+0x2a/0xaf [nouveau] SS:ESP 0068:de33db90
> CR2: 0000000000000000
> ---[ end trace 0f90bffd76312ecf ]---

The oops in 3.13-rc1 should be fixed by applying the equivalent of
http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=0397aaaa009092427dc60aea8b3c21c00526d8ba
. Also note that libdrm had a bug when compiled with gcc-4.8 for
pre-nv50 cards, not sure if the fixes have made it to Debian/unstable,
but you need libdrm-2.4.48+ (or compile it with gcc-4.7/clang).
Lastly, another thing to try if you're getting random hangs is booting
with nouveau.agpmode=0 (and if that helps, seeing if =1 or =2 still
work ok). If that helps, it can be added to the quirks list.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-26 23:19 ` Ilia Mirkin
@ 2013-11-27  0:18   ` Stefan Lippers-Hollmann
  2013-11-27  0:49     ` Ilia Mirkin
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Lippers-Hollmann @ 2013-11-27  0:18 UTC (permalink / raw)
  To: Ilia Mirkin; +Cc: David Airlie, linux-kernel, dri-devel

Hi

On Tuesday 26 November 2013, Ilia Mirkin wrote:
> On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> > v3.11 is fine, with and without monitor attached.
> > v3.12 is fine as long as X.org isn't started (but may fail to reboot
> >       cleanly). If a monitor is connected I don't observe any problems,
> >       it freezes without a monitor connected.
> > v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
> >       (I didn't confirm that it's fine with a monitor attached), but I
> >       end up with the following Oops (this is before X.org is started).
[…]
> > BUG: unable to handle kernel NULL pointer dereference at   (null)
> > IP: [<e0ecaa4e>] _nouveau_clock_init+0x2a/0xaf [nouveau]
[…]
> The oops in 3.13-rc1 should be fixed by applying the equivalent of
> http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=0397aaaa009092427dc60aea8b3c21c00526d8ba

As you expected, the Oops is gone after applying the afforementioned 
patch, 3.13~ now behaves as 3.12 (it freezes, if X.org is started 
without a monitor attached).

> . Also note that libdrm had a bug when compiled with gcc-4.8 for
> pre-nv50 cards, not sure if the fixes have made it to Debian/unstable,
> but you need libdrm-2.4.48+ (or compile it with gcc-4.7/clang).

The libdrm2 version is 2.4.49-2, which -although it has been compiled 
with gcc 4.8.2-5[1]- should be unaffected by this issue. According to 
the ChangeLog the version is at 7ddc98f92f92560e2b52287ae8cf816ca4a057de
and no significant patches[2] have been applied.

> Lastly, another thing to try if you're getting random hangs is booting
> with nouveau.agpmode=0 (and if that helps, seeing if =1 or =2 still
> work ok). If that helps, it can be added to the quirks list.

Unfortunately this doesn't appear to have an effect, with 3.13~ and
the previous patch applied:

# cat /sys/module/nouveau/parameters/agpmode 
0

# init 5
[   73.708490] nouveau W[  PTIMER][0000:01:00.0] unknown input clock freq
system frozen.

Regards
	Stefan Lippers-Hollmann

[1]	https://buildd.debian.org/status/fetch.php?pkg=libdrm&arch=i386&ver=2.4.49-2&stamp=1385480211
[2]	http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/libdrm.git;a=blob;f=debian/patches/01_default_perms.diff;h=cdba93e19edf40b2b0b56d951a6416c68a0af6f0;hb=HEAD
	http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/libdrm.git;a=blob;f=debian/patches/02_kbsd_modeset.diff;h=260260925fc692c71d955d6490dabf87905abb51;hb=HEAD

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-27  0:18   ` Stefan Lippers-Hollmann
@ 2013-11-27  0:49     ` Ilia Mirkin
  2013-11-27  1:35       ` Stefan Lippers-Hollmann
  0 siblings, 1 reply; 7+ messages in thread
From: Ilia Mirkin @ 2013-11-27  0:49 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann; +Cc: David Airlie, linux-kernel, dri-devel

On Tue, Nov 26, 2013 at 7:18 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> Hi
>
> On Tuesday 26 November 2013, Ilia Mirkin wrote:
>> On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>> > v3.11 is fine, with and without monitor attached.
>> > v3.12 is fine as long as X.org isn't started (but may fail to reboot
>> >       cleanly). If a monitor is connected I don't observe any problems,
>> >       it freezes without a monitor connected.
>> > v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
>> >       (I didn't confirm that it's fine with a monitor attached), but I
>> >       end up with the following Oops (this is before X.org is started).

One more idea -- try it with nouveau.runpm=0 -- I've had some odd
results with it on my older cards (but I don't remember hangs, but I
also didn't spend a lot of time on it, just plopped the option in and
moved on). This is a feature that got in in 3.12, and is really the
only major nouveau-affecting change in that kernel for your card
revision.

  -ilia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-27  0:49     ` Ilia Mirkin
@ 2013-11-27  1:35       ` Stefan Lippers-Hollmann
  2013-11-27  2:15         ` Ilia Mirkin
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Lippers-Hollmann @ 2013-11-27  1:35 UTC (permalink / raw)
  To: Ilia Mirkin; +Cc: David Airlie, linux-kernel, dri-devel

Hi

On Wednesday 27 November 2013, Ilia Mirkin wrote:
> On Tue, Nov 26, 2013 at 7:18 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> > Hi
> >
> > On Tuesday 26 November 2013, Ilia Mirkin wrote:
> >> On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> >> > v3.11 is fine, with and without monitor attached.
> >> > v3.12 is fine as long as X.org isn't started (but may fail to reboot
> >> >       cleanly). If a monitor is connected I don't observe any problems,
> >> >       it freezes without a monitor connected.
> >> > v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
> >> >       (I didn't confirm that it's fine with a monitor attached), but I
> >> >       end up with the following Oops (this is before X.org is started).
> 
> One more idea -- try it with nouveau.runpm=0 -- I've had some odd
> results with it on my older cards (but I don't remember hangs, but I
> also didn't spend a lot of time on it, just plopped the option in and
> moved on). This is a feature that got in in 3.12, and is really the
> only major nouveau-affecting change in that kernel for your card
> revision.

You're spot on, that does the trick.

# cat /sys/module/nouveau/parameters/agpmode 
-1
# cat /sys/module/nouveau/parameters/runpm 
0

  v3.13-rc1-95-gb975dc3 
+ http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=0397aaaa009092427dc60aea8b3c21c00526d8ba
+ nouveau.runpm=0
is now stable, with and without a monitor attached; as is

  3.12.1 || v3.12.1-62-g4615252 (stable-queue.git)
+ nouveau.runpm=0

I don't need to override the agpmode parameter.

Thanks a lot!

Regards
	Stefan Lippers-Hollmann

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-27  1:35       ` Stefan Lippers-Hollmann
@ 2013-11-27  2:15         ` Ilia Mirkin
  2013-11-27  2:29           ` Dave Airlie
  0 siblings, 1 reply; 7+ messages in thread
From: Ilia Mirkin @ 2013-11-27  2:15 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann, David Airlie; +Cc: linux-kernel, dri-devel

On Tue, Nov 26, 2013 at 8:35 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
> Hi
>
> On Wednesday 27 November 2013, Ilia Mirkin wrote:
>> On Tue, Nov 26, 2013 at 7:18 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>> > Hi
>> >
>> > On Tuesday 26 November 2013, Ilia Mirkin wrote:
>> >> On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>> >> > v3.11 is fine, with and without monitor attached.
>> >> > v3.12 is fine as long as X.org isn't started (but may fail to reboot
>> >> >       cleanly). If a monitor is connected I don't observe any problems,
>> >> >       it freezes without a monitor connected.
>> >> > v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
>> >> >       (I didn't confirm that it's fine with a monitor attached), but I
>> >> >       end up with the following Oops (this is before X.org is started).
>>
>> One more idea -- try it with nouveau.runpm=0 -- I've had some odd
>> results with it on my older cards (but I don't remember hangs, but I
>> also didn't spend a lot of time on it, just plopped the option in and
>> moved on). This is a feature that got in in 3.12, and is really the
>> only major nouveau-affecting change in that kernel for your card
>> revision.
>
> You're spot on, that does the trick.

Great to hear!

>
> # cat /sys/module/nouveau/parameters/agpmode
> -1
> # cat /sys/module/nouveau/parameters/runpm
> 0
>
>   v3.13-rc1-95-gb975dc3
> + http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=0397aaaa009092427dc60aea8b3c21c00526d8ba
> + nouveau.runpm=0
> is now stable, with and without a monitor attached; as is
>
>   3.12.1 || v3.12.1-62-g4615252 (stable-queue.git)
> + nouveau.runpm=0
>

Dave, looking at the code, it seems like runtime pm should only be
getting activated by default for optimus systems. Stefan's is clearly
not one of those, neither is mine. Unfortunately I have no clue how
the runtime pm subsystem works, but it seems like runtime_suspend()
may be getting called directly, e.g. if there are no monitors attached
to nouveau, perhaps as a result of nouveau_crtc_set_config in
dispnv04/crtc.c. Does the same if (runpm == -1 && !optimus) return
-EBUSY check belong in the runtime_suspend callback?

  -ilia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nouveau/ NV11: 3.12 freezes if X.org is started headless
  2013-11-27  2:15         ` Ilia Mirkin
@ 2013-11-27  2:29           ` Dave Airlie
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Airlie @ 2013-11-27  2:29 UTC (permalink / raw)
  To: Ilia Mirkin
  Cc: Stefan Lippers-Hollmann, David Airlie, linux-kernel, dri-devel

On Wed, Nov 27, 2013 at 12:15 PM, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
> On Tue, Nov 26, 2013 at 8:35 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>> Hi
>>
>> On Wednesday 27 November 2013, Ilia Mirkin wrote:
>>> On Tue, Nov 26, 2013 at 7:18 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>>> > Hi
>>> >
>>> > On Tuesday 26 November 2013, Ilia Mirkin wrote:
>>> >> On Tue, Nov 26, 2013 at 6:03 PM, Stefan Lippers-Hollmann <s.L-H@gmx.de> wrote:
>>> >> > v3.11 is fine, with and without monitor attached.
>>> >> > v3.12 is fine as long as X.org isn't started (but may fail to reboot
>>> >> >       cleanly). If a monitor is connected I don't observe any problems,
>>> >> >       it freezes without a monitor connected.
>>> >> > v3.13-rc1-95-gb975dc3 appears not to freeze without a monitor anymore
>>> >> >       (I didn't confirm that it's fine with a monitor attached), but I
>>> >> >       end up with the following Oops (this is before X.org is started).
>>>
>>> One more idea -- try it with nouveau.runpm=0 -- I've had some odd
>>> results with it on my older cards (but I don't remember hangs, but I
>>> also didn't spend a lot of time on it, just plopped the option in and
>>> moved on). This is a feature that got in in 3.12, and is really the
>>> only major nouveau-affecting change in that kernel for your card
>>> revision.
>>
>> You're spot on, that does the trick.
>
> Great to hear!
>
>>
>> # cat /sys/module/nouveau/parameters/agpmode
>> -1
>> # cat /sys/module/nouveau/parameters/runpm
>> 0
>>
>>   v3.13-rc1-95-gb975dc3
>> + http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=0397aaaa009092427dc60aea8b3c21c00526d8ba
>> + nouveau.runpm=0
>> is now stable, with and without a monitor attached; as is
>>
>>   3.12.1 || v3.12.1-62-g4615252 (stable-queue.git)
>> + nouveau.runpm=0
>>
>
> Dave, looking at the code, it seems like runtime pm should only be
> getting activated by default for optimus systems. Stefan's is clearly
> not one of those, neither is mine. Unfortunately I have no clue how
> the runtime pm subsystem works, but it seems like runtime_suspend()
> may be getting called directly, e.g. if there are no monitors attached
> to nouveau, perhaps as a result of nouveau_crtc_set_config in
> dispnv04/crtc.c. Does the same if (runpm == -1 && !optimus) return
> -EBUSY check belong in the runtime_suspend callback?

Either that or it needs to be calling some of the other runtime
interfaces instead of runtime_autosuspend

maybe that last pm_runtime_put_autosuspend should be just
pm_runtime_put, but that might need testing on an optimus system.

Dave.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-11-27  2:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-26 23:03 nouveau/ NV11: 3.12 freezes if X.org is started headless Stefan Lippers-Hollmann
2013-11-26 23:19 ` Ilia Mirkin
2013-11-27  0:18   ` Stefan Lippers-Hollmann
2013-11-27  0:49     ` Ilia Mirkin
2013-11-27  1:35       ` Stefan Lippers-Hollmann
2013-11-27  2:15         ` Ilia Mirkin
2013-11-27  2:29           ` Dave Airlie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).