Message ID | 20220710184536.172705-2-dmitry.baryshkov@linaro.org |
---|---|
State | New |
Headers | show |
Series | drm/bridge: ti-sn65dsi86: support DRM_BRIDGE_ATTACH_NO_CONNECTOR | expand |
Hi Dmitry, On Sun, Jul 10, 2022 at 09:45:34PM +0300, Dmitry Baryshkov wrote: > Make ti-sn65dsi86 use atomic_enable / atomic_disable / atomic_pre_enable > / atomic_post_disable rather than their non-atomic versions. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> a more or less identical patch was applied to drm-misc-next the other day. See d8b599bf625d1d818fdbb322a272fd2a5ea32e38. Sam > --- > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 8cad662de9bb..01171547f638 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -752,7 +752,8 @@ ti_sn_bridge_mode_valid(struct drm_bridge *bridge, > return MODE_OK; > } > > -static void ti_sn_bridge_disable(struct drm_bridge *bridge) > +static void ti_sn_bridge_atomic_disable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > @@ -1011,7 +1012,8 @@ static int ti_sn_link_training(struct ti_sn65dsi86 *pdata, int dp_rate_idx, > return ret; > } > > -static void ti_sn_bridge_enable(struct drm_bridge *bridge) > +static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > const char *last_err_str = "No supported DP rate"; > @@ -1080,7 +1082,8 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) > VSTREAM_ENABLE); > } > > -static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) > +static void ti_sn_bridge_atomic_pre_enable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > @@ -1093,7 +1096,8 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) > usleep_range(100, 110); > } > > -static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) > +static void ti_sn_bridge_atomic_post_disable(struct drm_bridge *bridge, > + struct drm_bridge_state *old_bridge_state) > { > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > @@ -1114,10 +1118,10 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = { > .attach = ti_sn_bridge_attach, > .detach = ti_sn_bridge_detach, > .mode_valid = ti_sn_bridge_mode_valid, > - .pre_enable = ti_sn_bridge_pre_enable, > - .enable = ti_sn_bridge_enable, > - .disable = ti_sn_bridge_disable, > - .post_disable = ti_sn_bridge_post_disable, > + .atomic_pre_enable = ti_sn_bridge_atomic_pre_enable, > + .atomic_enable = ti_sn_bridge_atomic_enable, > + .atomic_disable = ti_sn_bridge_atomic_disable, > + .atomic_post_disable = ti_sn_bridge_atomic_post_disable, > }; > > static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata, > -- > 2.35.1
On Sun, 10 Jul 2022 at 22:04, Sam Ravnborg <sam@ravnborg.org> wrote: > > Hi Dmitry, > > On Sun, Jul 10, 2022 at 09:45:34PM +0300, Dmitry Baryshkov wrote: > > Make ti-sn65dsi86 use atomic_enable / atomic_disable / atomic_pre_enable > > / atomic_post_disable rather than their non-atomic versions. > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > a more or less identical patch was applied to drm-misc-next > the other day. > See d8b599bf625d1d818fdbb322a272fd2a5ea32e38. Ugh, thanks for pointing this out. > > Sam > > > --- > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 20 ++++++++++++-------- > > 1 file changed, 12 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > > index 8cad662de9bb..01171547f638 100644 > > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > > @@ -752,7 +752,8 @@ ti_sn_bridge_mode_valid(struct drm_bridge *bridge, > > return MODE_OK; > > } > > > > -static void ti_sn_bridge_disable(struct drm_bridge *bridge) > > +static void ti_sn_bridge_atomic_disable(struct drm_bridge *bridge, > > + struct drm_bridge_state *old_bridge_state) > > { > > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > > > @@ -1011,7 +1012,8 @@ static int ti_sn_link_training(struct ti_sn65dsi86 *pdata, int dp_rate_idx, > > return ret; > > } > > > > -static void ti_sn_bridge_enable(struct drm_bridge *bridge) > > +static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge, > > + struct drm_bridge_state *old_bridge_state) > > { > > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > const char *last_err_str = "No supported DP rate"; > > @@ -1080,7 +1082,8 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) > > VSTREAM_ENABLE); > > } > > > > -static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) > > +static void ti_sn_bridge_atomic_pre_enable(struct drm_bridge *bridge, > > + struct drm_bridge_state *old_bridge_state) > > { > > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > > > @@ -1093,7 +1096,8 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) > > usleep_range(100, 110); > > } > > > > -static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) > > +static void ti_sn_bridge_atomic_post_disable(struct drm_bridge *bridge, > > + struct drm_bridge_state *old_bridge_state) > > { > > struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > > > > @@ -1114,10 +1118,10 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = { > > .attach = ti_sn_bridge_attach, > > .detach = ti_sn_bridge_detach, > > .mode_valid = ti_sn_bridge_mode_valid, > > - .pre_enable = ti_sn_bridge_pre_enable, > > - .enable = ti_sn_bridge_enable, > > - .disable = ti_sn_bridge_disable, > > - .post_disable = ti_sn_bridge_post_disable, > > + .atomic_pre_enable = ti_sn_bridge_atomic_pre_enable, > > + .atomic_enable = ti_sn_bridge_atomic_enable, > > + .atomic_disable = ti_sn_bridge_atomic_disable, > > + .atomic_post_disable = ti_sn_bridge_atomic_post_disable, > > }; > > > > static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata, > > -- > > 2.35.1
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 8cad662de9bb..01171547f638 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -752,7 +752,8 @@ ti_sn_bridge_mode_valid(struct drm_bridge *bridge, return MODE_OK; } -static void ti_sn_bridge_disable(struct drm_bridge *bridge) +static void ti_sn_bridge_atomic_disable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); @@ -1011,7 +1012,8 @@ static int ti_sn_link_training(struct ti_sn65dsi86 *pdata, int dp_rate_idx, return ret; } -static void ti_sn_bridge_enable(struct drm_bridge *bridge) +static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); const char *last_err_str = "No supported DP rate"; @@ -1080,7 +1082,8 @@ static void ti_sn_bridge_enable(struct drm_bridge *bridge) VSTREAM_ENABLE); } -static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) +static void ti_sn_bridge_atomic_pre_enable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); @@ -1093,7 +1096,8 @@ static void ti_sn_bridge_pre_enable(struct drm_bridge *bridge) usleep_range(100, 110); } -static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) +static void ti_sn_bridge_atomic_post_disable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); @@ -1114,10 +1118,10 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = { .attach = ti_sn_bridge_attach, .detach = ti_sn_bridge_detach, .mode_valid = ti_sn_bridge_mode_valid, - .pre_enable = ti_sn_bridge_pre_enable, - .enable = ti_sn_bridge_enable, - .disable = ti_sn_bridge_disable, - .post_disable = ti_sn_bridge_post_disable, + .atomic_pre_enable = ti_sn_bridge_atomic_pre_enable, + .atomic_enable = ti_sn_bridge_atomic_enable, + .atomic_disable = ti_sn_bridge_atomic_disable, + .atomic_post_disable = ti_sn_bridge_atomic_post_disable, }; static void ti_sn_bridge_parse_lanes(struct ti_sn65dsi86 *pdata,
Make ti-sn65dsi86 use atomic_enable / atomic_disable / atomic_pre_enable / atomic_post_disable rather than their non-atomic versions. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-)