Use the correct vmap variant. We don't hold a reservation here, so we can't use the _locked variant. We can drop the pin because qxl_bo_vmap will do that for us. Signed-off-by: Gerd Hoffmann <kraxel at redhat.com> --- drivers/gpu/drm/qxl/qxl_display.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index bfcc93089a94..f106da917863 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1159,12 +1159,10 @@ int qxl_create_monitors_object(struct qxl_device *qdev) } qdev->monitors_config_bo = gem_to_qxl_bo(gobj); - ret = qxl_bo_pin(qdev->monitors_config_bo); + ret = qxl_bo_vmap(qdev->monitors_config_bo, &map); if (ret) return ret; - qxl_bo_vmap_locked(qdev->monitors_config_bo, &map); - qdev->monitors_config = qdev->monitors_config_bo->kptr; qdev->ram_header->monitors_config qxl_bo_physical_address(qdev, qdev->monitors_config_bo, 0); @@ -1189,8 +1187,7 @@ int qxl_destroy_monitors_object(struct qxl_device *qdev) qdev->monitors_config = NULL; qdev->ram_header->monitors_config = 0; - qxl_bo_vunmap_locked(qdev->monitors_config_bo); - ret = qxl_bo_unpin(qdev->monitors_config_bo); + ret = qxl_bo_vunmap(qdev->monitors_config_bo); if (ret) return ret; -- 2.29.2
Thomas Zimmermann
2021-Feb-18 14:42 UTC
[PATCH v2 08/11] drm/qxl: fix monitors object vmap
Am 17.02.21 um 13:32 schrieb Gerd Hoffmann:> Use the correct vmap variant. We don't hold a reservation here, > so we can't use the _locked variant. We can drop the pin because > qxl_bo_vmap will do that for us. > > Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>Acked-by: Thomas Zimmermann <tzimmermann at suse.de> I simply forgot to ack this patch.> --- > drivers/gpu/drm/qxl/qxl_display.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c > index bfcc93089a94..f106da917863 100644 > --- a/drivers/gpu/drm/qxl/qxl_display.c > +++ b/drivers/gpu/drm/qxl/qxl_display.c > @@ -1159,12 +1159,10 @@ int qxl_create_monitors_object(struct qxl_device *qdev) > } > qdev->monitors_config_bo = gem_to_qxl_bo(gobj); > > - ret = qxl_bo_pin(qdev->monitors_config_bo); > + ret = qxl_bo_vmap(qdev->monitors_config_bo, &map); > if (ret) > return ret; > > - qxl_bo_vmap_locked(qdev->monitors_config_bo, &map); > - > qdev->monitors_config = qdev->monitors_config_bo->kptr; > qdev->ram_header->monitors_config > qxl_bo_physical_address(qdev, qdev->monitors_config_bo, 0); > @@ -1189,8 +1187,7 @@ int qxl_destroy_monitors_object(struct qxl_device *qdev) > qdev->monitors_config = NULL; > qdev->ram_header->monitors_config = 0; > > - qxl_bo_vunmap_locked(qdev->monitors_config_bo); > - ret = qxl_bo_unpin(qdev->monitors_config_bo); > + ret = qxl_bo_vunmap(qdev->monitors_config_bo); > if (ret) > return ret; > >-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N?rnberg, Germany (HRB 36809, AG N?rnberg) Gesch?ftsf?hrer: Felix Imend?rffer -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 840 bytes Desc: OpenPGP digital signature URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20210218/650df823/attachment.sig>