[v2,08/11] drm/qxl: fix monitors object vmap
diff mbox series

Message ID 20210217123213.2199186-9-kraxel@redhat.com
State Accepted
Commit cb981987b401ff18e4bd6fc08a91e187ac043da0
Headers show
Series
  • [v2,01/11] drm/qxl: properly handle device init failures
Related show

Commit Message

Gerd Hoffmann Feb. 17, 2021, 12:32 p.m. UTC
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@redhat.com>
---
 drivers/gpu/drm/qxl/qxl_display.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Thomas Zimmermann Feb. 18, 2021, 2:42 p.m. UTC | #1
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@redhat.com>

Acked-by: Thomas Zimmermann <tzimmermann@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;
>   
>

Patch
diff mbox series

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;