linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
	"kongxinwei (A)" <kong.kongxinwei@hisilicon.com>,
	"Chenfeng (puck)" <puck.chen@hisilicon.com>,
	"airlied@linux.ie" <airlied@linux.ie>, <daniel@ffwll.ch>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: Warnings in DRM code when removing/unbinding a driver
Date: Fri, 10 Jan 2020 12:54:26 +0000	[thread overview]
Message-ID: <38ce1d99-e803-3693-adff-106dc438c973@huawei.com> (raw)
In-Reply-To: <381e28c2-f3e4-6f75-c632-96dd8a980c87@suse.de>



Hi Thomas,

> drm-tip now contains

I have tested today's linux-next, which includes this:

> 
> commit a88248506a2bcfeaef6837a53cde19fe11970e6c
> Author: Thomas Zimmermann <tzimmermann@suse.de>
> Date:   Tue Dec 3 09:38:15 2019 +0100
> 
>      drm/hisilicon/hibmc: Switch to generic fbdev emulation
> 
> which removes this entire code and switches hibmc to generic fbdev
> emulation. Does that fix the problem?
> 

And I see no warn, here's a dmesg snippet:

[   20.672787] pci 0007:90:00.0: can't derive routing for PCI INT A
[   20.678831] hibmc-drm 0007:91:00.0: PCI INT A: no GSI
[   20.686536] pci_bus 0007:90: 2-byte config write to 0007:90:00.0 
offset 0x4 may corrupt adjacent RW1C bits
[   20.696888] [TTM] Zone  kernel: Available graphics memory: 57359458 KiB
[   20.703545] [TTM] Zone   dma32: Available graphics memory: 2097152 KiB
[   20.710108] [TTM] Initializing pool allocator
[   20.714561] [TTM] Initializing DMA pool allocator
[   20.720212] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   20.726863] [drm] No driver support for vblank timestamp query.
[   20.754777] Console: switching to colour frame buffer device 100x37
[   20.778180] hibmc-drm 0007:91:00.0: fb0: hibmcdrmfb frame buffer device
[   20.786447] [drm] Initialized hibmc 1.0.0 20160828 for 0007:91:00.0 
on minor 0
[   20.794346] Console: switching to colour dummy device 80x25
[   20.801884] pci 0007:90:00.0: can't derive routing for PCI INT A
[   20.807963] hibmc-drm 0007:91:00.0: PCI INT A: no GSI
[   20.813656] [TTM] Finalizing pool allocator
[   20.817905] [TTM] Finalizing DMA pool allocator
[   20.822576] [TTM] Zone  kernel: Used memory at exit: 0 KiB
[   20.828760] [TTM] Zone   dma32: Used memory at exit: 0 KiB
[   20.834978] pci 0007:90:00.0: can't derive routing for PCI INT A
[   20.841021] hibmc-drm 0007:91:00.0: PCI INT A: no GSI
[   20.848858] [TTM] Zone  kernel: Available graphics memory: 57359458 KiB
[   20.855516] [TTM] Zone   dma32: Available graphics memory: 2097152 KiB
[   20.862079] [TTM] Initializing pool allocator
[   20.866525] [TTM] Initializing DMA pool allocator
[   20.872064] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   20.878716] [drm] No driver support for vblank timestamp query.
[   20.905996] Console: switching to colour frame buffer device 100x37
[   20.929385] hibmc-drm 0007:91:00.0: fb0: hibmcdrmfb frame buffer device
[   20.937241] [drm] Initialized hibmc 1.0.0 20160828 for 0007:91:00.0 
on minor 0
[   21.171906] loop: module loaded

Thanks,
John

> Best regards
> Thomas
> 
>> [   27.965802]  hibmc_unload+0x2c/0xd0
>> [   27.969281]  hibmc_pci_remove+0x2c/0x40
>> [   27.973109]  pci_device_remove+0x6c/0x140
>> [   27.977110]  really_probe+0x174/0x548
>> [   27.980763]  driver_probe_device+0x7c/0x148
>> [   27.984936]  device_driver_attach+0x94/0xa0
>> [   27.989109]  __driver_attach+0xa8/0x110
>> [   27.992935]  bus_for_each_dev+0xe8/0x158
>> [   27.996849]  driver_attach+0x30/0x40
>> [   28.000415]  bus_add_driver+0x234/0x2f0
>> [   28.004241]  driver_register+0xbc/0x1d0
>> [   28.008067]  __pci_register_driver+0xbc/0xd0
>> [   28.012329]  hibmc_pci_driver_init+0x20/0x28
>> [   28.016590]  do_one_initcall+0xb4/0x254
>> [   28.020417]  kernel_init_freeable+0x27c/0x328
>> [   28.024765]  kernel_init+0x10/0x118
>> [   28.028245]  ret_from_fork+0x10/0x18
>> [   28.031813] ---[ end trace 35a83b71b657878d ]---
>> [   28.036503] ------------[ cut here ]------------
>> [   28.041115] WARNING: CPU: 24 PID: 1 at
>> drivers/gpu/drm/drm_gem_vram_helper.c:40
>> ttm_buffer_object_destroy+0x4c/0x80
>> [   28.051537] Modules linked in:
>> [   28.054585] CPU: 24 PID: 1 Comm: swapper/0 Tainted: G    B   W
>>   5.5.0-rc1-dirty #565
>> [   28.062924] Hardware name: Huawei D06 /D06, BIOS Hisilicon D06 UEFI
>> RC0 - V1.16.01 03/15/2019
>>
>> [snip]
>>
>> Indeed, simply unbinding the device from the driver causes the same sort
>> of issue:
>>
>> root@(none)$ cd ./bus/pci/drivers/hibmc-drm/
>> root@(none)$ ls
>> 0000:05:00.0  bind          new_id        remove_id     uevent
>> unbind
>> root@(none)$ echo 0000\:05\:00.0 > unbind
>> [  116.074352] ------------[ cut here ]------------
>> [  116.078978] WARNING: CPU: 17 PID: 1178 at
>> drivers/gpu/drm/drm_gem_vram_helper.c:40
>> ttm_buffer_object_destroy+0x4c/0x80
>> [  116.089661] Modules linked in:
>> [  116.092711] CPU: 17 PID: 1178 Comm: sh Tainted: G    B   W
>> 5.5.0-rc1-dirty #565
>> [  116.100704] Hardware name: Huawei D06 /D06, BIOS Hisilicon D06 UEFI
>> RC0 - V1.16.01 03/15/2019
>> [  116.109218] pstate: 20400009 (nzCv daif +PAN -UAO)
>> [  116.114001] pc : ttm_buffer_object_destroy+0x4c/0x80
>> [  116.118956] lr : ttm_buffer_object_destroy+0x18/0x80
>> [  116.123910] sp : ffff0022e6cef8e0
>> [  116.127215] x29: ffff0022e6cef8e0 x28: ffff00231b1fb000
>> [  116.132519] x27: 0000000000000000 x26: ffff00231b1fb000
>> [  116.137821] x25: ffff0022e6cefdc0 x24: 0000000000002480
>> [  116.143124] x23: ffff0023682b6ab0 x22: ffff0023682b6800
>> [  116.148427] x21: ffff0023682b6800 x20: 0000000000000000
>> [  116.153730] x19: ffff0023682b6800 x18: 0000000000000000
>> [  116.159032] x17: 000000000000000000000000001
>> [  116.185545] x7 : ffff0023682b6b07 x6 : ffff80046d056d61
>> [  116.190848] x5 : ffff80046d056d61 x4 : ffff0023682b6ba0
>> [  116.196151] x3 : ffffa00010197338 x2 : dfffa00000000000
>> [  116.201453] x1 : 0000000000000003 x0 : 0000000000000001
>> [  116.206756] Call trace:
>> [  116.209195]  ttm_buffer_object_destroy+0x4c/0x80
>> [  116.213803]  ttm_bo_release_list+0x184/0x220
>> [  116.218064]  ttm_bo_put+0x410/0x5d0
>> [  116.221544]  drm_gem_vram_object_free+0xc/0x18
>> [  116.225979]  drm_gem_object_free+0x34/0xd0
>> [  116.230066]  drm_gem_object_put_unlocked+0xc8/0xf0
>> [  116.234848]  hibmc_user_framebuffer_destroy+0x20/0x40
>> [  116.239890]  drm_framebuffer_free+0x48/0x58
>> [  116.244064]  drm_mode_object_put.part.1+0x90/0xe8
>> [  116.248759]  drm_mode_object_put+0x28/0x38
>> [  116.252846]  hibmc_fbdev_fini+0x54/0x78
>> [  116.256672]  hibmc_unload+0x2c/0xd0
>> [  116.260151]  hibmc_pci_remove+0x2c/0x40
>> [  116.263979]  pci_device_remove+0x6c/0x140
>> [  116.267980]  device_release_driver_internal+0x134/0x250
>> [  116.273196]  device_driver_detach+0x28/0x38
>> [  116.277369]  unbind_store+0xfc/0x150
>> [  116.280934]  drv_attr_store+0x48/0x60
>> [  116.284589]  sysfs_kf_write+0x80/0xb0
>> [  116.288241]  kernfs_fop_write+0x1d4/0x320
>> [  116.292243]  __vfs_write+0x54/0x98
>> [  116.295635]  vfs_write+0xe8/0x270
>> [  116.298940]  ksys_write+0xc8/0x180
>> [  116.302333]  __arm64_sys_write+0x40/0x50
>> [  116.306248]  el0_svc_common.constprop.0+0xa4/0x1f8
>> [  116.311029]  el0_svc_handler+0x34/0xb0
>> [  116.314770]  el0_sync_handler+0x10c/0x1c8
>> [  116.318769]  el0_sync+0x140/0x180
>> [  116.322074] ---[ end trace e60e43d0e316b5c8 ]---
>> [  116.326868] ------------[ cut here ]------------
>>
>>
>> dmesg and .config is here:
>> https://pastebin.com/4P5yaZBS
>>
>> I'm not sure if this is a HIBMC driver issue or issue with the framework.
>>
>> john
>>
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 


  reply	other threads:[~2020-01-10 12:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-16 17:23 Warnings in DRM code when removing/unbinding a driver John Garry
2019-12-17  9:20 ` John Garry
2019-12-17 13:24   ` Daniel Vetter
2019-12-17 16:34 ` Ezequiel Garcia
2019-12-17 17:27   ` John Garry
2019-12-18 18:08     ` John Garry
2019-12-19  9:54       ` Daniel Vetter
2019-12-19 10:03         ` John Garry
2019-12-19 10:10           ` Daniel Vetter
2019-12-19 11:31             ` Gerd Hoffmann
2019-12-19 12:42               ` Daniel Vetter
2019-12-23  9:00                 ` SIGBUS on device disappearance (Re: Warnings in DRM code when removing/unbinding a driver) Pekka Paalanen
2020-01-07 15:42                   ` Daniel Vetter
2020-01-10 10:49 ` Warnings in DRM code when removing/unbinding a driver Thomas Zimmermann
2020-01-10 12:54   ` John Garry [this message]
2020-01-13  8:05     ` Thomas Zimmermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=38ce1d99-e803-3693-adff-106dc438c973@huawei.com \
    --to=john.garry@huawei.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=puck.chen@hisilicon.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).