Christian König
2022-Apr-29 13:42 UTC
[PATCH 4/4] drm/qxl: add drm_gem_plane_helper_prepare_fb
We could need to wait for the pin to complete here. Signed-off-by: Christian K?nig <christian.koenig at amd.com> Cc: Dave Airlie <airlied at redhat.com> Cc: Gerd Hoffmann <kraxel at redhat.com> Cc: virtualization at lists.linux-foundation.org Cc: spice-devel at lists.freedesktop.org --- drivers/gpu/drm/qxl/qxl_display.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 9a9c29b1d3e1..9a64fa4c7530 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -34,6 +34,7 @@ #include <drm/drm_plane_helper.h> #include <drm/drm_probe_helper.h> #include <drm/drm_simple_kms_helper.h> +#include <drm/drm_gem_atomic_helper.h> #include "qxl_drv.h" #include "qxl_object.h" @@ -829,6 +830,7 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane, struct qxl_device *qdev = to_qxl(plane->dev); struct drm_gem_object *obj; struct qxl_bo *user_bo; + int ret; if (!new_state->fb) return 0; @@ -852,7 +854,11 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane, qxl_free_cursor(old_cursor_bo); } - return qxl_bo_pin(user_bo); + ret = qxl_bo_pin(user_bo); + if (ret) + return ret; + + return drm_gem_plane_helper_prepare_fb(plane, new_state); } static void qxl_plane_cleanup_fb(struct drm_plane *plane, -- 2.25.1
Daniel Vetter
2022-May-04 09:27 UTC
[PATCH 4/4] drm/qxl: add drm_gem_plane_helper_prepare_fb
On Fri, Apr 29, 2022 at 03:42:30PM +0200, Christian K?nig wrote:> We could need to wait for the pin to complete here. > > Signed-off-by: Christian K?nig <christian.koenig at amd.com> > Cc: Dave Airlie <airlied at redhat.com> > Cc: Gerd Hoffmann <kraxel at redhat.com> > Cc: virtualization at lists.linux-foundation.org > Cc: spice-devel at lists.freedesktop.orgReviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>> --- > drivers/gpu/drm/qxl/qxl_display.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c > index 9a9c29b1d3e1..9a64fa4c7530 100644 > --- a/drivers/gpu/drm/qxl/qxl_display.c > +++ b/drivers/gpu/drm/qxl/qxl_display.c > @@ -34,6 +34,7 @@ > #include <drm/drm_plane_helper.h> > #include <drm/drm_probe_helper.h> > #include <drm/drm_simple_kms_helper.h> > +#include <drm/drm_gem_atomic_helper.h> > > #include "qxl_drv.h" > #include "qxl_object.h" > @@ -829,6 +830,7 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane, > struct qxl_device *qdev = to_qxl(plane->dev); > struct drm_gem_object *obj; > struct qxl_bo *user_bo; > + int ret; > > if (!new_state->fb) > return 0; > @@ -852,7 +854,11 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane, > qxl_free_cursor(old_cursor_bo); > } > > - return qxl_bo_pin(user_bo); > + ret = qxl_bo_pin(user_bo); > + if (ret) > + return ret; > + > + return drm_gem_plane_helper_prepare_fb(plane, new_state); > } > > static void qxl_plane_cleanup_fb(struct drm_plane *plane, > -- > 2.25.1 >-- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch