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:
parent
4fb912e5e1
commit
5ea6b17027
|
@ -364,6 +364,8 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev,
|
||||||
devres_free(ptr);
|
devres_free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bridge->pre_enable_prev_first = panel->prepare_prev_first;
|
||||||
|
|
||||||
return bridge;
|
return bridge;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed);
|
EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed);
|
||||||
|
|
|
@ -188,6 +188,16 @@ struct drm_panel {
|
||||||
* Panel entry in registry.
|
* Panel entry in registry.
|
||||||
*/
|
*/
|
||||||
struct list_head list;
|
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,
|
void drm_panel_init(struct drm_panel *panel, struct device *dev,
|
||||||
|
|
Loading…
Reference in New Issue