Commit 93b21226 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/vmwgfx: Stop messing about with plane->fb/old_fb/crtc

plane->fb/old_fb/crtc should no longer be used by atomic
drivers. Stop messing about with them.

Cc: Deepak Rawat <drawat@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180525185045.29689-7-ville.syrjala@linux.intel.comReviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
parent 0d45d79d
...@@ -439,8 +439,6 @@ static int vmw_fb_compute_depth(struct fb_var_screeninfo *var, ...@@ -439,8 +439,6 @@ static int vmw_fb_compute_depth(struct fb_var_screeninfo *var,
static int vmwgfx_set_config_internal(struct drm_mode_set *set) static int vmwgfx_set_config_internal(struct drm_mode_set *set)
{ {
struct drm_crtc *crtc = set->crtc; struct drm_crtc *crtc = set->crtc;
struct drm_framebuffer *fb;
struct drm_crtc *tmp;
struct drm_modeset_acquire_ctx *ctx; struct drm_modeset_acquire_ctx *ctx;
struct drm_device *dev = set->crtc->dev; struct drm_device *dev = set->crtc->dev;
int ret; int ret;
...@@ -448,29 +446,7 @@ static int vmwgfx_set_config_internal(struct drm_mode_set *set) ...@@ -448,29 +446,7 @@ static int vmwgfx_set_config_internal(struct drm_mode_set *set)
ctx = dev->mode_config.acquire_ctx; ctx = dev->mode_config.acquire_ctx;
restart: restart:
/*
* NOTE: ->set_config can also disable other crtcs (if we steal all
* connectors from it), hence we need to refcount the fbs across all
* crtcs. Atomic modeset will have saner semantics ...
*/
drm_for_each_crtc(tmp, dev)
tmp->primary->old_fb = tmp->primary->fb;
fb = set->fb;
ret = crtc->funcs->set_config(set, ctx); ret = crtc->funcs->set_config(set, ctx);
if (ret == 0) {
crtc->primary->crtc = crtc;
crtc->primary->fb = fb;
}
drm_for_each_crtc(tmp, dev) {
if (tmp->primary->fb)
drm_framebuffer_get(tmp->primary->fb);
if (tmp->primary->old_fb)
drm_framebuffer_put(tmp->primary->old_fb);
tmp->primary->old_fb = NULL;
}
if (ret == -EDEADLK) { if (ret == -EDEADLK) {
dev->mode_config.acquire_ctx = NULL; dev->mode_config.acquire_ctx = NULL;
......
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