mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
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: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180525185045.29689-7-ville.syrjala@linux.intel.com Reviewed-by: Sinclair Yeh <syeh@vmware.com>
This commit is contained in:
parent
0d45d79de2
commit
93b21226bb
@ -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)
|
||||
{
|
||||
struct drm_crtc *crtc = set->crtc;
|
||||
struct drm_framebuffer *fb;
|
||||
struct drm_crtc *tmp;
|
||||
struct drm_modeset_acquire_ctx *ctx;
|
||||
struct drm_device *dev = set->crtc->dev;
|
||||
int ret;
|
||||
@ -448,29 +446,7 @@ static int vmwgfx_set_config_internal(struct drm_mode_set *set)
|
||||
ctx = dev->mode_config.acquire_ctx;
|
||||
|
||||
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);
|
||||
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) {
|
||||
dev->mode_config.acquire_ctx = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user