Various DRM backend fixes for vmwgfx
Small series with various vmwgfx fixes to get KDE6 working fine on vmwgfx.
The first is a general fix. The other two work around issues in the vmwgfx driver code. Broadcom is aware of the issues.
Cursor is a combination of issues: the core is likely due to broken DRM dumb buffers with prime imports on vmwgfx. Then there's the incorrect way in which KWin is testing for the hotspot properties (fix for that is not part of that series because it would be impossible to test on vmwgfx right now due to the above issue, but the bug is that in the drm_gpu.cpp check for DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT is done before drmSetClientCap(m_fd, DRM_CLIENT_CAP_ATOMIC, 1) is called and DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT is only returned if the client advertised that it's atomic, so DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT will always be false: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_ioctl.c#n370 )