Message ID | 20230509093036.3303-3-a-bhatia1@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/tidss: Use new connector model for tidss | expand |
On 09/05/2023 11:30, Aradhya Bhatia wrote: > From: Nikhil Devshatwar <nikhil.nd@ti.com> > > input_bus_flags are specified in drm_bridge_timings (legacy) as well > as drm_bridge_state->input_bus_cfg.flags > > The flags from the timings will be deprecated. Bridges are supposed > to validate and set the bridge state flags from atomic_check. > > Implement atomic_check hook for the same. > > Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> > --- > > Notes: > changes from v4: > * fix a warning Reported-by: kernel test robot <lkp@intel.com> > > changes from v5: > * Moved the return statement here from patch 4 (where it was added > by mistake). > > drivers/gpu/drm/bridge/ti-tfp410.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c > index 7dacc7e03eee..631ae8f11a77 100644 > --- a/drivers/gpu/drm/bridge/ti-tfp410.c > +++ b/drivers/gpu/drm/bridge/ti-tfp410.c > @@ -228,6 +228,21 @@ static u32 *tfp410_get_input_bus_fmts(struct drm_bridge *bridge, > return input_fmts; > } > > +static int tfp410_atomic_check(struct drm_bridge *bridge, > + struct drm_bridge_state *bridge_state, > + struct drm_crtc_state *crtc_state, > + struct drm_connector_state *conn_state) > +{ > + struct tfp410 *dvi = drm_bridge_to_tfp410(bridge); > + > + /* > + * There might be flags negotiation supported in future. > + * Set the bus flags in atomic_check statically for now. > + */ > + bridge_state->input_bus_cfg.flags = dvi->timings.input_bus_flags; A newline here before return would look better > + return 0; > +} > + > static const struct drm_bridge_funcs tfp410_bridge_funcs = { > .attach = tfp410_attach, > .detach = tfp410_detach, > @@ -238,6 +253,7 @@ static const struct drm_bridge_funcs tfp410_bridge_funcs = { > .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, > .atomic_get_input_bus_fmts = tfp410_get_input_bus_fmts, > + .atomic_check = tfp410_atomic_check, > }; > > static const struct drm_bridge_timings tfp410_default_timings = { With that fixed: Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Hi Neil, On 16-May-23 12:55, Neil Armstrong wrote: > On 09/05/2023 11:30, Aradhya Bhatia wrote: >> From: Nikhil Devshatwar <nikhil.nd@ti.com> >> >> input_bus_flags are specified in drm_bridge_timings (legacy) as well >> as drm_bridge_state->input_bus_cfg.flags >> >> The flags from the timings will be deprecated. Bridges are supposed >> to validate and set the bridge state flags from atomic_check. >> >> Implement atomic_check hook for the same. >> >> Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> >> --- >> >> Notes: >> changes from v4: >> * fix a warning Reported-by: kernel test robot <lkp@intel.com> >> >> changes from v5: >> * Moved the return statement here from patch 4 (where it was added >> by mistake). >> >> drivers/gpu/drm/bridge/ti-tfp410.c | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c >> b/drivers/gpu/drm/bridge/ti-tfp410.c >> index 7dacc7e03eee..631ae8f11a77 100644 >> --- a/drivers/gpu/drm/bridge/ti-tfp410.c >> +++ b/drivers/gpu/drm/bridge/ti-tfp410.c >> @@ -228,6 +228,21 @@ static u32 *tfp410_get_input_bus_fmts(struct >> drm_bridge *bridge, >> return input_fmts; >> } >> +static int tfp410_atomic_check(struct drm_bridge *bridge, >> + struct drm_bridge_state *bridge_state, >> + struct drm_crtc_state *crtc_state, >> + struct drm_connector_state *conn_state) >> +{ >> + struct tfp410 *dvi = drm_bridge_to_tfp410(bridge); >> + >> + /* >> + * There might be flags negotiation supported in future. >> + * Set the bus flags in atomic_check statically for now. >> + */ >> + bridge_state->input_bus_cfg.flags = dvi->timings.input_bus_flags; > > A newline here before return would look better Yup! Will add one. > >> + return 0; >> +} >> + >> static const struct drm_bridge_funcs tfp410_bridge_funcs = { >> .attach = tfp410_attach, >> .detach = tfp410_detach, >> @@ -238,6 +253,7 @@ static const struct drm_bridge_funcs >> tfp410_bridge_funcs = { >> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, >> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, >> .atomic_get_input_bus_fmts = tfp410_get_input_bus_fmts, >> + .atomic_check = tfp410_atomic_check, >> }; >> static const struct drm_bridge_timings tfp410_default_timings = { > > With that fixed: > > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Thank you! Regards Aradhya
diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c index 7dacc7e03eee..631ae8f11a77 100644 --- a/drivers/gpu/drm/bridge/ti-tfp410.c +++ b/drivers/gpu/drm/bridge/ti-tfp410.c @@ -228,6 +228,21 @@ static u32 *tfp410_get_input_bus_fmts(struct drm_bridge *bridge, return input_fmts; } +static int tfp410_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + struct tfp410 *dvi = drm_bridge_to_tfp410(bridge); + + /* + * There might be flags negotiation supported in future. + * Set the bus flags in atomic_check statically for now. + */ + bridge_state->input_bus_cfg.flags = dvi->timings.input_bus_flags; + return 0; +} + static const struct drm_bridge_funcs tfp410_bridge_funcs = { .attach = tfp410_attach, .detach = tfp410_detach, @@ -238,6 +253,7 @@ static const struct drm_bridge_funcs tfp410_bridge_funcs = { .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_get_input_bus_fmts = tfp410_get_input_bus_fmts, + .atomic_check = tfp410_atomic_check, }; static const struct drm_bridge_timings tfp410_default_timings = {