Message ID | 20180813213058.184821-5-sean@poorly.run (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: ti-sn65dsi86: Fix bridge for non always-on regulators | expand |
On 2018-08-14 03:00, Sean Paul wrote: > From: Sean Paul <seanpaul@chromium.org> > > prepare() is the old-timey way to say pre_enable(). It should be called > before modeset. This fixes an issue where the panel on cheza must have > the regulator always-on/boot-on for it to work. > > Changes in v3: > - Added to the set > > Cc: Sandeep Panda <spanda@codeaurora.org> > Signed-off-by: Sean Paul <seanpaul@chromium.org> > --- > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 501f4a81ea5ab..d2119ab546147 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -457,8 +457,6 @@ static void ti_sn_bridge_enable(struct drm_bridge > *bridge) > struct ti_sn_bridge *pdata = bridge_to_ti_sn_bridge(bridge); > unsigned int val; > > - drm_panel_prepare(pdata->panel); > - > /* DSI_A lane config */ > val = CHA_DSI_LANES(4 - pdata->dsi->lanes); > regmap_update_bits(pdata->regmap, SN_DSI_LANES_REG, > @@ -511,6 +509,8 @@ static void ti_sn_bridge_pre_enable(struct > drm_bridge *bridge) > /* in case drm_panel is connected then HPD is not supported */ > regmap_update_bits(pdata->regmap, SN_HPD_DISABLE_REG, HPD_DISABLE, > HPD_DISABLE); > + > + drm_panel_prepare(pdata->panel); > } > > static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) Reviewed-by: Sandeep Panda <spanda@codeaurora.org>
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 501f4a81ea5ab..d2119ab546147 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -457,8 +457,6 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) struct ti_sn_bridge *pdata = bridge_to_ti_sn_bridge(bridge); unsigned int val; - drm_panel_prepare(pdata->panel); - /* DSI_A lane config */ val = CHA_DSI_LANES(4 - pdata->dsi->lanes); regmap_update_bits(pdata->regmap, SN_DSI_LANES_REG, @@ -511,6 +509,8 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) /* in case drm_panel is connected then HPD is not supported */ regmap_update_bits(pdata->regmap, SN_HPD_DISABLE_REG, HPD_DISABLE, HPD_DISABLE); + + drm_panel_prepare(pdata->panel); } static void ti_sn_bridge_post_disable(struct drm_bridge *bridge)