drm/panel: Add prepare_upstream_first flag to drm_panel

Mapping to the drm_bridge flag pre_enable_upstream_first,
add a new flag prepare_upstream_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>
This commit is contained in:
Dave Stevenson
2022-02-23 15:36:56 +00:00
committed by Dom Cobley
parent 0378307fb0
commit 6e37e20992
2 changed files with 13 additions and 0 deletions

View File

@@ -225,6 +225,9 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES; panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
panel_bridge->bridge.type = connector_type; panel_bridge->bridge.type = connector_type;
panel_bridge->bridge.pre_enable_upstream_first =
panel->prepare_upstream_first;
drm_bridge_add(&panel_bridge->bridge); drm_bridge_add(&panel_bridge->bridge);
return &panel_bridge->bridge; return &panel_bridge->bridge;

View File

@@ -179,6 +179,16 @@ struct drm_panel {
* Panel entry in registry. * Panel entry in registry.
*/ */
struct list_head list; struct list_head list;
/**
* @prepare_upstream_first:
*
* The upstream 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_upstream_first;
}; };
void drm_panel_init(struct drm_panel *panel, struct device *dev, void drm_panel_init(struct drm_panel *panel, struct device *dev,