Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues: - [High] Modifying driver-private state in atomic check callback violates atomic modesetting semantics. -- commit 3406ad4360f9e6a4eda4b2203c1f6400e5e7ab77 Author: Tomi Valkeinen <[email protected]> drm/tidss: oldi: Fix OLDI signal polarities This commit fixes OLDI signal polarities by removing drm_bridge_timings and properly setting input_bus_cfg.flags in tidss_oldi_atomic_check(), as well as setting OLDI_DEPOL based on the DE bus flag. > diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c > b/drivers/gpu/drm/tidss/tidss_oldi.c > index 5eb749f495d59..624f1646fb07a 100644 > --- a/drivers/gpu/drm/tidss/tidss_oldi.c > +++ b/drivers/gpu/drm/tidss/tidss_oldi.c [ ... ] > @@ -329,7 +352,8 @@ tidss_oldi_mode_valid(struct drm_bridge *bridge, > } > > static const struct drm_bridge_funcs tidss_oldi_bridge_funcs = { > - .attach = tidss_oldi_bridge_attach, > + .attach = tidss_oldi_bridge_attach, > + .atomic_check = tidss_oldi_atomic_check, > .atomic_pre_enable = tidss_oldi_atomic_pre_enable, > .atomic_post_disable = tidss_oldi_atomic_post_disable, > .atomic_get_input_bus_fmts = tidss_oldi_atomic_get_input_bus_fmts, [Severity: High] This isn't a bug introduced by this patch, but does the implementation of tidss_oldi_atomic_get_input_bus_fmts() violate atomic modesetting semantics by modifying driver-private state during the check phase? In drivers/gpu/drm/tidss/tidss_oldi.c:tidss_oldi_atomic_get_input_bus_fmts(): input_fmts[0] = oldi_bus_formats[i].input_bus_fmt; oldi->bus_format = &oldi_bus_formats[i]; A TEST_ONLY atomic commit or concurrent commits can alter the global driver-private state (oldi->bus_format). This could cause a subsequent real commit to program the hardware with an incorrect bus format, leading to display corruption. Should this configuration decision be stored in the drm_bridge_state object instead of the driver-private tidss_oldi structure? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=8
