Re: [PATCH] Add virtio gpu driver.
From: Gerd Hoffmann <kraxel@redhat.com>
Date: 2016-05-30 13:50:40
Also in:
dri-devel, lkml
Hi,
quoted hunk ↗ jump to hunk
- add a small core function to registerr HOT_X/HOT_Y for a (cursor) plane, e.g. drm_plane_register_hotspot(). That should allocate the properties (if they don't exist yet) and then attach those props to the cursor. We don't want those props everywhere, but only on drivers that support/need them, aka virtual hw.
Hmm, why is this special to virtual hw?
quoted hunk ↗ jump to hunk
if (crtc->cursor) { - ret = drm_mode_cursor_universal(crtc, req, file_priv); + if (drm_core_check_feature(DRIVER_ATOMIC)) + ret = drm_mode_cursor_atomic(crtc, req, file_priv); + else + ret = drm_mode_cursor_universal(crtc, req, file_priv); goto out;
drm_mode_cursor_atomic would simply be a fusing of drm_mode_cursor_universal + drm_atomic_helper_update_plane (dump all the intermediate variables and store directly in the plane state), with the addition of also storing hot_x/y into the plane state.
Hmm, that'll either make drm_mode_cursor_atomic a big cut+pasted function, or need quite some refactoring to move common code into functions callable from both drm_mode_cursor_atomic +drm_mode_cursor_universal ... Why attach the hotspot to the plane? Wouldn't it make more sense to make it a framebuffer property? cheers, Gerd