mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	drm/atomic-helper: Unexport drm_atomic_helper_best_encoder
It's the default. The exported version was kinda a transition state, before we made this the default. To stop new atomic drivers from using it (instead of just relying on the default) let's unexport it. v2: rename the default implementation to a more fitting name and add a comment (Laurent) Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Gustavo Padovan <gustavo@padovan.org> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: David Airlie <airlied@linux.ie> Cc: VMware Graphics <linux-graphics-maintainer@vmware.com> Cc: Sinclair Yeh <syeh@vmware.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Hans Verkuil <hverkuil@xs4all.nl> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Russell King <rmk+kernel@armlinux.org.uk> Cc: Jernej Skrabec <jernej.skrabec@siol.net> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Pierre-Hugues Husson <phh@phh.me> Cc: Fabio Estevam <fabio.estevam@nxp.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-3-daniel.vetter@ffwll.ch
This commit is contained in:
		
							parent
							
								
									2b4c1c0512
								
							
						
					
					
						commit
						297e30b5d9
					
				
					 6 changed files with 13 additions and 25 deletions
				
			
		|  | @ -1957,7 +1957,6 @@ static const struct drm_connector_funcs dw_hdmi_connector_funcs = { | |||
| 
 | ||||
| static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = { | ||||
| 	.get_modes = dw_hdmi_connector_get_modes, | ||||
| 	.best_encoder = drm_atomic_helper_best_encoder, | ||||
| }; | ||||
| 
 | ||||
| static int dw_hdmi_bridge_attach(struct drm_bridge *bridge) | ||||
|  |  | |||
|  | @ -92,6 +92,17 @@ drm_atomic_helper_plane_changed(struct drm_atomic_state *state, | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * For connectors that support multiple encoders, either the | ||||
|  * .atomic_best_encoder() or .best_encoder() operation must be implemented. | ||||
|  */ | ||||
| static struct drm_encoder * | ||||
| pick_single_encoder_for_connector(struct drm_connector *connector) | ||||
| { | ||||
| 	WARN_ON(connector->encoder_ids[1]); | ||||
| 	return drm_encoder_find(connector->dev, NULL, connector->encoder_ids[0]); | ||||
| } | ||||
| 
 | ||||
| static int handle_conflicting_encoders(struct drm_atomic_state *state, | ||||
| 				       bool disable_conflicting_encoders) | ||||
| { | ||||
|  | @ -119,7 +130,7 @@ static int handle_conflicting_encoders(struct drm_atomic_state *state, | |||
| 		else if (funcs->best_encoder) | ||||
| 			new_encoder = funcs->best_encoder(connector); | ||||
| 		else | ||||
| 			new_encoder = drm_atomic_helper_best_encoder(connector); | ||||
| 			new_encoder = pick_single_encoder_for_connector(connector); | ||||
| 
 | ||||
| 		if (new_encoder) { | ||||
| 			if (encoder_mask & drm_encoder_mask(new_encoder)) { | ||||
|  | @ -316,7 +327,7 @@ update_connector_routing(struct drm_atomic_state *state, | |||
| 	else if (funcs->best_encoder) | ||||
| 		new_encoder = funcs->best_encoder(connector); | ||||
| 	else | ||||
| 		new_encoder = drm_atomic_helper_best_encoder(connector); | ||||
| 		new_encoder = pick_single_encoder_for_connector(connector); | ||||
| 
 | ||||
| 	if (!new_encoder) { | ||||
| 		DRM_DEBUG_ATOMIC("No suitable encoder found for [CONNECTOR:%d:%s]\n", | ||||
|  | @ -3389,23 +3400,6 @@ int drm_atomic_helper_page_flip_target(struct drm_crtc *crtc, | |||
| } | ||||
| EXPORT_SYMBOL(drm_atomic_helper_page_flip_target); | ||||
| 
 | ||||
| /**
 | ||||
|  * drm_atomic_helper_best_encoder - Helper for | ||||
|  * 	&drm_connector_helper_funcs.best_encoder callback | ||||
|  * @connector: Connector control structure | ||||
|  * | ||||
|  * This is a &drm_connector_helper_funcs.best_encoder callback helper for | ||||
|  * connectors that support exactly 1 encoder, statically determined at driver | ||||
|  * init time. | ||||
|  */ | ||||
| struct drm_encoder * | ||||
| drm_atomic_helper_best_encoder(struct drm_connector *connector) | ||||
| { | ||||
| 	WARN_ON(connector->encoder_ids[1]); | ||||
| 	return drm_encoder_find(connector->dev, NULL, connector->encoder_ids[0]); | ||||
| } | ||||
| EXPORT_SYMBOL(drm_atomic_helper_best_encoder); | ||||
| 
 | ||||
| /**
 | ||||
|  * DOC: atomic state reset and initialization | ||||
|  * | ||||
|  |  | |||
|  | @ -274,7 +274,6 @@ static const struct drm_connector_funcs vmw_legacy_connector_funcs = { | |||
| 
 | ||||
| static const struct | ||||
| drm_connector_helper_funcs vmw_ldu_connector_helper_funcs = { | ||||
| 	.best_encoder = drm_atomic_helper_best_encoder, | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  |  | |||
|  | @ -389,7 +389,6 @@ static const struct drm_connector_funcs vmw_sou_connector_funcs = { | |||
| 
 | ||||
| static const struct | ||||
| drm_connector_helper_funcs vmw_sou_connector_helper_funcs = { | ||||
| 	.best_encoder = drm_atomic_helper_best_encoder, | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1037,7 +1037,6 @@ static const struct drm_connector_funcs vmw_stdu_connector_funcs = { | |||
| 
 | ||||
| static const struct | ||||
| drm_connector_helper_funcs vmw_stdu_connector_helper_funcs = { | ||||
| 	.best_encoder = drm_atomic_helper_best_encoder, | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -144,8 +144,6 @@ int drm_atomic_helper_page_flip_target( | |||
| 				uint32_t flags, | ||||
| 				uint32_t target, | ||||
| 				struct drm_modeset_acquire_ctx *ctx); | ||||
| struct drm_encoder * | ||||
| drm_atomic_helper_best_encoder(struct drm_connector *connector); | ||||
| 
 | ||||
| /* default implementations for state handling */ | ||||
| void drm_atomic_helper_crtc_reset(struct drm_crtc *crtc); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Daniel Vetter
						Daniel Vetter