diff options
author | Gerd Hoffmann <[email protected]> | 2019-01-18 13:20:07 +0100 |
---|---|---|
committer | Gerd Hoffmann <[email protected]> | 2019-01-28 14:24:53 +0100 |
commit | 1f85535cd04cb0b135971df9dcfd51749c9783f3 (patch) | |
tree | 588cf92617ba9577f2fbb3c1e35a6e6ecc688182 /drivers/fpga/xilinx-spi.c | |
parent | f3bc22f04d44bdb94c3cfb4ad8970139d9df8252 (diff) |
drm/qxl: move qxl_primary_apply_cursor to correct place
The qxl device ties the cursor to the primary surface. Therefore
calling qxl_io_destroy_primary() and qxl_io_create_primary() to switch
the framebuffer causes the cursor information being lost and the driver
must re-apply it.
The correct call order to do that is qxl_io_destroy_primary() +
qxl_io_create_primary() + qxl_primary_apply_cursor().
The old code did qxl_io_destroy_primary() + qxl_primary_apply_cursor() +
qxl_io_create_primary(). Due to qxl_primary_apply_cursor request being
queued in a ringbuffer and qxl_io_create_primary() trapping to the
hypervisor instantly there is a high chance that qxl_io_create_primary()
is processed first even with the wrong call order. But it's racy and
thus not reliable.
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Noralf Trønnes <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/fpga/xilinx-spi.c')
0 files changed, 0 insertions, 0 deletions