Commit bbaac135 authored by Sidong Yang's avatar Sidong Yang Committed by Gerd Hoffmann

drm/qxl: Replace deprecated function in qxl_display

Replace deprecated function drm_modeset_lock/unlock_all with
helper function DRM_MODESET_LOCK_ALL_BEGIN/END.
Signed-off-by: default avatarSidong Yang <realwakka@gmail.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200524022624.10363-1-realwakka@gmail.comSigned-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 77cf3a68
...@@ -162,7 +162,8 @@ static void qxl_update_offset_props(struct qxl_device *qdev) ...@@ -162,7 +162,8 @@ static void qxl_update_offset_props(struct qxl_device *qdev)
void qxl_display_read_client_monitors_config(struct qxl_device *qdev) void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
{ {
struct drm_device *dev = &qdev->ddev; struct drm_device *dev = &qdev->ddev;
int status, retries; struct drm_modeset_acquire_ctx ctx;
int status, retries, ret;
for (retries = 0; retries < 10; retries++) { for (retries = 0; retries < 10; retries++) {
status = qxl_display_copy_rom_client_monitors_config(qdev); status = qxl_display_copy_rom_client_monitors_config(qdev);
...@@ -183,9 +184,9 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev) ...@@ -183,9 +184,9 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev)
return; return;
} }
drm_modeset_lock_all(dev); DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
qxl_update_offset_props(qdev); qxl_update_offset_props(qdev);
drm_modeset_unlock_all(dev); DRM_MODESET_LOCK_ALL_END(ctx, ret);
if (!drm_helper_hpd_irq_event(dev)) { if (!drm_helper_hpd_irq_event(dev)) {
/* notify that the monitor configuration changed, to /* notify that the monitor configuration changed, to
adjust at the arbitrary resolution */ adjust at the arbitrary resolution */
...@@ -403,18 +404,17 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb, ...@@ -403,18 +404,17 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
struct qxl_device *qdev = to_qxl(fb->dev); struct qxl_device *qdev = to_qxl(fb->dev);
struct drm_clip_rect norect; struct drm_clip_rect norect;
struct qxl_bo *qobj; struct qxl_bo *qobj;
struct drm_modeset_acquire_ctx ctx;
bool is_primary; bool is_primary;
int inc = 1; int inc = 1, ret;
drm_modeset_lock_all(fb->dev); DRM_MODESET_LOCK_ALL_BEGIN(fb->dev, ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
qobj = gem_to_qxl_bo(fb->obj[0]); qobj = gem_to_qxl_bo(fb->obj[0]);
/* if we aren't primary surface ignore this */ /* if we aren't primary surface ignore this */
is_primary = qobj->shadow ? qobj->shadow->is_primary : qobj->is_primary; is_primary = qobj->shadow ? qobj->shadow->is_primary : qobj->is_primary;
if (!is_primary) { if (!is_primary)
drm_modeset_unlock_all(fb->dev); goto out_lock_end;
return 0;
}
if (!num_clips) { if (!num_clips) {
num_clips = 1; num_clips = 1;
...@@ -430,7 +430,8 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb, ...@@ -430,7 +430,8 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
qxl_draw_dirty_fb(qdev, fb, qobj, flags, color, qxl_draw_dirty_fb(qdev, fb, qobj, flags, color,
clips, num_clips, inc, 0); clips, num_clips, inc, 0);
drm_modeset_unlock_all(fb->dev); out_lock_end:
DRM_MODESET_LOCK_ALL_END(ctx, ret);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment