Summary: | vgaswitcheroo issues on Linux 3.12 | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Armin K <krejzi> | ||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | medium | CC: | anton.sudak, gsingh_2011 | ||||
Version: | unspecified | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Armin K
2013-10-20 19:02:58 UTC
This happens with 3.12 kernel, with 3.11 it worked just fine. Can you bisect? Looks like it might be a duplicate of: https://bugzilla.kernel.org/show_bug.cgi?id=61891 Well, no idea if I did it correctly, but here goes: git bisect start '--' 'drivers/gpu' # bad: [a09e9a7a4b907f2dfa9bdb2b98a1828ab4b340b2] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux git bisect bad a09e9a7a4b907f2dfa9bdb2b98a1828ab4b340b2 # good: [6e4664525b1db28f8c4e1130957f70a94c19213e] Linux 3.11 git bisect good 6e4664525b1db28f8c4e1130957f70a94c19213e # good: [9712def2b3e10081b5f7d3c3bddad3126df4f0ba] Merge tag 'drm-intel-next-2013-08-09' of git://people.freedesktop.org/~danvet/drm-intel into drm-next git bisect good 9712def2b3e10081b5f7d3c3bddad3126df4f0ba # 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: [d1e3b5564834ea24dee6b364a172365f64865fe5] drm/radeon: atombios hw i2c fixes git bisect good d1e3b5564834ea24dee6b364a172365f64865fe5 # good: [ef7d64e5c27bc2587b4a20c9ae04413ce679bd8c] drm/nouveau/vdec: implement support for VP3 engines git bisect good ef7d64e5c27bc2587b4a20c9ae04413ce679bd8c # good: [3f1c781d9354b3856ba7de64104659a2e2033fd4] drm/exynos: Add missing of.h header include git bisect good 3f1c781d9354b3856ba7de64104659a2e2033fd4 # good: [459e97ee3422f0281069264e27246b4728ce8830] drm/exynos: Remove non-DT support in exynos_hdmiphy git bisect good 459e97ee3422f0281069264e27246b4728ce8830 # bad: [eced5a0a5a8f7a3b07320e3b7d1d432e0f044735] Merge tag 'fbdev-3.12-omap-legacy-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux git bisect bad eced5a0a5a8f7a3b07320e3b7d1d432e0f044735 # bad: [27703bb4a66df49ff16b44b864d307d2eb71774c] Merge tag 'PTR_RET-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux git bisect bad 27703bb4a66df49ff16b44b864d307d2eb71774c This is the commit it finished at commit b03cda5145f39b19aef1152350c04f4e3412cd20 Author: Sachin Kamat <sachin.kamat@linaro.org> Date: Mon Jul 15 16:04:46 2013 +0530 drm/cma: Replace PTR_RET with PTR_ERR_OR_ZERO PTR_RET is now deprecated. Use PTR_ERR_OR_ZERO instead. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> I can confirm that I have a similar issue on 3.12.0. I have Asus K73TA laptop with AMD APU A6-3400M and a discrete card Radeon 6550M. VGA Switcheroo device was created successfully with 3.11, but disappeared on 3.12.0. Error from dmesg: [ 25.783824] radeon: switched off [ 25.941949] hdaps: supported laptop not found! [ 25.941958] hdaps: driver init failed (ret=-19)! [ 26.552954] nbd1: unknown partition table [ 26.806322] input: ACPI Virtual Keyboard Device as /devices/virtual/input/input16 [ 29.169987] [drm:rv770_stop_dpm] *ERROR* Could not force DPM to low. [ 29.174291] [drm] radeon: finishing device. [ 29.175825] radeon 0000:01:00.0: ffff880148cadc00 unpin not necessary [ 29.184651] ------------[ cut here ]------------ [ 29.184690] WARNING: CPU: 0 PID: 2890 at drivers/gpu/drm/drm_mm.c:578 ttm_bo_man_takedown+0x29/0x60 [ttm]() [ 29.184694] Memory manager not clean during takedown. [ 29.184697] Modules linked in: input_polldev binfmt_misc uinput nfsd auth_rpcgss oid_registry nfs_acl nfs lockd sunrpc md4 hmac nls_utf8 cifs dns_resolver fscache firewire_sbp2 firewire_core crc_itu_t loop fuse dm_crypt dm_mod joydev snd_hda_codec_realtek asus_nb_wmi asus_wmi sparse_keymap kvm_amd kvm psmouse serio_raw arc4 uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media pcspkr ath9k ath9k_common ath9k_hw ath mac80211 evdev cfg80211 k10temp rfkill i2c_piix4 wmi snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_seq_midi snd_seq_midi_event snd_rawmidi battery snd_seq snd_seq_device snd_timer radeon ac video ttm snd drm_kms_helper drm i2c_algo_bit soundcore i2c_core acpi_cpufreq processor button ext4 crc16 mbcache jbd2 btrfs xor raid6_pq crc32c libcrc32c nbd ums_realtek usb_storage sg sd_mod sr_mod cdrom crc_t10dif crct10dif_common hid_generic usbhid hid microcode ahci sdhci_pci libahci sdhci mmc_core libata ohci_pci ohci_hcd ehci_pci ehci_hcd scsi_mod thermal thermal_sys r8169 mii xhci_hcd usbcore usb_common [ 29.184833] CPU: 0 PID: 2890 Comm: kworker/0:3 Not tainted 3.12.0-teoteo #3 [ 29.184838] Hardware name: ASUSTeK Computer Inc. K73TA/K73TA, BIOS 206 07/20/2011 [ 29.184849] Workqueue: kacpi_hotplug hotplug_event_work [ 29.184853] 0000000000000009 ffffffff8149ddee ffff8800882bbb78 ffffffff81059d06 [ 29.184862] ffff880089011e40 ffff8800882bbbc8 ffff880036693448 ffffffffa04fd100 [ 29.184869] ffff8801497af400 ffffffff81059d77 ffffffffa03a7980 ffff880100000018 [ 29.184876] Call Trace: [ 29.184888] [<ffffffff8149ddee>] ? dump_stack+0x41/0x51 [ 29.184897] [<ffffffff81059d06>] ? warn_slowpath_common+0x86/0xb0 [ 29.184908] [<ffffffff81059d77>] ? warn_slowpath_fmt+0x47/0x50 [ 29.184925] [<ffffffffa03d1608>] ? ttm_bo_force_list_clean+0x58/0xd0 [ttm] [ 29.184939] [<ffffffffa03d6039>] ? ttm_bo_man_takedown+0x29/0x60 [ttm] [ 29.184979] [<ffffffffa0409706>] ? radeon_ttm_fini+0xc6/0x190 [radeon] [ 29.185015] [<ffffffffa040a0f9>] ? radeon_bo_fini+0x9/0x20 [radeon] [ 29.185060] [<ffffffffa04525ca>] ? evergreen_fini+0x9a/0xc0 [radeon] [ 29.185091] [<ffffffffa03efb71>] ? radeon_device_fini+0x31/0x100 [radeon] [ 29.185123] [<ffffffffa03f17ae>] ? radeon_driver_unload_kms+0x3e/0x70 [radeon] [ 29.185145] [<ffffffffa03825e7>] ? drm_put_dev+0x57/0x190 [drm] [ 29.185156] [<ffffffff8129ba2c>] ? pci_device_remove+0x3c/0xc0 [ 29.185165] [<ffffffff81350b15>] ? __device_release_driver+0x75/0xe0 [ 29.185171] [<ffffffff81350ba4>] ? device_release_driver+0x24/0x40 [ 29.185177] [<ffffffff81350472>] ? bus_remove_device+0xf2/0x140 [ 29.185185] [<ffffffff8134d1fa>] ? device_del+0x11a/0x1b0 [ 29.185193] [<ffffffff81295a1d>] ? pci_stop_bus_device+0x8d/0xb0 [ 29.185200] [<ffffffff81295b29>] ? pci_stop_and_remove_bus_device+0x9/0x20 [ 29.185207] [<ffffffff812b0e76>] ? disable_slot+0x66/0xb0 [ 29.185213] [<ffffffff812b0f58>] ? acpiphp_check_bridge+0x98/0xc0 [ 29.185220] [<ffffffff812b1d5a>] ? hotplug_event+0x11a/0x260 [ 29.185227] [<ffffffff812b1ebd>] ? hotplug_event_work+0x1d/0x60 [ 29.185234] [<ffffffff81073a66>] ? process_one_work+0x176/0x430 [ 29.185240] [<ffffffff8107461d>] ? worker_thread+0x10d/0x3a0 [ 29.185246] [<ffffffff81074510>] ? rescuer_thread+0x310/0x310 [ 29.185254] [<ffffffff8107aa5f>] ? kthread+0xaf/0xc0 [ 29.185261] [<ffffffff8107a9b0>] ? kthread_create_on_node+0x110/0x110 [ 29.185270] [<ffffffff814ab20c>] ? ret_from_fork+0x7c/0xb0 [ 29.185278] [<ffffffff8107a9b0>] ? kthread_create_on_node+0x110/0x110 [ 29.185282] ---[ end trace f91634133323f032 ]--- [ 29.185290] [drm] radeon: ttm finalized [ 29.185296] vga_switcheroo: disabled [ 29.186077] ------------[ cut here ]------------ [ 29.186099] WARNING: CPU: 0 PID: 2890 at drivers/gpu/drm/ttm/ttm_page_alloc_dma.c:533 ttm_dma_free_pool+0x126/0x130 [ttm]() [ 29.186103] Modules linked in: input_polldev binfmt_misc uinput nfsd auth_rpcgss oid_registry nfs_acl nfs lockd sunrpc md4 hmac nls_utf8 cifs dns_resolver fscache firewire_sbp2 firewire_core crc_itu_t loop fuse dm_crypt dm_mod joydev snd_hda_codec_realtek asus_nb_wmi asus_wmi sparse_keymap kvm_amd kvm psmouse serio_raw arc4 uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media pcspkr ath9k ath9k_common ath9k_hw ath mac80211 evdev cfg80211 k10temp rfkill i2c_piix4 wmi snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_seq_midi snd_seq_midi_event snd_rawmidi battery snd_seq snd_seq_device snd_timer radeon ac video ttm snd drm_kms_helper drm i2c_algo_bit soundcore i2c_core acpi_cpufreq processor button ext4 crc16 mbcache jbd2 btrfs xor raid6_pq crc32c libcrc32c nbd ums_realtek usb_storage sg sd_mod sr_mod cdrom crc_t10dif crct10dif_common hid_generic usbhid hid microcode ahci sdhci_pci libahci sdhci mmc_core libata ohci_pci ohci_hcd ehci_pci ehci_hcd scsi_mod thermal thermal_sys r8169 mii xhci_hcd usbcore usb_common [ 29.186223] CPU: 0 PID: 2890 Comm: kworker/0:3 Tainted: G W 3.12.0-teoteo #3 [ 29.186227] Hardware name: ASUSTeK Computer Inc. K73TA/K73TA, BIOS 206 07/20/2011 [ 29.186234] Workqueue: kacpi_hotplug hotplug_event_work [ 29.186238] 0000000000000009 ffffffff8149ddee 0000000000000000 ffffffff81059d06 [ 29.186246] ffff8800890119c0 ffff8801497e8290 0000000000000008 ffff880147d1c6c0 [ 29.186252] ffff880146495400 ffffffffa03d6a36 ffff8800882bbc70 ffff8801497e8098 [ 29.186259] Call Trace: [ 29.186268] [<ffffffff8149ddee>] ? dump_stack+0x41/0x51 [ 29.186276] [<ffffffff81059d06>] ? warn_slowpath_common+0x86/0xb0 [ 29.186291] [<ffffffffa03d6a36>] ? ttm_dma_free_pool+0x126/0x130 [ttm] [ 29.186298] [<ffffffff81354249>] ? release_nodes+0x199/0x1e0 [ 29.186307] [<ffffffff81350b1d>] ? __device_release_driver+0x7d/0xe0 [ 29.186313] [<ffffffff81350ba4>] ? device_release_driver+0x24/0x40 [ 29.186319] [<ffffffff81350472>] ? bus_remove_device+0xf2/0x140 [ 29.186326] [<ffffffff8134d1fa>] ? device_del+0x11a/0x1b0 [ 29.186334] [<ffffffff81295a1d>] ? pci_stop_bus_device+0x8d/0xb0 [ 29.186342] [<ffffffff81295b29>] ? pci_stop_and_remove_bus_device+0x9/0x20 [ 29.186348] [<ffffffff812b0e76>] ? disable_slot+0x66/0xb0 [ 29.186355] [<ffffffff812b0f58>] ? acpiphp_check_bridge+0x98/0xc0 [ 29.186362] [<ffffffff812b1d5a>] ? hotplug_event+0x11a/0x260 [ 29.186369] [<ffffffff812b1ebd>] ? hotplug_event_work+0x1d/0x60 [ 29.186375] [<ffffffff81073a66>] ? process_one_work+0x176/0x430 [ 29.186381] [<ffffffff8107461d>] ? worker_thread+0x10d/0x3a0 [ 29.186387] [<ffffffff81074510>] ? rescuer_thread+0x310/0x310 [ 29.186395] [<ffffffff8107aa5f>] ? kthread+0xaf/0xc0 [ 29.186403] [<ffffffff8107a9b0>] ? kthread_create_on_node+0x110/0x110 [ 29.186411] [<ffffffff814ab20c>] ? ret_from_fork+0x7c/0xb0 [ 29.186418] [<ffffffff8107a9b0>] ? kthread_create_on_node+0x110/0x110 [ 29.186423] ---[ end trace f91634133323f033 ]--- [ 30.862453] Netfilter messages via NETLINK v0.30. [ 30.889270] device wlan1 entered promiscuous mode [ 33.515054] Bluetooth: Core ver 2.16 I'm not an experienced kernel developer. Please let me know if you need me to do any additional diagnostics. (In reply to comment #4) > I can confirm that I have a similar issue on 3.12.0. I have Asus K73TA > laptop with AMD APU A6-3400M and a discrete card Radeon 6550M. > > VGA Switcheroo device was created successfully with 3.11, but disappeared on > 3.12.0. Error from dmesg: > ... I think the issue went away in Kernel 3.12.2. Vgaswitcheroo in /sys/kernel/debug does get created successfully and there are no "cut here" error traces in dmesg. Teo It only crashes after disabling the DIS, did you try doing that? Because with me, it still happens in 3.12.2, just as it does in the previous releases. The bug isn't fixed in 3.12.3 either. Created attachment 90467 [details]
3.13-rc3 dmesg output
This issue is still present in 3.13-rc3. dmesg (attached) suggests that the kernel successfully recovers from the error but once in tries to power the DIS down again it hits the same problem. The rest of the system works fine except for the endless waterfall of error dumps in dmesg. 3.12.4 is also affected. And 3.12.5 ... Still present in 3.12.6. I seem to have discovered the root of the issue. I've just built 3.13-rc5 kernel which has the dynamic powering of the discrete gpu and all hell broke loose. I've narrowed the error down to the pci hotplug driver. My machine loads shpchp pci hotplug driver from what I can see in lsmod output. But the trick is, that there is another pci hotplug driver, acpi pci hotplug one, which seems to break all hell loose here. Disabling it seems to fix everything for me, at least on kernel 3.13. # CONFIG_HOTPLUG_PCI_ACPI is not set This kernel config option is the culprit for this, and that also can be seen from my backtrace: [ 22.731998] [<ffffffff81343cb1>] ? acpiphp_check_bridge+0x72/0x88 So the trick behind this is that acpi pci hotplug driver conflicts with shpchp one that my machine uses. And since it is a builtin driver, and can't be built as module it is always loaded. The other possibility is that this machine doesn't support acpi hotplug, but does support shpc pci hotplug. We need a kernel workarround so that acpi pci hotplug is disabled and out of the way when shpc pci hotplug is enabled. You can find a patch that should fix this bug here (see comment 3): https://bugzilla.redhat.com/show_bug.cgi?id=1047276 See: https://bugzilla.kernel.org/show_bug.cgi?id=61891 https://bugzilla.kernel.org/show_bug.cgi?id=64891 *** Bug 73297 has been marked as a duplicate of this bug. *** *** Bug 73449 has been marked as a duplicate of this bug. *** The fix is in 3.12.7. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.