[Intel-gfx] [RFC][PATCH 04/11] drm: Split the display info into static and dynamic parts

Archit Taneja architt at codeaurora.org
Wed Feb 28 04:58:39 UTC 2018



On Tuesday 27 February 2018 06:26 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Currently we have a mix of static and dynamic information stored in
> the display info structure. That makes it rather difficult to repopulate
> the dynamic parts when a new EDID appears. Let's make life easier by
> splitting the structure up into static and dynamic parts.
> 
> The static part will consist of subpixel_order, panel_orientation,
> and bus_formats.
> 
> Actually I'm not sure where bus_formats & co. fit in all this. For some
> drivers those seem to be static, even though they might fill them out
> from .get_modes(). For other drivers this stuff even gets frobbed at
> runtime, making it more some kind of a bastard encoder/connector state.
> I'll just stick it into the static side so that the behaviour doesn't
> change when I start clear out the entire dynamic state with memset().
>

[...]

>   
> diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
> index b1ab4ab09532..abd0bce9c31e 100644
> --- a/drivers/gpu/drm/bridge/sii902x.c
> +++ b/drivers/gpu/drm/bridge/sii902x.c
> @@ -174,7 +174,7 @@ static int sii902x_get_modes(struct drm_connector *connector)
>   		kfree(edid);
>   	}
>   
> -	ret = drm_display_info_set_bus_formats(&connector->display_info,
> +	ret = drm_display_info_set_bus_formats(&connector->static_display_info,
>   					       &bus_format, 1);
>   	if (ret)
>   		return ret;
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 08ab7d6aea65..042ded9ca749 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1193,7 +1193,7 @@ static int tc_bridge_attach(struct drm_bridge *bridge)
>   	if (tc->panel)
>   		drm_panel_attach(tc->panel, &tc->connector);
>   
> -	drm_display_info_set_bus_formats(&tc->connector.display_info,
> +	drm_display_info_set_bus_formats(&tc->connector.static_display_info,
>   					 &bus_format, 1);
>   	drm_mode_connector_attach_encoder(&tc->connector, tc->bridge.encoder);
>   

The sii902x driver sets the bus_formats in get_modes, but it's a fixed 
value and we may as well do it in bridge's attach op.

For the bridge drivers:

Reviewed-by: Archit Taneja <architt at codeaurora.org>

Thanks,
Archit



More information about the Intel-gfx mailing list