Re: [PATCH] Add virtio gpu driver.

From: Gerd Hoffmann
Date: Mon May 30 2016 - 09:50:43 EST


> - 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?

> 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?