OSDN Git Service

drm/qxl: fix monitors object vmap
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 17 Feb 2021 12:32:10 +0000 (13:32 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 19 Feb 2021 08:13:25 +0000 (09:13 +0100)
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>
Link: http://patchwork.freedesktop.org/patch/msgid/20210217123213.2199186-9-kraxel@redhat.com
drivers/gpu/drm/qxl/qxl_display.c

index bfcc930..f106da9 100644 (file)
@@ -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;