Messages in this thread | | | Date | Tue, 5 Jul 2022 22:06:02 +0300 | Subject | Re: [PATCH v4 4/7] drm/bridge: use atomic enable/disable callbacks for panel bridge | From | Dmitry Baryshkov <> |
| |
On 05/07/2022 20:00, Vinod Polimera wrote: > Use atomic variants for panel bridge callback functions such that > certain states like self-refresh can be accessed as part of > enable/disable sequence. > > Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> > Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> --- > drivers/gpu/drm/bridge/panel.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index 0ee563e..eeb9546 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -108,28 +108,32 @@ static void panel_bridge_detach(struct drm_bridge *bridge) > drm_connector_cleanup(connector); > } > > -static void panel_bridge_pre_enable(struct drm_bridge *bridge) > +static void panel_bridge_atomic_pre_enable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); > > drm_panel_prepare(panel_bridge->panel); > } > > -static void panel_bridge_enable(struct drm_bridge *bridge) > +static void panel_bridge_atomic_enable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); > > drm_panel_enable(panel_bridge->panel); > } > > -static void panel_bridge_disable(struct drm_bridge *bridge) > +static void panel_bridge_atomic_disable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); > > drm_panel_disable(panel_bridge->panel); > } > > -static void panel_bridge_post_disable(struct drm_bridge *bridge) > +static void panel_bridge_atomic_post_disable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); > > @@ -158,10 +162,10 @@ static void panel_bridge_debugfs_init(struct drm_bridge *bridge, > static const struct drm_bridge_funcs panel_bridge_bridge_funcs = { > .attach = panel_bridge_attach, > .detach = panel_bridge_detach, > - .pre_enable = panel_bridge_pre_enable, > - .enable = panel_bridge_enable, > - .disable = panel_bridge_disable, > - .post_disable = panel_bridge_post_disable, > + .atomic_pre_enable = panel_bridge_atomic_pre_enable, > + .atomic_enable = panel_bridge_atomic_enable, > + .atomic_disable = panel_bridge_atomic_disable, > + .atomic_post_disable = panel_bridge_atomic_post_disable, > .get_modes = panel_bridge_get_modes, > .atomic_reset = drm_atomic_helper_bridge_reset, > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
-- With best wishes Dmitry
| |