From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4B6B7C33CA2 for ; Fri, 10 Jan 2020 12:54:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0CC672072A for ; Fri, 10 Jan 2020 12:54:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727316AbgAJMya (ORCPT ); Fri, 10 Jan 2020 07:54:30 -0500 Received: from lhrrgout.huawei.com ([185.176.76.210]:2254 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727167AbgAJMy3 (ORCPT ); Fri, 10 Jan 2020 07:54:29 -0500 Received: from lhreml705-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 73FAA8783076078CEC20; Fri, 10 Jan 2020 12:54:28 +0000 (GMT) Received: from lhreml724-chm.china.huawei.com (10.201.108.75) by lhreml705-cah.china.huawei.com (10.201.108.46) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 10 Jan 2020 12:54:27 +0000 Received: from [127.0.0.1] (10.202.226.43) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 10 Jan 2020 12:54:27 +0000 Subject: Re: Warnings in DRM code when removing/unbinding a driver To: Thomas Zimmermann , "kongxinwei (A)" , "Chenfeng (puck)" , "airlied@linux.ie" , CC: "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" References: <07899bd5-e9a5-cff0-395f-b4fb3f0f7f6c@huawei.com> <381e28c2-f3e4-6f75-c632-96dd8a980c87@suse.de> From: John Garry Message-ID: <38ce1d99-e803-3693-adff-106dc438c973@huawei.com> Date: Fri, 10 Jan 2020 12:54:26 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 In-Reply-To: <381e28c2-f3e4-6f75-c632-96dd8a980c87@suse.de> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.202.226.43] X-ClientProxiedBy: lhreml729-chm.china.huawei.com (10.201.108.80) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Thomas, > drm-tip now contains I have tested today's linux-next, which includes this: > > commit a88248506a2bcfeaef6837a53cde19fe11970e6c > Author: Thomas Zimmermann > 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 >