drm/panel: Add prepare_prev_first flag to drm_panel

Mapping to the drm_bridge flag pre_enable_prev_first,
add a new flag prepare_prev_first to drm_panel to allow
the panel driver to request that the upstream bridge should
be pre_enabled before the panel prepare.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20221205173328.1395350-6-dave.stevenson@raspberrypi.com
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
Dave Stevenson 2022-12-05 17:33:27 +00:00 committed by Maxime Ripard
parent 4fb912e5e1
commit 5ea6b17027
No known key found for this signature in database
GPG Key ID: E3EF0D6F671851C5
2 changed files with 12 additions and 0 deletions

View File

@ -364,6 +364,8 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev,
devres_free(ptr);
}
bridge->pre_enable_prev_first = panel->prepare_prev_first;
return bridge;
}
EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed);

View File

@ -188,6 +188,16 @@ struct drm_panel {
* Panel entry in registry.
*/
struct list_head list;
/**
* @prepare_prev_first:
*
* The previous controller should be prepared first, before the prepare
* for the panel is called. This is largely required for DSI panels
* where the DSI host controller should be initialised to LP-11 before
* the panel is powered up.
*/
bool prepare_prev_first;
};
void drm_panel_init(struct drm_panel *panel, struct device *dev,