From: Christian Zigotzky <chzigotzky@xenosoft.de>
To: daniel.vetter@ffwll.ch
Cc: "Darren Stevens" <darren@stevens-zone.net>,
"mad skateman" <madskateman@gmail.com>,
"Michel Dänzer" <michel@daenzer.net>,
"Maling list - DRI developers" <dri-devel@lists.freedesktop.org>,
"kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
"R.T.Dickinson" <rtd2@xtra.co.nz>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: [Virtual ppce500] virtio_gpu virtio0: swiotlb buffer is full
Date: Wed, 12 Aug 2020 15:09:49 +0200 [thread overview]
Message-ID: <3162da18-462c-72b4-f8f0-eef896c6b162@xenosoft.de> (raw)
In-Reply-To: <9805f81d-651d-d1a3-fd05-fb224a8c2031@xenosoft.de>
Hello Daniel,
The VirtIO-GPU doesn't work anymore with the latest Git kernel in a
virtual e5500 PPC64 QEMU machine [1,2] after the commit "drm/virtio:
Call the right shmem helpers". [3]
The kernel 5.8 works with the VirtIO-GPU in this virtual machine.
I bisected today [4].
Result: drm/virtio: Call the right shmem helpers (
d323bb44e4d23802eb25d13de1f93f2335bd60d0) [3] is the first bad commit.
I was able to revert the first bad commit. [5] After that I compiled a
new kernel again. Then I was able to boot Linux with this kernel in a
virtual e5500 PPC64 QEMU machine with the VirtIO-GPU.
I created a patch. [6] With this patch I can use the VirtIO-GPU again.
Could you please check the first bad commit?
Thanks,
Christian
[1] QEMU command: qemu-system-ppc64 -M ppce500 -cpu e5500 -enable-kvm -m
1024 -kernel uImage -drive
format=raw,file=fienix-soar_3.0-2020608-net.img,index=0,if=virtio -nic
user,model=e1000 -append "rw root=/dev/vda2" -device virtio-vga -device
virtio-mouse-pci -device virtio-keyboard-pci -device pci-ohci,id=newusb
-device usb-audio,bus=newusb.0 -smp 4
[2] Error messages:
virtio_gpu virtio0: swiotlb buffer is full (sz: 4096 bytes), total 0
(slots), used 0 (slots)
BUG: Kernel NULL pointer dereference on read at 0x00000010
Faulting instruction address: 0xc0000000000c7324
Oops: Kernel access of bad area, sig: 11 [#1]
BE PAGE_SIZE=4K PREEMPT SMP NR_CPUS=4 QEMU e500
Modules linked in:
CPU: 2 PID: 1678 Comm: kworker/2:2 Not tainted
5.9-a3_A-EON_X5000-11735-g06a81c1c7db9-dirty #1
Workqueue: events .virtio_gpu_dequeue_ctrl_func
NIP: c0000000000c7324 LR: c0000000000c72e4 CTR: c000000000462930
REGS: c00000003dba75e0 TRAP: 0300 Not tainted
(5.9-a3_A-EON_X5000-11735-g06a81c1c7db9-dirty)
MSR: 0000000090029000 <CE,EE,ME> CR: 24002288 XER: 00000000
DEAR: 0000000000000010 ESR: 0000000000000000 IRQMASK: 0
GPR00: c0000000000c6188 c00000003dba7870 c0000000017f2300 c00000003d893010
GPR04: 0000000000000000 0000000000000001 0000000000000000 0000000000000000
GPR08: 0000000000000000 0000000000000000 0000000000000000 7f7f7f7f7f7f7f7f
GPR12: 0000000024002284 c00000003fff9200 c00000000008c3a0 c0000000061566c0
GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24: 0000000000000001 0000000000110000 0000000000000000 0000000000000000
GPR28: c00000003d893010 0000000000000000 0000000000000000 c00000003d893010
NIP [c0000000000c7324] .dma_direct_unmap_sg+0x4c/0xd8
LR [c0000000000c72e4] .dma_direct_unmap_sg+0xc/0xd8
Call Trace:
[c00000003dba7870] [c00000003dba7950] 0xc00000003dba7950 (unreliable)
[c00000003dba7920] [c0000000000c6188] .dma_unmap_sg_attrs+0x5c/0x98
[c00000003dba79d0] [c0000000005cd438] .drm_gem_shmem_free_object+0x98/0xcc
[c00000003dba7a50] [c0000000006af5b4] .virtio_gpu_cleanup_object+0xc8/0xd4
[c00000003dba7ad0] [c0000000006ad3bc] .virtio_gpu_cmd_unref_cb+0x1c/0x30
[c00000003dba7b40] [c0000000006adab8]
.virtio_gpu_dequeue_ctrl_func+0x208/0x28c
[c00000003dba7c10] [c000000000086b70] .process_one_work+0x1a4/0x258
[c00000003dba7cb0] [c0000000000870f4] .worker_thread+0x214/0x284
[c00000003dba7d70] [c00000000008c4f0] .kthread+0x150/0x158
[c00000003dba7e20] [c00000000000082c] .ret_from_kernel_thread+0x58/0x60
Instruction dump:
f821ff51 7cb82b78 7cdb3378 4e000000 7cfa3b78 3bc00000 7f9ec000 41fc0014
382100b0 81810008 7d808120 48bc1ba8 <e93d0010> ebfc0248 833d0018 7fff4850
---[ end trace f28d194d9f0955a8 ]---
virtio_gpu virtio0: swiotlb buffer is full (sz: 4096 bytes), total 0
(slots), used 0 (slots)
virtio_gpu virtio0: swiotlb buffer is full (sz: 16384 bytes), total 0
(slots), used 0 (slots)
---
[3]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d323bb44e4d23802eb25d13de1f93f2335bd60d0
[4] https://forum.hyperion-entertainment.com/viewtopic.php?p=51377#p51377
[5] git revert d323bb44e4d23802eb25d13de1f93f2335bd60d0 //Output:
[master 966950f724e4] Revert "drm/virtio: Call the right shmem helpers"
1 file changed, 1 insertion(+), 1 deletion(-)
[6]
diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c
b/drivers/gpu/drm/virtio/virtgpu_object.c
index 6ccbd01cd888..346cef5ce251 100644
--- a/drivers/gpu/drm/virtio/virtgpu_object.c
+++ b/drivers/gpu/drm/virtio/virtgpu_object.c
@@ -150,7 +150,7 @@ static int virtio_gpu_object_shmem_init(struct
virtio_gpu_device *vgdev,
if (ret < 0)
return -EINVAL;
- shmem->pages = drm_gem_shmem_get_pages_sgt(&bo->base.base);
+ shmem->pages = drm_gem_shmem_get_sg_table(&bo->base.base);
if (!shmem->pages) {
drm_gem_shmem_unpin(&bo->base.base);
return -EINVAL;
---
next prev parent reply other threads:[~2020-08-12 13:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87h7tb4zwp.fsf@linux.ibm.com>
[not found] ` <E1C071A5-19D1-4493-B04A-4507A70D7848@xenosoft.de>
2020-08-10 7:56 ` [PASEMI] Nemo board doesn't boot anymore after the commit "powerpc/book3s64/pkeys: Simplify pkey disable branch" Christian Zigotzky
2020-08-10 8:45 ` Christian Zigotzky
2020-08-10 8:58 ` Aneesh Kumar K.V
2020-08-10 10:22 ` Christian Zigotzky
2020-08-10 13:01 ` [Virtual ppce500] virtio_gpu virtio0: swiotlb buffer is full Christian Zigotzky
2020-08-12 13:09 ` Christian Zigotzky [this message]
2020-08-17 9:19 ` Christian Zigotzky
2020-08-18 8:18 ` Gerd Hoffmann
2020-08-18 11:08 ` Christian Zigotzky
2020-08-18 14:41 ` Christian Zigotzky
2020-08-19 4:35 ` Gerd Hoffmann
2020-08-19 10:22 ` Christian Zigotzky
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=3162da18-462c-72b4-f8f0-eef896c6b162@xenosoft.de \
--to=chzigotzky@xenosoft.de \
--cc=daniel.vetter@ffwll.ch \
--cc=darren@stevens-zone.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=kvm-ppc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=madskateman@gmail.com \
--cc=michel@daenzer.net \
--cc=rtd2@xtra.co.nz \
/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).