Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/bridge: sii902x: Set input_bus_flags in atomic_check

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: Aradhya Bhatia <a-bhatia1@ti.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230606082142.23760-7-a-bhatia1@ti.com

authored by

Aradhya Bhatia and committed by
Javier Martinez Canillas
b1c08ffc 7978ec7d

+15
+15
drivers/gpu/drm/bridge/sii902x.c
··· 494 494 return input_fmts; 495 495 } 496 496 497 + static int sii902x_bridge_atomic_check(struct drm_bridge *bridge, 498 + struct drm_bridge_state *bridge_state, 499 + struct drm_crtc_state *crtc_state, 500 + struct drm_connector_state *conn_state) 501 + { 502 + /* 503 + * There might be flags negotiation supported in future but 504 + * set the bus flags in atomic_check statically for now. 505 + */ 506 + bridge_state->input_bus_cfg.flags = bridge->timings->input_bus_flags; 507 + 508 + return 0; 509 + } 510 + 497 511 static const struct drm_bridge_funcs sii902x_bridge_funcs = { 498 512 .attach = sii902x_bridge_attach, 499 513 .mode_set = sii902x_bridge_mode_set, ··· 519 505 .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, 520 506 .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, 521 507 .atomic_get_input_bus_fmts = sii902x_bridge_atomic_get_input_bus_fmts, 508 + .atomic_check = sii902x_bridge_atomic_check, 522 509 }; 523 510 524 511 static int sii902x_mute(struct sii902x *sii902x, bool mute)