]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - drivers/gpu/drm/ast/ast_mode.c
Merge drm/drm-next into drm-misc-next
[thirdparty/linux.git] / drivers / gpu / drm / ast / ast_mode.c
index d349c721501c6cb5ee890b5c2906479e0b865daf..6caa6ebfeaa8d96c6f3947c2de406065c9f247ca 100644 (file)
@@ -687,17 +687,6 @@ static void ast_encoder_destroy(struct drm_encoder *encoder)
        kfree(encoder);
 }
 
-
-static struct drm_encoder *ast_best_single_encoder(struct drm_connector *connector)
-{
-       int enc_id = connector->encoder_ids[0];
-       /* pick the encoder ids */
-       if (enc_id)
-               return drm_encoder_find(connector->dev, NULL, enc_id);
-       return NULL;
-}
-
-
 static const struct drm_encoder_funcs ast_enc_funcs = {
        .destroy = ast_encoder_destroy,
 };
@@ -847,7 +836,6 @@ static void ast_connector_destroy(struct drm_connector *connector)
 static const struct drm_connector_helper_funcs ast_connector_helper_funcs = {
        .mode_valid = ast_mode_valid,
        .get_modes = ast_get_modes,
-       .best_encoder = ast_best_single_encoder,
 };
 
 static const struct drm_connector_funcs ast_connector_funcs = {
@@ -1179,26 +1167,22 @@ static int ast_cursor_set(struct drm_crtc *crtc,
                return -ENOENT;
        }
        gbo = drm_gem_vram_of_gem(obj);
-
-       ret = drm_gem_vram_pin(gbo, 0);
-       if (ret)
-               goto err_drm_gem_object_put_unlocked;
-       src = drm_gem_vram_kmap(gbo, true, NULL);
+       src = drm_gem_vram_vmap(gbo);
        if (IS_ERR(src)) {
                ret = PTR_ERR(src);
-               goto err_drm_gem_vram_unpin;
+               goto err_drm_gem_object_put_unlocked;
        }
 
        dst = drm_gem_vram_kmap(drm_gem_vram_of_gem(ast->cursor_cache),
                                false, NULL);
        if (IS_ERR(dst)) {
                ret = PTR_ERR(dst);
-               goto err_drm_gem_vram_kunmap;
+               goto err_drm_gem_vram_vunmap;
        }
        dst_gpu = drm_gem_vram_offset(drm_gem_vram_of_gem(ast->cursor_cache));
        if (dst_gpu < 0) {
                ret = (int)dst_gpu;
-               goto err_drm_gem_vram_kunmap;
+               goto err_drm_gem_vram_vunmap;
        }
 
        dst += (AST_HWC_SIZE + AST_HWC_SIGNATURE_SIZE)*ast->next_cursor;
@@ -1233,16 +1217,13 @@ static int ast_cursor_set(struct drm_crtc *crtc,
 
        ast_show_cursor(crtc);
 
-       drm_gem_vram_kunmap(gbo);
-       drm_gem_vram_unpin(gbo);
+       drm_gem_vram_vunmap(gbo, src);
        drm_gem_object_put_unlocked(obj);
 
        return 0;
 
-err_drm_gem_vram_kunmap:
-       drm_gem_vram_kunmap(gbo);
-err_drm_gem_vram_unpin:
-       drm_gem_vram_unpin(gbo);
+err_drm_gem_vram_vunmap:
+       drm_gem_vram_vunmap(gbo, src);
 err_drm_gem_object_put_unlocked:
        drm_gem_object_put_unlocked(obj);
        return ret;