Message ID | 20230310125943.912514-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Mainlined |
Headers | show |
Series | drm/virtio: Enable fb damage clips property for the primary plane | expand |
Hi Javier Am 10.03.23 um 13:59 schrieb Javier Martinez Canillas: > Christian Hergert reports that the driver doesn't enable the property and > that leads to always doing a full plane update, even when the driver does > support damage clipping for the primary plane. > > Don't enable it for the cursor plane, because its .atomic_update callback > doesn't handle damage clips. > > Reported-by: Christian Hergert <chergert@redhat.com> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > --- > > drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c > index 4c09e313bebc..a2e045f3a000 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_plane.c > +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c > @@ -390,5 +390,9 @@ struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, virtio_gpu_plane_init() should really be two separate functions. But withing the constrains of the current code Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Best regards Thomas > return plane; > > drm_plane_helper_add(plane, funcs); > + > + if (type == DRM_PLANE_TYPE_PRIMARY) > + drm_plane_enable_fb_damage_clips(plane); > + > return plane; > } > > base-commit: 3e853b9f89e4bcc8aa342fa350d83ff0df67d7e9
Thomas Zimmermann <tzimmermann@suse.de> writes: Hello Thomas, > Hi Javier > > Am 10.03.23 um 13:59 schrieb Javier Martinez Canillas: >> Christian Hergert reports that the driver doesn't enable the property and >> that leads to always doing a full plane update, even when the driver does >> support damage clipping for the primary plane. >> >> Don't enable it for the cursor plane, because its .atomic_update callback >> doesn't handle damage clips. >> >> Reported-by: Christian Hergert <chergert@redhat.com> >> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> >> --- >> >> drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c >> index 4c09e313bebc..a2e045f3a000 100644 >> --- a/drivers/gpu/drm/virtio/virtgpu_plane.c >> +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c >> @@ -390,5 +390,9 @@ struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, > > virtio_gpu_plane_init() should really be two separate functions. But > withing the constrains of the current code > Agreed, I thought the same. I may post a follow-up patch once this lands. > Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> > Thanks!
On Fri, Mar 10, 2023 at 01:59:42PM +0100, Javier Martinez Canillas wrote: > Christian Hergert reports that the driver doesn't enable the property and > that leads to always doing a full plane update, even when the driver does > support damage clipping for the primary plane. > > Don't enable it for the cursor plane, because its .atomic_update callback > doesn't handle damage clips. > > Reported-by: Christian Hergert <chergert@redhat.com> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Javier Martinez Canillas <javierm@redhat.com> writes: > Christian Hergert reports that the driver doesn't enable the property and > that leads to always doing a full plane update, even when the driver does > support damage clipping for the primary plane. > > Don't enable it for the cursor plane, because its .atomic_update callback > doesn't handle damage clips. > > Reported-by: Christian Hergert <chergert@redhat.com> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > --- Pushed to drm-misc (drm-misc-next). Thanks!
diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c index 4c09e313bebc..a2e045f3a000 100644 --- a/drivers/gpu/drm/virtio/virtgpu_plane.c +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -390,5 +390,9 @@ struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, return plane; drm_plane_helper_add(plane, funcs); + + if (type == DRM_PLANE_TYPE_PRIMARY) + drm_plane_enable_fb_damage_clips(plane); + return plane; }
Christian Hergert reports that the driver doesn't enable the property and that leads to always doing a full plane update, even when the driver does support damage clipping for the primary plane. Don't enable it for the cursor plane, because its .atomic_update callback doesn't handle damage clips. Reported-by: Christian Hergert <chergert@redhat.com> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++++ 1 file changed, 4 insertions(+) base-commit: 3e853b9f89e4bcc8aa342fa350d83ff0df67d7e9