Re: [PATCH 01/21] drm/amdgpu: Remove default best_encoder hook from DC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2018-10-04 04:24 PM, Daniel Vetter wrote:
> For atomic driver this is the default, no need to reimplement it. We
> still need to keep the copypasta for not-atomic drivers though, since
> no one polished the legacy crtc helpers as much as the atomic ones.
> 
> v2: amdgpu uses ->best_encoder internally, give it a local copy. It
> might be a good idea to merge the connector and encoder into one
> amdgpu_dm_sink structure, that might match DC internals better. At
> least for non-DPMST outputs. Kudos to Ville for spotting this.
> 
> v3: Rebase onto a487411a6481 ("drm/amd/display: Use DRM helper for
> best_encoder").
> 
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
> Cc: Alex Deucher <alexander.deucher@xxxxxxx>
> Cc: Harry Wentland <harry.wentland@xxxxxxx>
> Cc: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx>
> Cc: Tony Cheng <Tony.Cheng@xxxxxxx>
> Cc: "Leo (Sunpeng) Li" <sunpeng.li@xxxxxxx>
> Cc: Shirish S <shirish.s@xxxxxxx>

Acked-by: Harry Wentland <harry.wentland@xxxxxxx>

Harry

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 6a2342d72742..107e70658238 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -3189,7 +3189,6 @@ amdgpu_dm_connector_helper_funcs = {
>  	 */
>  	.get_modes = get_modes,
>  	.mode_valid = amdgpu_dm_connector_mode_valid,
> -	.best_encoder = drm_atomic_helper_best_encoder
>  };
>  
>  static void dm_crtc_helper_disable(struct drm_crtc *crtc)
> @@ -3592,14 +3591,17 @@ static int to_drm_connector_type(enum signal_type st)
>  	}
>  }
>  
> +static struct drm_encoder *amdgpu_dm_connector_to_encoder(struct drm_connector *connector)
> +{
> +	return drm_encoder_find(connector->dev, NULL, connector->encoder_ids[0]);
> +}
> +
>  static void amdgpu_dm_get_native_mode(struct drm_connector *connector)
>  {
> -	const struct drm_connector_helper_funcs *helper =
> -		connector->helper_private;
>  	struct drm_encoder *encoder;
>  	struct amdgpu_encoder *amdgpu_encoder;
>  
> -	encoder = helper->best_encoder(connector);
> +	encoder = amdgpu_dm_connector_to_encoder(connector);
>  
>  	if (encoder == NULL)
>  		return;
> @@ -3726,14 +3728,12 @@ static void amdgpu_dm_connector_ddc_get_modes(struct drm_connector *connector,
>  
>  static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
>  {
> -	const struct drm_connector_helper_funcs *helper =
> -			connector->helper_private;
>  	struct amdgpu_dm_connector *amdgpu_dm_connector =
>  			to_amdgpu_dm_connector(connector);
>  	struct drm_encoder *encoder;
>  	struct edid *edid = amdgpu_dm_connector->edid;
>  
> -	encoder = helper->best_encoder(connector);
> +	encoder = amdgpu_dm_connector_to_encoder(connector);
>  
>  	if (!edid || !drm_edid_is_valid(edid)) {
>  		amdgpu_dm_connector->num_modes =
> 
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux