On Thu, Aug 22, 2019 at 2:47 AM Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote: > > Use drm_atomic_helper_check_plane_state() > to sanity check the plane state. > > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > --- > drivers/gpu/drm/virtio/virtgpu_plane.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c > index a492ac3f4a7e..fe5efb2de90d 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_plane.c > +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c > @@ -84,7 +84,22 @@ static const struct drm_plane_funcs virtio_gpu_plane_funcs = { > static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, > struct drm_plane_state *state) > { > - return 0; > + bool is_cursor = plane->type == DRM_PLANE_TYPE_CURSOR; > + struct drm_crtc_state *crtc_state; > + int ret; > + > + if (!state->fb || !state->crtc) > + return 0; > + > + crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); > + if (IS_ERR(crtc_state)) > + return PTR_ERR(crtc_state); Is drm_atomic_get_new_crtc_state better here? > + > + ret = drm_atomic_helper_check_plane_state(state, crtc_state, > + DRM_PLANE_HELPER_NO_SCALING, > + DRM_PLANE_HELPER_NO_SCALING, > + is_cursor, true); > + return ret; > } > > static void virtio_gpu_primary_plane_update(struct drm_plane *plane, > -- > 2.18.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization