@xen0n @TSiNGKONG @杜比 更新一下进度,现在之前两个bug貌似都解决了,xdma0 ring timeout 这个我把dma强行设置成32位的貌似就行了,我怀疑是硬件问题(或者固件的bug),导致显卡的xdma引擎没法dma到高于32位的地址。gfx fault这个问题是由于xdma的command ring中写入了错误的buffer地址导致的,在我的代码中我直接把相关的代码替换成amdgpu中(主要是vram_mgr 改用了新的DRM Buddy Allocator,这块变化比较大),现在貌似已经调试通过了。
现在的进度是驱动大体基本已经跑通了,驱动可以加载并且初始化硬件,但是在切换到fb的时候还有问题,是由于atomic mode setting相关的问题导致的,会在切换fb的时候出现BUG(): scheduling while atomic。atomic mode setting这个我也不大懂,所有在看相关的文档。我贴个最新的dmesg log
[drm] gsgpu kernel modesetting enabled.
Console: switching to colour dummy device 80x25
[drm] gsgpu_driver_load_kms dev 9000000122bc1000 flags 0
[drm] initializing kernel modesetting (LG100 0x0014:0x7A25 0x0000:0x0000 0x01).
[drm] Set 7A2000 device in gsgpu driver
[drm] register mmio base: 0x41254000
[drm] register mmio size: 256
[drm] register mmio mapped to: 0xffff800033474000
[drm] gsgpu dc register mmio base: 0x41210000
[drm] gsgpu dc register mmio size: 65536
[drm] gsgpu dc register mmio mapped to: 0xffff800033570000
[drm] gsgpu dc io base: 0xffff800033488000
[drm] GPU Family: LG100 series LG110, Feature:0x00000000
[drm] Firmware Version: 1.0.0
[drm] aper_base 0xe0100000000 SIZE 0x40000000 bytes
gsgpu 0000:00:06.0: Video RAM: 256M 0x0001000000000000 - 0x000100000FFFFFFF (256M used)
gsgpu 0000:00:06.0: GART: 256M 0x0000000000000000 - 0x000000000FFFFFFF
[drm] Detected VRAM RAM=256M, BAR=1024M
[drm] RAM width 32bits UNKNOWN
[drm] gsgpu: 256M of VRAM memory ready
[drm] gsgpu: 3072M of GTT memory ready.
[drm] GART: num cpu pages 16384, num gpu pages 16384
[drm] gsgpu_bo_create: size 0x20000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x20000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000011426a858 from old mem 0x0000000000000000 to new mem 0x9000000102f109c0 (start 0x3ff8 size 0x20000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff8 size 0x20000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffe0000 size 0x20000 remaining 0x20000
[drm] vm size is 1024 GB, 3 levels, block size is 11-bit
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000011426ac58 from old mem 0x0000000000000000 to new mem 0x9000000102f12940 (start 0x3ff7 size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff7 size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffdc000 size 0x4000 remaining 0x4000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3ff7, size = 0x4000
[drm] allocated gpu_addr 0x100000ffdc000
[drm] mapped cpu_addr 0xffff8000475dc000
[drm] PCIE GART of 256M enabled (table at 0x000100000FFE0000).
[drm] gsgpu_device_ip_init: calling gsgpu_device_wb_init
[drm] gsgpu_bo_create_reserved bp size 0x1000 align 0x4000 domain 2 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x1000 align 0x4000 domain 2 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000011426b058
[drm] gsgpu_gtt_mgr_new: allocated start 0x7fffffffffffffff
[drm] gsgpu_ttm_tt_create: created ttm_tt 0x9000000102f138a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: ttm_tt 0x9000000102f138a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: calling ttm_pool_alloc
[drm] gsgpu_ttm_tt_populate: ttm_pool_alloc returned 0
[drm] gsgpu_ttm_tt_populate: dma_address is now 0x00000000010c0000 (0x10c0000)
[drm] gsgpu_ttm_tt_populate: page 0 dma addr 0x00000000010c0000
[drm] gsgpu_bo_move: moving bo 0x900000011426b058 from old mem 0x0000000000000000 to new mem 0x9000000114963400 (start 0x7fffffffffffffff size 0x4000 type 1 placement 0x0 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling gsgpu_ttm_backend_bind, bo->ttm.dma_address 0x00000000010c0000
[drm] gsgpu_ttm_backend_bind ttm 0x9000000102f138a0 dma_address 0x00000000010c0000 gpu offset 0x0 (should be invalid)
[drm] gtt does not have gart addr 0x7fffffffffffffff size 0x4000 type 1 place 0x0 bus va 0x0000000000000000 pa 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x7fffffffffffffff size 0x4000 mem_type 1 placement 0
[drm] gsgpu_bo_do_create: cursor start 0x0 size 0x4000 remaining 0x4000
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000011426b058
[drm] gsgpu_gtt_mgr_new: inserting node in range, pages 1, fpfn 0x0 lpfn 0x4000
[drm] gsgpu_gtt_mgr_new: allocated start 0x400
[drm] gsgpu_ttm_alloc_gart allocating gpu offset 0x1000000
[drm] gsgpu_ttm_gart_bind ttm 0x9000000102f138a0 dma_address 0x00000000010c0000 gpu offset 0x1000000
[drm] gsgpu_gart_bind: offset 0x1000000, pages 1, flags 0x9
[drm] gsgpu_gart_map: offset 0x1000000 pages 1 flags 0x9
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x400 addr 0x10c0000 flags 0x9
[drm] allocated gpu_addr 0x1000000
[drm] mapped cpu_addr 0x90000000010c0000
[drm] ZIP META: num cpu pages 128, num gpu pages 128
[drm] gsgpu_bo_create: size 0x200000 align 0x200000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x200000 page_align 0x80
[drm] gsgpu_bo_move: moving bo 0x900000011426b458 from old mem 0x0000000000000000 to new mem 0x9000000102f13720 (start 0x3f00 size 0x200000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3f00 size 0x200000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xfc00000 size 0x200000 remaining 0x200000
[drm] Got VBIOS from mapped PCI ROM!
[drm:dc_vbios_init [gsgpu]] *ERROR* No parser for descriptor type 7, version 0, data 0x9000000122dc6466.
[drm] GSGPU vbios header info:
[drm] ver: 2.1, links: 2, max_planes: 0, name: Loongson-VBIOS
[drm] oem-vendor: \xff, oem-product: 2022
[drm] GSGPU vbios crtc: 0, max freq: 340000Hz, width: 4096, height: 4096
[drm] GSGPU vbios crtc: 1, max freq: 340000Hz, width: 4096, height: 4096
gsgpu 0000:00:06.0: VRAM: 1024M DDR4 32bit 2400Mhz.
gsgpu 0000:00:06.0: GSGPU: shaders_num: 64, shaders_freq: 500MHz, freq_count: 3.
[drm] No ext encoder chip 0x2.
[drm] Encoder Parse: #0x02-Unknown type:tmds hotplug:polling.
[drm] Encoder Parse: config_type:timing, edid_method:i2c.
[drm] No ext encoder chip 0x2.
[drm] Encoder Parse: #0x02-Unknown type:tmds hotplug:connected.
[drm] Encoder Parse: config_type:timing, edid_method:i2c.
[drm] GSGPU Display Core initialized with v1.0!
[drm] GSGPU DC construct links:2
[drm] gfx num_gfx_rings 1
[drm] adev = 9000000100428000 ring = 900000010042a768 &ring->adev = 900000010042a768 ring->adev 0000000000000000 &ring->funcs 900000010042a770 ring->funcs ffff800003579d08
[drm] adev = 9000000100428000 ring = 900000010042a768 &ring->adev = 900000010042a768 ring->adev 0000000000000000 &ring->funcs 900000010042a770 ring->funcs ffff800003579d08
[drm] gsgpu_ring_init: ring 900000010042a768 (gfx)
[drm] gsgpu_ring_init: ring gfx max_dw 256 sched_hw_submission 2 ring_size 2048 buf_mask 1ff ptr_mask 1ff
[drm] gsgpu_bo_create_reserved bp size 0x800 align 0x4000 domain 2 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x800 align 0x4000 domain 2 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000011426bc58
[drm] gsgpu_gtt_mgr_new: allocated start 0x7fffffffffffffff
[drm] gsgpu_ttm_tt_create: created ttm_tt 0x9000000102f135a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: ttm_tt 0x9000000102f135a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: calling ttm_pool_alloc
[drm] gsgpu_ttm_tt_populate: ttm_pool_alloc returned 0
[drm] gsgpu_ttm_tt_populate: dma_address is now 0x00000000010c8000 (0x10c8000)
[drm] gsgpu_ttm_tt_populate: page 0 dma addr 0x00000000010c8000
[drm] gsgpu_bo_move: moving bo 0x900000011426bc58 from old mem 0x0000000000000000 to new mem 0x9000000114963400 (start 0x7fffffffffffffff size 0x4000 type 1 placement 0x0 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling gsgpu_ttm_backend_bind, bo->ttm.dma_address 0x00000000010c8000
[drm] gsgpu_ttm_backend_bind ttm 0x9000000102f135a0 dma_address 0x00000000010c8000 gpu offset 0x0 (should be invalid)
[drm] gtt does not have gart addr 0x7fffffffffffffff size 0x4000 type 1 place 0x0 bus va 0x0000000000000000 pa 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x7fffffffffffffff size 0x4000 mem_type 1 placement 0
[drm] gsgpu_bo_do_create: cursor start 0x0 size 0x4000 remaining 0x4000
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000011426bc58
[drm] gsgpu_gtt_mgr_new: inserting node in range, pages 1, fpfn 0x0 lpfn 0x4000
[drm] gsgpu_gtt_mgr_new: allocated start 0x401
[drm] gsgpu_ttm_alloc_gart allocating gpu offset 0x1004000
[drm] gsgpu_ttm_gart_bind ttm 0x9000000102f135a0 dma_address 0x00000000010c8000 gpu offset 0x1004000
[drm] gsgpu_gart_bind: offset 0x1004000, pages 1, flags 0x9
[drm] gsgpu_gart_map: offset 0x1004000 pages 1 flags 0x9
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x401 addr 0x10c8000 flags 0x9
[drm] allocated gpu_addr 0x1004000
[drm] mapped cpu_addr 0x90000000010c8000
[drm] xdma num_instance 1
[drm] adev = 9000000100428000 ring = 900000010042ac08 &ring->adev = 900000010042ac08 ring->adev 0000000000000000 &ring->funcs 900000010042ac10 ring->funcs ffff800003579ef0
[drm] gsgpu_ring_init: ring 900000010042ac08 (xdma0)
[drm] gsgpu_ring_init: ring xdma0 max_dw 256 sched_hw_submission 2 ring_size 2048 buf_mask 1ff ptr_mask 1ff
[drm] gsgpu_bo_create_reserved bp size 0x800 align 0x4000 domain 2 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x800 align 0x4000 domain 2 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x9000000101657058
[drm] gsgpu_gtt_mgr_new: allocated start 0x7fffffffffffffff
[drm] gsgpu_ttm_tt_create: created ttm_tt 0x9000000102f11800 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: ttm_tt 0x9000000102f11800 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: calling ttm_pool_alloc
[drm] gsgpu_ttm_tt_populate: ttm_pool_alloc returned 0
[drm] gsgpu_ttm_tt_populate: dma_address is now 0x00000000010cc000 (0x10cc000)
[drm] gsgpu_ttm_tt_populate: page 0 dma addr 0x00000000010cc000
[drm] gsgpu_bo_move: moving bo 0x9000000101657058 from old mem 0x0000000000000000 to new mem 0x9000000114963400 (start 0x7fffffffffffffff size 0x4000 type 1 placement 0x0 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling gsgpu_ttm_backend_bind, bo->ttm.dma_address 0x00000000010cc000
[drm] gsgpu_ttm_backend_bind ttm 0x9000000102f11800 dma_address 0x00000000010cc000 gpu offset 0x0 (should be invalid)
[drm] gtt does not have gart addr 0x7fffffffffffffff size 0x4000 type 1 place 0x0 bus va 0x0000000000000000 pa 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x7fffffffffffffff size 0x4000 mem_type 1 placement 0
[drm] gsgpu_bo_do_create: cursor start 0x0 size 0x4000 remaining 0x4000
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x9000000101657058
[drm] gsgpu_gtt_mgr_new: inserting node in range, pages 1, fpfn 0x0 lpfn 0x4000
[drm] gsgpu_gtt_mgr_new: allocated start 0x402
[drm] gsgpu_ttm_alloc_gart allocating gpu offset 0x1008000
[drm] gsgpu_ttm_gart_bind ttm 0x9000000102f11800 dma_address 0x00000000010cc000 gpu offset 0x1008000
[drm] gsgpu_gart_bind: offset 0x1008000, pages 1, flags 0x9
[drm] gsgpu_gart_map: offset 0x1008000 pages 1 flags 0x9
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x402 addr 0x10cc000 flags 0x9
[drm] allocated gpu_addr 0x1008000
[drm] mapped cpu_addr 0x90000000010cc000
[drm] gsgpu_bo_create_reserved bp size 0x100000 align 0x4000 domain 2 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x100000 align 0x4000 domain 2 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x100000 page_align 0x1
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x90000001027d8c58
[drm] gsgpu_gtt_mgr_new: allocated start 0x7fffffffffffffff
[drm] gsgpu_ttm_tt_create: created ttm_tt 0x9000000102f11620 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: ttm_tt 0x9000000102f11620 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: calling ttm_pool_alloc
[drm] gsgpu_ttm_tt_populate: ttm_pool_alloc returned 0
[drm] gsgpu_ttm_tt_populate: dma_address is now 0x0000000001100000 (0x1100000)
[drm] gsgpu_ttm_tt_populate: page 0 dma addr 0x0000000001100000
...
[drm] gsgpu_ttm_tt_populate: page 63 dma addr 0x00000000011fc000
[drm] gsgpu_bo_move: moving bo 0x90000001027d8c58 from old mem 0x0000000000000000 to new mem 0x9000000114963400 (start 0x7fffffffffffffff size 0x100000 type 1 placement 0x0 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling gsgpu_ttm_backend_bind, bo->ttm.dma_address 0x0000000001100000
[drm] gsgpu_ttm_backend_bind ttm 0x9000000102f11620 dma_address 0x0000000001100000 gpu offset 0x0 (should be invalid)
[drm] gtt does not have gart addr 0x7fffffffffffffff size 0x100000 type 1 place 0x0 bus va 0x0000000000000000 pa 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x7fffffffffffffff size 0x100000 mem_type 1 placement 0
[drm] gsgpu_bo_do_create: cursor start 0x0 size 0x100000 remaining 0x100000
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x90000001027d8c58
[drm] gsgpu_gtt_mgr_new: inserting node in range, pages 64, fpfn 0x0 lpfn 0x4000
[drm] gsgpu_gtt_mgr_new: allocated start 0x403
[drm] gsgpu_ttm_alloc_gart allocating gpu offset 0x100c000
[drm] gsgpu_ttm_gart_bind ttm 0x9000000102f11620 dma_address 0x0000000001100000 gpu offset 0x100c000
[drm] gsgpu_gart_bind: offset 0x100c000, pages 64, flags 0x9
[drm] gsgpu_gart_map: offset 0x100c000 pages 64 flags 0x9
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x403 addr 0x1100000 flags 0x9
...
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x442 addr 0x11fc000 flags 0x9
[drm] allocated gpu_addr 0x100c000
[drm] mapped cpu_addr 0xffff800034544000
[drm] PCIE ZIP META of 2M enabled (table at 0x000100000FC00000).
[drm] gsgpu_ih_irq_init ring_size 0x1000 adev->irq.ih.rb_dma_addr 0x10c4000 adev->wb.gpu_addr 0x1000000
[drm] gsgpu_ih_irq_init done rb_bufsz 0x400 wptr_off 0x10c4000
[drm] GSGPU DC irq init sources number:9
[drm] GSGPU DC init gpio 0 addr 0x50 finish
[drm] GSGPU DC init gpio 1 addr 0x50 finish
[drm] pwm: id=3, period=1000000ns, polarity=1.
[drm:gsgpu_backlight_register [gsgpu]] *ERROR* Failed to get the pwm chip
[drm] GSGPU Display Crtcs
[drm] Crtc 0: name:crtc-0
[drm] Crtc 1: name:crtc-1
[drm] GSGPU Display Connectors
[drm] Connector 0: name:HDMI-A-1
[drm] Connector 1: name:eDP-1
[drm] GSGPU Display Encoders
[drm] Encoder 0: name:TMDS-43
[drm] Encoder 1: name:TMDS-45
[drm] gsgpu_bo_create_reserved bp size 0x200000 align 0x200000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x200000 align 0x200000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x200000 page_align 0x80
[drm] gsgpu_bo_move: moving bo 0x900000010f634858 from old mem 0x0000000000000000 to new mem 0x9000000102f122e0 (start 0x3e80 size 0x200000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3e80 size 0x200000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xfa00000 size 0x200000 remaining 0x200000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3e80, size = 0x200000
[drm] allocated gpu_addr 0x100000fa00000
[drm] mapped cpu_addr 0xffff800047000000
[drm] Config crtc number:2 meta addr 0x100000fa00000
[drm] xdma_gfx_resume: ring 0x900000010042ac08 (xdma0) gpu_addr 0x1008000 cpu_addr 0x90000000010cc000 ptr_mask 0x1ff max_dw 0x100 count_dw 0x0
[drm] setting buffer func status for xdma 0
[drm] xdma_gfx_resume: calling xdma_ring_test_ring for ring xdma0
[drm] xdma_ring_test_ring: got wb index 64 gpu_addr 0x1000100 cpu_addr 0x90000000010c0100
[drm] gsgpu_ring_write ring xdma0 dw[0]:00038181 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[1]:01000100 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[2]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[3]:deadbeef ptr_mask 1ff
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0xc
[drm] gsgpu_ring_write ring xdma0 dw[4]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x0
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000010, ring->wptr_old = 0000000000000000, old wptr from hw = 0000000000000000, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x0
[drm] gsgpu_ring_commit: wptr set to 10 wptr_old = 0 get_wptr = 10 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x10
[drm] leaving gsgpu_ring_commit: wptr = 10 wptr_old = 0 get_wptr = 10 get_rptr = 0
[drm] ring xdma0 test on 1 succeeded in 0 usecs
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x10
[drm] xdma_gfx_resume: after xdma_ring_test_ring, rptr = 0x0 xdma0
[drm] xdma_gfx_resume: calling xdma_ring_test_ib for ring xdma0
[drm] xdma_ring_test_ib enter
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000010 wptr_old = 0000000000000000
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000010 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000010 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000010 wptr_old = 0000000000000010
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[10]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[11]:0100c000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[12]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[13]:00000004 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000014 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000014 wptr_old = 0000000000000010
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[14]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[15]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[16]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[17]:00000001 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000018 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000018 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[18]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[1f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x10
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000020, ring->wptr_old = 0000000000000010, old wptr from hw = 0000000000000010, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x10
[drm] gsgpu_ring_commit: wptr set to 20 wptr_old = 10 get_wptr = 20 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x10
[drm] leaving gsgpu_ring_commit: wptr = 20 wptr_old = 10 get_wptr = 20 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] xdma0 ib test on ring 1 succeeded
[drm] xdma_ring_test_ib exit ret = 0
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x20
[drm] xdma_gfx_resume: after xdma_ring_test_ib, rptr = 0x0 xdma0
[drm] xdma_gfx_resume: calling xdma_ring_test_xdma for ring xdma0
[drm] xdma_set_pte_pde_test enter
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f637858 from old mem 0x0000000000000000 to new mem 0x9000000102f114a0 (start 0x3ff6 size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff6 size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffd8000 size 0x4000 remaining 0x4000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3ff6, size = 0x4000
[drm] allocated gpu_addr 0x100000ffd8000
[drm] mapped cpu_addr 0xffff8000475d8000
[drm] xdma_vm_set_pte_pde enter
[drm] xdma_vm_set_pte_pde exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000020 wptr_old = 0000000000000010
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000020 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000020 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000020 wptr_old = 0000000000000020
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[20]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[21]:0100c000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[22]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[23]:00000010 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000024 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000024 wptr_old = 0000000000000020
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[24]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[25]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[26]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[27]:00000002 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000028 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000028 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[28]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[2f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x20
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000030, ring->wptr_old = 0000000000000020, old wptr from hw = 0000000000000020, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x20
[drm] gsgpu_ring_commit: wptr set to 30 wptr_old = 20 get_wptr = 30 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x20
[drm] leaving gsgpu_ring_commit: wptr = 30 wptr_old = 20 get_wptr = 30 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] xdma_set_pte_pde_test exit ret = 10000
[drm] xdma_copy_pte_test enter
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 2 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 2 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000010f637858
[drm] gsgpu_gtt_mgr_new: allocated start 0x7fffffffffffffff
[drm] gsgpu_ttm_tt_create: created ttm_tt 0x9000000102f114a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: ttm_tt 0x9000000102f114a0 dma_address 0x0000000000000000
[drm] gsgpu_ttm_tt_populate: calling ttm_pool_alloc
[drm] gsgpu_ttm_tt_populate: ttm_pool_alloc returned 0
[drm] gsgpu_ttm_tt_populate: dma_address is now 0x00000000010d0000 (0x10d0000)
[drm] gsgpu_ttm_tt_populate: page 0 dma addr 0x00000000010d0000
[drm] gsgpu_bo_move: moving bo 0x900000010f637858 from old mem 0x0000000000000000 to new mem 0x9000000114963f00 (start 0x7fffffffffffffff size 0x4000 type 1 placement 0x0 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling gsgpu_ttm_backend_bind, bo->ttm.dma_address 0x00000000010d0000
[drm] gsgpu_ttm_backend_bind ttm 0x9000000102f114a0 dma_address 0x00000000010d0000 gpu offset 0x0 (should be invalid)
[drm] gtt does not have gart addr 0x7fffffffffffffff size 0x4000 type 1 place 0x0 bus va 0x0000000000000000 pa 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x7fffffffffffffff size 0x4000 mem_type 1 placement 0
[drm] gsgpu_bo_do_create: cursor start 0x0 size 0x4000 remaining 0x4000
[drm] gsgpu_gtt_mgr_new: allocating tbo 0x900000010f637858
[drm] gsgpu_gtt_mgr_new: inserting node in range, pages 1, fpfn 0x0 lpfn 0x4000
[drm] gsgpu_gtt_mgr_new: allocated start 0x443
[drm] gsgpu_ttm_alloc_gart allocating gpu offset 0x110c000
[drm] gsgpu_ttm_gart_bind ttm 0x9000000102f114a0 dma_address 0x00000000010d0000 gpu offset 0x110c000
[drm] gsgpu_gart_bind: offset 0x110c000, pages 1, flags 0x9
[drm] gsgpu_gart_map: offset 0x110c000 pages 1 flags 0x9
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x443 addr 0x10d0000 flags 0x9
[drm] allocated gpu_addr 0x110c000
[drm] mapped cpu_addr 0x90000000010d0000
[drm] xdma_copy_pte_test : set vram success through pcie
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f636c58 from old mem 0x0000000000000000 to new mem 0x9000000102f117a0 (start 0x3ff6 size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff6 size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffd8000 size 0x4000 remaining 0x4000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3ff6, size = 0x4000
[drm] allocated gpu_addr 0x100000ffd8000
[drm] mapped cpu_addr 0xffff8000475d8000
[drm] xdma_copy_pte_test : set vram success through pcie
[drm] xdma_vm_copy_pte enter
[drm] xdma_vm_copy_pte exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000030 wptr_old = 0000000000000020
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000030 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000030 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000030 wptr_old = 0000000000000030
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[30]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[31]:0100c000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[32]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[33]:00000010 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000034 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000034 wptr_old = 0000000000000030
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[34]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[35]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[36]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[37]:00000003 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000038 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000038 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[38]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[3f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x30
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000040, ring->wptr_old = 0000000000000030, old wptr from hw = 0000000000000030, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x30
[drm] gsgpu_ring_commit: wptr set to 40 wptr_old = 30 get_wptr = 40 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x30
[drm] leaving gsgpu_ring_commit: wptr = 40 wptr_old = 30 get_wptr = 40 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] xdma_copy_pte_test : success
[drm] gsgpu_ttm_tt_unpopulate: ttm_tt 0x9000000102f114a0 dma_address 0x00000000010d0000
[drm] gsgpu_ttm_backend_unbind ttm 0x9000000102f114a0 dma_address 0x00000000010d0000 gpu offset 0x110c000
[drm] mmu_set_pte_pde cpu_pt_addr 0xffff8000475e0000 gpu_page_idx 0x443 addr 0x17cc000 flags 0x0
[drm] xdma_copy_pte_test exit ret = 0
[drm] xdma_fill_test enter
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f636c58 from old mem 0x0000000000000000 to new mem 0x9000000102f117a0 (start 0x3ff6 size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff6 size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffd8000 size 0x4000 remaining 0x4000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3ff6, size = 0x4000
[drm] allocated gpu_addr 0x100000ffd8000
[drm] mapped cpu_addr 0xffff8000475d8000
[drm] xdma_fill_test : set vram success through pcie
[drm] xdma_emit_fill_buffer src_data 0xaaaaaaaa dst_offset 0x100000ffd8000 byte_count 0x4000 dst_umap 0x20000 height 0x1 width 0x1000
[drm] xdma_emit_fill_buffer exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000040 wptr_old = 0000000000000030
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000040 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000040 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000040 wptr_old = 0000000000000040
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[40]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[41]:0100c000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[42]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[43]:00000010 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000044 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000044 wptr_old = 0000000000000040
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[44]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[45]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[46]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[47]:00000004 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000048 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000048 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[48]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[4f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x40
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000050, ring->wptr_old = 0000000000000040, old wptr from hw = 0000000000000040, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x40
[drm] gsgpu_ring_commit: wptr set to 50 wptr_old = 40 get_wptr = 50 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x40
[drm] leaving gsgpu_ring_commit: wptr = 50 wptr_old = 40 get_wptr = 50 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] xdma_fill_test : success
[drm] xdma_fill_test exit ret = 10000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x50
[drm] xdma_gfx_resume: after xdma_ring_test_xdma, rptr = 0x0 xdma0
[drm] gsgpu_fbdev_init: func enter
[drm] gsgpu_driver_open_kms dev 9000000122bc1000 file_priv 900000010186a000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f637858 from old mem 0x0000000000000000 to new mem 0x9000000102f117a0 (start 0x3ff6 size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3ff6 size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xffd8000 size 0x4000 remaining 0x4000
[drm] xdma_vm_set_pte_pde enter
[drm] xdma_vm_set_pte_pde exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_job_submit: job = 900000010f637c00
[drm] job_submit: pushing job
[drm] job_submit: pushing job done
[drm] gsgpu_driver_open_kms done ret = 0
[drm] gsgpu: gsgpu_job_prepare_job called, job = 900000010f637c00, entity = 9000000122bc60b8
[drm] gsgpu_job_prepare_job: ring wptr = 0000000000000050 wptr_old = 0000000000000040
[drm] leaving gsgpu_job_prepare_job: ring wptr = 0000000000000050 wptr_old = 0000000000000040
[drm] gsgpu: gsgpu_job_run called, job = 900000010f637c00
[drm] gsgpu_job_run: ring wptr = 0000000000000050 wptr_old = 0000000000000040
[drm] calling gsgpu_ib_schedule
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000050 wptr_old = 0000000000000040
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000050 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000050 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000050 wptr_old = 0000000000000050
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[50]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[51]:0100c000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[52]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[53]:00000010 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000054 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000054 wptr_old = 0000000000000050
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[54]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[55]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[56]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[57]:00000005 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000058 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000058 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[58]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[5f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x50
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000060, ring->wptr_old = 0000000000000050, old wptr from hw = 0000000000000050, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x50
[drm] gsgpu_ring_commit: wptr set to 60 wptr_old = 50 get_wptr = 60 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x50
[drm] leaving gsgpu_ring_commit: wptr = 60 wptr_old = 50 get_wptr = 60 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ib_schedule returns 0
[drm] leaving gsgpu_job_run: ring wptr = 0000000000000060 wptr_old = 0000000000000050
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] gsgpu_job_free_cb: job = 900000010f637c00
[drm] gsgpufb_create: func enter
[drm] gsgpufb_create_pinned_object: func enter
[drm] gsgpufb_create_pinned_object: calling gsgpu_gem_object_create
[drm] gsgpu_bo_create: size 0x7ec000 align 0x4000 domain 4 preferred domain 4 flags 0x29
[drm] gsgpu_bo_do_create: size 0x7ec000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f634c58 from old mem 0x0000000000000000 to new mem 0x9000000102f114a0 (start 0x3c00 size 0x7ec000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3c00 size 0x7ec000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xf000000 size 0x400000 remaining 0x7ec000
[drm] gsgpu_bo_do_create: cursor start 0xf400000 size 0x200000 remaining 0x3ec000
[drm] gsgpu_bo_do_create: cursor start 0xf600000 size 0x100000 remaining 0x1ec000
[drm] gsgpu_bo_do_create: cursor start 0xf700000 size 0x80000 remaining 0xec000
[drm] gsgpu_bo_do_create: cursor start 0xf780000 size 0x40000 remaining 0x6c000
[drm] gsgpu_bo_do_create: cursor start 0xf7c0000 size 0x20000 remaining 0x2c000
[drm] gsgpu_bo_do_create: cursor start 0xf7e0000 size 0x8000 remaining 0xc000
[drm] gsgpu_bo_do_create: cursor start 0xf7e8000 size 0x4000 remaining 0x4000
[drm] gsgpu_bo_do_create: clearing VRAM
[drm] gsgpu_fill_buffer: cursor start 0xf000000 size 0x400000 remaining 0x7ec000 current num_loops 2
[drm] gsgpu_fill_buffer: cursor start 0xf400000 size 0x200000 remaining 0x3ec000 current num_loops 3
[drm] gsgpu_fill_buffer: cursor start 0xf600000 size 0x100000 remaining 0x1ec000 current num_loops 4
[drm] gsgpu_fill_buffer: cursor start 0xf700000 size 0x80000 remaining 0xec000 current num_loops 5
[drm] gsgpu_fill_buffer: cursor start 0xf780000 size 0x40000 remaining 0x6c000 current num_loops 6
[drm] gsgpu_fill_buffer: cursor start 0xf7c0000 size 0x20000 remaining 0x2c000 current num_loops 7
[drm] gsgpu_fill_buffer: cursor start 0xf7e0000 size 0x8000 remaining 0xc000 current num_loops 8
[drm] gsgpu_fill_buffer: cursor start 0xf7e8000 size 0x4000 remaining 0x4000 current num_loops 9
[drm] gsgpu_fill_buffer: cursor start 0xf000000 size 0x400000 remaining 0x7ec000, dst_addr 0x100000f000000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f000000 byte_count 0x3fffc0 dst_umap 0x20000 height 0x10 width 0xffff
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf3fffc0 size 0x40 remaining 0x3ec040, dst_addr 0x100000f3fffc0
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f3fffc0 byte_count 0x40 dst_umap 0x20000 height 0x1 width 0x10
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf400000 size 0x200000 remaining 0x3ec000, dst_addr 0x100000f400000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f400000 byte_count 0x200000 dst_umap 0x20000 height 0x10 width 0x8000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf600000 size 0x100000 remaining 0x1ec000, dst_addr 0x100000f600000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f600000 byte_count 0x100000 dst_umap 0x20000 height 0x8 width 0x8000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf700000 size 0x80000 remaining 0xec000, dst_addr 0x100000f700000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f700000 byte_count 0x80000 dst_umap 0x20000 height 0x4 width 0x8000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf780000 size 0x40000 remaining 0x6c000, dst_addr 0x100000f780000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f780000 byte_count 0x40000 dst_umap 0x20000 height 0x2 width 0x8000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf7c0000 size 0x20000 remaining 0x2c000, dst_addr 0x100000f7c0000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f7c0000 byte_count 0x20000 dst_umap 0x20000 height 0x1 width 0x8000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf7e0000 size 0x8000 remaining 0xc000, dst_addr 0x100000f7e0000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f7e0000 byte_count 0x8000 dst_umap 0x20000 height 0x1 width 0x2000
[drm] xdma_emit_fill_buffer exit
[drm] gsgpu_fill_buffer: cursor start 0xf7e8000 size 0x4000 remaining 0x4000, dst_addr 0x100000f7e8000
[drm] xdma_emit_fill_buffer src_data 0x0 dst_offset 0x100000f7e8000 byte_count 0x4000 dst_umap 0x20000 height 0x1 width 0x1000
[drm] xdma_emit_fill_buffer exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_job_submit: job = 900000010f637400
[drm] job_submit: pushing job
[drm] job_submit: pushing job done
[drm] gsgpufb_create_pinned_object: gsgpu_gem_object_create returned 0
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3c00, size = 0x7ec000
[drm] gsgpu: gsgpu_job_prepare_job called, job = 900000010f637400, entity = 90000001004295d0
[drm] gsgpu_job_prepare_job: ring wptr = 0000000000000060 wptr_old = 0000000000000050
[drm] leaving gsgpu_job_prepare_job: ring wptr = 0000000000000060 wptr_old = 0000000000000050
[drm] gsgpu: gsgpu_job_run called, job = 900000010f637400
[drm] gsgpu_job_run: ring wptr = 0000000000000060 wptr_old = 0000000000000050
[drm] calling gsgpu_ib_schedule
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000060 wptr_old = 0000000000000050
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000060 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000060 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000060 wptr_old = 0000000000000060
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[60]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[61]:0100c100 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[62]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[63]:00000058 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000064 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000064 wptr_old = 0000000000000060
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[64]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[65]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[66]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[67]:00000006 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000068 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000068 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[68]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[6f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x60
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000070, ring->wptr_old = 0000000000000060, old wptr from hw = 0000000000000060, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x60
[drm] gsgpu_ring_commit: wptr set to 70 wptr_old = 60 get_wptr = 70 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x60
[drm] leaving gsgpu_ring_commit: wptr = 70 wptr_old = 60 get_wptr = 70 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
[drm] gsgpu_ib_schedule returns 0
[drm] leaving gsgpu_job_run: ring wptr = 0000000000000070 wptr_old = 0000000000000060
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
[drm] gsgpufb_create_pinned_object: func exit success
[drm] gsgpu_job_free_cb: job = 900000010f637400
[drm] gsgpu_display_framebuffer_init: func enter
[drm] gsgpu_display_framebuffer_init: func exit
[drm] fb mappable at 0xE010F000000
[drm] vram apper at 0xE0100000000
[drm] size 8306688
[drm] fb depth is 24
[drm] pitch is 7680
[drm] screen_base 0xFFFF800046600000
[drm] screen_size 0x7EC000
[drm] gsgpufb_open: func enter
[drm] gsgpufb_open: func exit
------------[ cut here ]------------
gsgpu 0000:00:06.0: drm_WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev))
WARNING: CPU: 0 PID: 8 at drivers/gpu/drm/drm_vblank.c:728 drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x1a0/0x3ac
Modules linked in: gsgpu(O+) drm_ttm_helper regmap_i2c gpu_sched drm_buddy ttm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm nls_cp936 vfat fat mt7921e mt7921_common mt792x_lib mt76_connac_lib mt76 mac80211 snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi ledtrig_audio libarc4 snd_hda_intel snd_intel_dspcfg snd_hda_codec cfg80211 snd_hda_core snd_hwdep snd_pcm acpi_ipmi r8169 snd_timer snd rfkill ipmi_si soundcore ipmi_devintf ipmi_msghandler pwm_ls mousedev crypto_user loop ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 nvme atkbd nvme_core vivaldi_fmap serio_raw xhci_pci xhci_pci_renesas nvme_common
CPU: 0 PID: 8 Comm: kworker/0:0 Tainted: G O 6.6.0-rc2-00345-ga1e45ec2bc8c-dirty #1 811eeb50fbfed5e761dbac8196f37fb0e6374bbd
Hardware name: Loongson LM-LS3A5000-7A2000-1w-V02-nb_A2207/LM-LS3A5000-7A2000-1w-V02-nb_A2207, BIOS KL.4.1H.LM.N.010.230320.R 03/20/2023
Workqueue: events work_for_cpu_fn
pc 9000000001e2849c ra 9000000001e2849c tp 90000001001bc000 sp 90000001001bf470
a0 0000000000000046 a1 0000000000000000 a2 0000000000000000 a3 ffff0a00ffffff04
a4 90000000026a51f8 a5 90000001001bf438 a6 2d2d2d2d2d2d2d2d a7 2d2d2d2d2d2d2d2d
t0 78c2eb510322c860 t1 78c2eb510322c860 t2 0000000000000002 t3 0000000000000001
t4 40000000ffffe5bf t5 00000000ffffe5bf t6 000000000000002f t7 0000000000000063
t8 0000000000000000 u0 90000000026a51f8 s9 900000010f272880 s0 90000001001bf5a0
s1 ffff80000355ebf0 s2 90000000027cd000 s3 9000000117d2d9d8 s4 9000000122bc1000
s5 90000000027cd000 s6 9000000122bc3000 s7 90000001001bf574 s8 90000001001bf5a0
ra: 9000000001e2849c drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x1a0/0x3ac
ERA: 9000000001e2849c drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x1a0/0x3ac
CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
PRMD: 00000008 (PPLV0 -PIE +PWE)
EUEN: 00000000 (-FPE -SXE -ASXE -BTE)
ECFG: 00071c1d (LIE=0,2-4,10-12 VS=7)
ESTAT: 000c0000 [BRK] (IS= ECode=12 EsubCode=0)
PRID: 0014c011 (Loongson-64bit, Loongson-3A5000M)
CPU: 0 PID: 8 Comm: kworker/0:0 Tainted: G O 6.6.0-rc2-00345-ga1e45ec2bc8c-dirty #1 811eeb50fbfed5e761dbac8196f37fb0e6374bbd
Hardware name: Loongson LM-LS3A5000-7A2000-1w-V02-nb_A2207/LM-LS3A5000-7A2000-1w-V02-nb_A2207, BIOS KL.4.1H.LM.N.010.230320.R 03/20/2023
Workqueue: events work_for_cpu_fn
Stack : 0000000000000008 0000000000000000 90000000017f350c 90000001001bc000
90000001001bf0e0 90000001001bf0e8 0000000000000000 90000001001bf228
90000001001bf220 90000001001bf220 90000001001bf148 fffffffffffdd790
fffffffffffdd7c0 90000001001bf0e8 78c2eb510322c860 9000000100170c00
0000000000000001 900000000230b970 00000000ffffe5d7 000000000000002f
0000000000000063 90000000024ee0a3 0000000005bd4000 900000010f272880
0000000000000000 0000000000000000 900000000266eb10 90000000027cd000
0000000000000000 90000000027cd000 9000000122bc3000 90000001001bf574
90000001001bf5a0 0000000000000000 90000000017f3534 00007fffef2e0000
00000000000002b0 0000000000000008 0000000000000000 0000000000071c1d
...
Call Trace:
[<90000000017f3534>] show_stack+0x6c/0x180
[<90000000022ef9ac>] dump_stack_lvl+0x60/0x88
[<90000000022df774>] __warn+0x84/0xc8
[<90000000022b3794>] report_bug+0x11c/0x1f4
[<90000000022f001c>] do_bp+0x1c0/0x344
[<9000000002b8192c>] exception_handlers+0x192c/0x10000
[<9000000001e2849c>] drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x1a0/0x3ac
[<9000000001e27278>] drm_crtc_get_last_vbltimestamp+0x6c/0x94
[<9000000001e27bc0>] drm_reset_vblank_timestamp+0x84/0x118
[<9000000001e28280>] drm_crtc_vblank_on+0xec/0x168
[<ffff80000355e2b0>] gsgpu_dc_atomic_commit_tail+0x2e4/0x9e8 [gsgpu]
[<9000000001e35eac>] commit_tail+0xac/0x168
[<9000000001e360ac>] drm_atomic_helper_commit+0x13c/0x16c
[<9000000001df7fb4>] drm_atomic_commit+0xa4/0xcc
[<9000000001dfe554>] drm_client_modeset_commit_atomic+0x1a4/0x274
[<9000000001dfe718>] drm_client_modeset_commit_locked+0x6c/0x17c
[<9000000001dfe854>] drm_client_modeset_commit+0x2c/0x58
[<9000000001e42808>] __drm_fb_helper_restore_fbdev_mode_unlocked+0x64/0xb8
[<9000000001e42888>] drm_fb_helper_set_par+0x2c/0x48
[<9000000001d1a754>] fbcon_init+0x424/0x554
[<9000000001dc1f40>] visual_init+0xb8/0x11c
[<9000000001dc4a3c>] do_bind_con_driver.isra.0+0x224/0x454
[<9000000001dc4e20>] do_take_over_console+0x1b4/0x208
[<9000000001d175f0>] do_fbcon_takeover+0x6c/0xc0
[<9000000001d1bbec>] fbcon_fb_registered+0xec/0x164
[<9000000001d0ec78>] register_framebuffer+0x1fc/0x24c
[<9000000001e40f50>] __drm_fb_helper_initial_config_and_unlock+0x484/0x574
[<ffff80000356b184>] gsgpu_fbdev_init+0xd0/0x100 [gsgpu]
[<ffff80000353de18>] gsgpu_device_init+0x8e0/0xac0 [gsgpu]
[<ffff800003568cf8>] gsgpu_driver_load_kms+0xac/0x100 [gsgpu]
[<9000000001e05ad0>] drm_dev_register+0x13c/0x224
[<ffff80000353c2a0>] gsgpu_pci_probe+0xb8/0x12c [gsgpu]
[<9000000001ce22c8>] local_pci_probe+0x48/0xa0
[<90000000018296ac>] work_for_cpu_fn+0x1c/0x30
[<900000000182b300>] process_one_work+0x180/0x260
[<900000000182b750>] worker_thread+0x370/0x438
[<90000000018353f4>] kthread+0x124/0x128
[<90000000017f12b0>] ret_from_kernel_thread+0xc/0x9c
---[ end trace 0000000000000000 ]---
Console: switching to colour frame buffer device 120x33
gsgpu 0000:00:06.0: [drm] fb0: gsgpudrmfb frame buffer device
[drm] gsgpu_fbdev_init: func exit
[drm] gsgpu_device_init: calling gsgpu_pm_sysfs_init
[drm] gsgpu_device_init: calling gsgpu_device_ip_late_init
BUG: scheduling while atomic: kworker/0:0/8/0x00000002
Modules linked in: gsgpu(O+) drm_ttm_helper regmap_i2c gpu_sched drm_buddy ttm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm nls_cp936 vfat fat mt7921e mt7921_common mt792x_lib mt76_connac_lib mt76 mac80211 snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi ledtrig_audio libarc4 snd_hda_intel snd_intel_dspcfg snd_hda_codec cfg80211 snd_hda_core snd_hwdep snd_pcm acpi_ipmi r8169 snd_timer snd rfkill ipmi_si soundcore ipmi_devintf ipmi_msghandler pwm_ls mousedev crypto_user loop ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 nvme atkbd nvme_core vivaldi_fmap serio_raw xhci_pci xhci_pci_renesas nvme_common
CPU: 0 PID: 8 Comm: kworker/0:0 Tainted: G W O 6.6.0-rc2-00345-ga1e45ec2bc8c-dirty #1 811eeb50fbfed5e761dbac8196f37fb0e6374bbd
Hardware name: Loongson LM-LS3A5000-7A2000-1w-V02-nb_A2207/LM-LS3A5000-7A2000-1w-V02-nb_A2207, BIOS KL.4.1H.LM.N.010.230320.R 03/20/2023
Workqueue: events work_for_cpu_fn
Stack : 0000000000000008 0000000000000000 90000000017f350c 90000001001bc000
90000001001bf900 90000001001bf908 0000000000000000 90000001001bfa48
90000001001bfa40 90000001001bfa40 90000001001bf968 fffffffffffdeac8
fffffffffffdeaf8 90000001001bf908 78c2eb510322c860 9000000100170c00
0000000000000001 900000000230b970 00000000ffffe615 000000000000002f
0000000000000063 90000000024ee0a3 0000000005bd4000 90000001001bfb70
0000000000000000 0000000000000000 900000000266eb10 90000000027cd000
90000000022f7be4 90000000027cd000 0000000000000001 0000000000000000
9000000100167540 0000000000000000 90000000017f3534 00007fffef2e0000
00000000000002b0 000000000000000c 0000000000000000 0000000000071c1d
...
Call Trace:
[<90000000017f3534>] show_stack+0x6c/0x180
[<90000000022ef9ac>] dump_stack_lvl+0x60/0x88
[<900000000183c6d8>] __schedule_bug+0x48/0x60
[<90000000022f7298>] __schedule+0x90/0x978
[<90000000022f7be4>] schedule+0x64/0xc4
[<90000000022fd844>] schedule_timeout+0xc4/0x10c
[<90000000018a2df4>] msleep+0x28/0x3c
[<ffff80000353cdac>] gsgpu_cmd_exec+0x194/0x214 [gsgpu]
[<ffff800003558a14>] mmu_vm_fault_interrupt_state+0x3c/0x4c [gsgpu]
[<ffff800003559b30>] gsgpu_irq_update+0x98/0xcc [gsgpu]
[<ffff80000353c878>] gsgpu_device_ip_late_init+0x60/0x108 [gsgpu]
[<ffff80000353df44>] gsgpu_device_init+0xa0c/0xac0 [gsgpu]
[<ffff800003568cf8>] gsgpu_driver_load_kms+0xac/0x100 [gsgpu]
[<9000000001e05ad0>] drm_dev_register+0x13c/0x224
[<ffff80000353c2a0>] gsgpu_pci_probe+0xb8/0x12c [gsgpu]
[<9000000001ce22c8>] local_pci_probe+0x48/0xa0
[<90000000018296ac>] work_for_cpu_fn+0x1c/0x30
[<900000000182b300>] process_one_work+0x180/0x260
[<900000000182b750>] worker_thread+0x370/0x438
[<90000000018353f4>] kthread+0x124/0x128
[<90000000017f12b0>] ret_from_kernel_thread+0xc/0x9c
[drm] gsgpu_device_init: calling gsgpu_device_ip_late_init
[drm] xdma_set_pte_pde_test enter
[drm] gsgpu_bo_create_reserved bp size 0x4000 align 0x4000 domain 4 *bo_ptr 0x0000000000000000
[drm] gsgpu_bo_create: size 0x4000 align 0x4000 domain 4 preferred domain 0 flags 0x21
[drm] gsgpu_bo_do_create: size 0x4000 page_align 0x1
[drm] gsgpu_bo_move: moving bo 0x900000010f636858 from old mem 0x0000000000000000 to new mem 0x9000000102f11860 (start 0x3dfb size 0x4000 type 2 placement 0x1 mapped virt 0x0000000000000000 phy 0x0000000000000000 io? 0 caching 2
[drm] gsgpu_bo_move: calling ttm_bo_move_null
[drm] gsgpu_bo_do_create: ttm_bo_init_reserved done, res->start 0x3dfb size 0x4000 mem_type 2 placement 1
[drm] gsgpu_bo_do_create: cursor start 0xf7ec000 size 0x4000 remaining 0x4000
[drm] gsgpu_ttm_alloc_gart: BO resource already allocated, start = 0x3dfb, size = 0x4000
[drm] allocated gpu_addr 0x100000f7ec000
[drm] mapped cpu_addr 0xffff800046dec000
[drm] xdma_vm_set_pte_pde enter
[drm] xdma_vm_set_pte_pde exit
[drm] xdma_ring_pad_ib pad_count = 7
[drm] xdma_ring_pad_ib exit
[drm] gsgpu_ib_schedule: ring xdma0 wptr = 0000000000000070 wptr_old = 0000000000000060
[drm] gsgpu_ib_schedule: after ring_alloc ring wptr = 0000000000000070 wptr_old = 0000000000000070
[drm] gsgpu_ib_schedule: after vm_flush ring wptr = 0000000000000070 wptr_old = 0000000000000070
[drm] gsgpu_ib_schedule: after emit_cntxcntl ring wptr = 0000000000000070 wptr_old = 0000000000000070
[drm] xdma_ring_emit_ib enter
[drm] gsgpu_ring_write ring xdma0 dw[70]:00030082 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[71]:0100c400 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[72]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[73]:00000010 ptr_mask 1ff
[drm] xdma_ring_emit_ib exit
[drm] gsgpu_ib_schedule: after emit_ib ring wptr = 0000000000000074 wptr_old = 0000000000000070
[drm] gsgpu_ib_schedule: after ring_emit_fence ring wptr = 0000000000000074 wptr_old = 0000000000000070
[drm] xdma_ring_emit_fence enter
[drm] gsgpu_ring_write ring xdma0 dw[74]:00030183 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[75]:010000c0 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[76]:00000000 ptr_mask 1ff
[drm] gsgpu_ring_write ring xdma0 dw[77]:00000007 ptr_mask 1ff
[drm] xdma_ring_emit_fence exit
[drm] gsgpu_ib_schedule: after fence_emit ring wptr = 0000000000000078 wptr_old = 0000000000000070
[drm] gsgpu_ib_schedule: after insert_end ring wptr = 0000000000000078 wptr_old = 0000000000000070
[drm] gsgpu_ib_schedule: calling gsgpu_ring_commit
[drm] gsgpu_ring_commit insert_nop ring = 900000010042ac08 (xdma0) count = 0x8
[drm] gsgpu_ring_write ring xdma0 dw[78]:00000080 ptr_mask 1ff
...
[drm] gsgpu_ring_write ring xdma0 dw[7f]:00000080 ptr_mask 1ff
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x70
[drm] xdma_ring_set_wptr ring = 900000010042ac08 (xdma0), new wptr = 0000000000000080, ring->wptr_old = 0000000000000070, old wptr from hw = 0000000000000070, current rptr = 0000000000000000
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x70
[drm] gsgpu_ring_commit: wptr set to 80 wptr_old = 70 get_wptr = 80 get_rptr = 0
[drm] ring->funcs->end_use is NULL
[drm] xdma_ring_get_rptr from wb 0x0 from hw reg 0x70
[drm] leaving gsgpu_ring_commit: wptr = 80 wptr_old = 70 get_wptr = 80 get_rptr = 0
[drm] gsgpu_ib_schedule: done!
BUG: scheduling while atomic: kworker/0:0/8/0x00000000
Modules linked in: gsgpu(O+) drm_ttm_helper
[drm] gsgpu_ih_process called, enabled? 1 shutdown? 0 msi_enabled? 0
regmap_i2c gpu_sched drm_buddy ttm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm nls_cp936 vfat fat mt7921e mt7921_common mt792x_lib mt76_connac_lib mt76 mac80211 snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi ledtrig_audio libarc4 snd_hda_intel snd_intel_dspcfg snd_hda_codec cfg80211 snd_hda_core snd_hwdep snd_pcm acpi_ipmi r8169 snd_timer snd rfkill ipmi_si soundcore ipmi_devintf ipmi_msghandler pwm_ls mousedev crypto_user loop ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 nvme atkbd nvme_core vivaldi_fmap serio_raw xhci_pci xhci_pci_renesas nvme_common
CPU: 0 PID: 8 Comm: kworker/0:0 Tainted: G W O 6.6.0-rc2-00345-ga1e45ec2bc8c-dirty #1 811eeb50fbfed5e761dbac8196f37fb0e6374bbd
Hardware name: Loongson LM-LS3A5000-7A2000-1w-V02-nb_A2207/LM-LS3A5000-7A2000-1w-V02-nb_A2207, BIOS KL.4.1H.LM.N.010.230320.R 03/20/2023
Workqueue: events work_for_cpu_fn
Stack : 0000000000000008 0000000000000000 90000000017f350c 90000001001bc000
90000001001bf8e0 90000001001bf8e8 0000000000000000 90000001001bfa28
90000001001bfa20 90000001001bfa20 90000001001bf948 fffffffffffe0a10
fffffffffffe0a40 90000001001bf8e8 78c2eb510322c860 9000000100170c00
0000000000000001 900000000230b970 00000000ffffe674 000000000000002f
0000000000000063 90000000024ee0a3 0000000005bd4000 90000001001bfb50
0000000000000000 0000000000000000 900000000266eb10 90000000027cd000
90000000022f7be4 90000000027cd000 0000000000000001 0000000000000000
9000000100167540 0000000000000000 90000000017f3534 00007fffef2e0000
00000000000002b0 000000000000000c 0000000000000000 0000000000071c1d
...
Call Trace:
[<90000000017f3534>] show_stack+0x6c/0x180
[<90000000022ef9ac>] dump_stack_lvl+0x60/0x88
[<900000000183c6d8>] __schedule_bug+0x48/0x60
[<90000000022f7298>] __schedule+0x90/0x978
[<90000000022f7be4>] schedule+0x64/0xc4
[<90000000022fd844>] schedule_timeout+0xc4/0x10c
[<9000000001e7b0a8>] dma_fence_default_wait+0x128/0x20c
[<ffff80000356c7fc>] xdma_set_pte_pde_test+0x198/0x288 [gsgpu]
[<ffff80000353df7c>] gsgpu_device_init+0xa44/0xac0 [gsgpu]
[<ffff800003568cf8>] gsgpu_driver_load_kms+0xac/0x100 [gsgpu]
[<9000000001e05ad0>] drm_dev_register+0x13c/0x224
[<ffff80000353c2a0>] gsgpu_pci_probe+0xb8/0x12c [gsgpu]
[<9000000001ce22c8>] local_pci_probe+0x48/0xa0
[<90000000018296ac>] work_for_cpu_fn+0x1c/0x30
[<900000000182b300>] process_one_work+0x180/0x260
[<900000000182b750>] worker_thread+0x370/0x438
[<90000000018353f4>] kthread+0x124/0x128
[<90000000017f12b0>] ret_from_kernel_thread+0xc/0x9c
[drm] xdma_set_pte_pde_test exit ret = 1246
[drm] gsgpu_device_init: done! no err
[drm] gsgpu_driver_load_kms done ret = 0
[drm] pwm: id=3, period=1000000ns, polarity=1.
[drm:gsgpu_backlight_register [gsgpu]] *ERROR* Failed to get the pwm chip
[drm] Initialized gsgpu 0.1.0 20230923 for 0000:00:06.0 on minor 0