2021-02-17 12:39:45

by Gerd Hoffmann

[permalink] [raw]
Subject: [PATCH v2 08/11] drm/qxl: fix monitors object vmap

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 <[email protected]>
---
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


2021-02-18 17:26:09

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [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 <[email protected]>

Acked-by: Thomas Zimmermann <[email protected]>

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


Attachments:
OpenPGP_signature (855.00 B)
OpenPGP digital signature