mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	drm/atomic-helper: Remove the backoff hack from set_config
Another one bites the dust. Again let's not forget to remove the temporary hidden acquire_ctx assignment, now that we pass this all around explicitly it can go away again. Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170322215058.8671-20-daniel.vetter@ffwll.ch
This commit is contained in:
		
							parent
							
								
									a4eff9aa6d
								
							
						
					
					
						commit
						38b6441e4e
					
				
					 2 changed files with 2 additions and 20 deletions
				
			
		|  | @ -2290,32 +2290,15 @@ int drm_atomic_helper_set_config(struct drm_mode_set *set, | |||
| 		return -ENOMEM; | ||||
| 
 | ||||
| 	state->legacy_set_config = true; | ||||
| 	state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc); | ||||
| retry: | ||||
| 	state->acquire_ctx = ctx; | ||||
| 	ret = __drm_atomic_helper_set_config(set, state); | ||||
| 	if (ret != 0) | ||||
| 		goto fail; | ||||
| 		return ret; | ||||
| 
 | ||||
| 	ret = drm_atomic_commit(state); | ||||
| fail: | ||||
| 	if (ret == -EDEADLK) | ||||
| 		goto backoff; | ||||
| 
 | ||||
| 	drm_atomic_state_put(state); | ||||
| 	return ret; | ||||
| 
 | ||||
| backoff: | ||||
| 	drm_atomic_state_clear(state); | ||||
| 	drm_atomic_legacy_backoff(state); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Someone might have exchanged the framebuffer while we dropped locks | ||||
| 	 * in the backoff code. We need to fix up the fb refcount tracking the | ||||
| 	 * core does for us. | ||||
| 	 */ | ||||
| 	crtc->primary->old_fb = crtc->primary->fb; | ||||
| 
 | ||||
| 	goto retry; | ||||
| } | ||||
| EXPORT_SYMBOL(drm_atomic_helper_set_config); | ||||
| 
 | ||||
|  |  | |||
|  | @ -581,7 +581,6 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data, | |||
| 	ret = drm_modeset_lock_all_ctx(crtc->dev, &ctx); | ||||
| 	if (ret) | ||||
| 		goto out; | ||||
| 	dev->mode_config.acquire_ctx = &ctx; | ||||
| 	if (crtc_req->mode_valid) { | ||||
| 		/* If we have a mode we need a framebuffer. */ | ||||
| 		/* If we pass -1, set the mode with the currently bound fb */ | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Daniel Vetter
						Daniel Vetter