linux_dsm_epyc7002/drivers/gpu/drm/qxl
Christophe Fergeau 0081cdfe63 qxl: Make sure qxl_cursor memory is pinned
QEMU keeps a vram reference to the last QXLCursorCmd it received.
This QXLCursorCmd command points to a QXLCursor instance (stored in vram
too). However, while the QXLCursorCmd memory is pinned, the QXLCursor
memory is not.

When booting a recent Fedora to its login screen while monitoring the
QXLCursorCmd QEMU holds, it's possible to see the QXLCursor memory
becoming invalid shortly after boot. Pinning that memory ensures that
that QXLCursor memory is not going to be moved by the guest kernel.

Moving the pin/unpin to qxl_release_list_add()/qxl_release_free_list()
would be a more generic fix. However, doing this quickly exhausts QXL
video memory, so more fixing would be needed before this is workable.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20181120162004.22807-3-cfergeau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-11-21 09:12:46 +01:00
..
Kconfig drm: fix compilations issues introduced by "drm: allow to use mmuless SoC" 2017-01-09 11:30:30 +01:00
Makefile drm/qxl: fix include notation and remove -Iinclude/drm flag 2017-05-17 14:36:17 +02:00
qxl_cmd.c drm/qxl: Use 'unsigned int' instead of 'usigned' 2018-10-30 07:20:00 +01:00
qxl_debugfs.c drm/qxl: Use 'unsigned int' instead of 'usigned' 2018-10-30 07:20:00 +01:00
qxl_dev.h drm/qxl: Remove exceding whiteline 2018-10-30 07:19:59 +01:00
qxl_display.c qxl: Make sure qxl_cursor memory is pinned 2018-11-21 09:12:46 +01:00
qxl_draw.c qxl: No need for NULL check before calling qxl_bo_unref() 2018-11-21 09:12:45 +01:00
qxl_drv.c qxl: fix null-pointer crash during suspend 2018-09-05 08:26:24 +02:00
qxl_drv.h drm/qxl: Use 'unsigned int' instead of 'bool' 2018-10-30 07:20:01 +01:00
qxl_dumb.c drm/qxl: Add line after variable declarations 2018-10-30 07:19:59 +01:00
qxl_fb.c qxl: Remove unused qxl_bo_pin arguments 2018-11-21 09:12:45 +01:00
qxl_gem.c drm/qxl: Replace ttm_bo_unref with ttm_bo_put 2018-08-30 09:41:01 +02:00
qxl_image.c drm/qxl: Use 'unsigned int' instead of 'usigned' 2018-10-30 07:20:00 +01:00
qxl_ioctl.c drm/qxl: Add line after variable declarations 2018-10-30 07:19:59 +01:00
qxl_irq.c qxl: remove qxl_io_log() 2018-04-27 08:58:04 +02:00
qxl_kms.c qxl: No need for NULL check before calling qxl_bo_unref() 2018-11-21 09:12:45 +01:00
qxl_object.c qxl: Remove unused qxl_bo_pin arguments 2018-11-21 09:12:45 +01:00
qxl_object.h qxl: Remove unused qxl_bo_pin arguments 2018-11-21 09:12:45 +01:00
qxl_prime.c drm/qxl: Remove exceding whiteline 2018-10-30 07:19:59 +01:00
qxl_release.c drm/qxl: remove set but not used variables 'driver, qbo' 2018-11-14 14:21:04 +01:00
qxl_ttm.c drm/qxl: Use 'unsigned int' instead of 'usigned' 2018-10-30 07:20:00 +01:00