In an effort to make the existing compatibles more usable, we are
removing the max_pclk_khz form dispc_features structure and doing the
correspondig checks using "curr_max_pclk[]".
Changes are fully backwards compatible.
After integration of OLDI support[0], we need additional patches in
oldi to identify the VP that has OLDI. We have to do this since
OLDI driver owns the VP clock (its serial clock) and we cannot perform
clock operations on those VP clock from tidss driver. This issue was
also reported upstream when DSI fixes[1] had some clock related calls
in tidss driver. When "clk_round_rate()" is called, ideally it should
have gone to "sci_clk_determine_rate()" to query DM but it doesn't
since
clock is owned by OLDI not tidss.
So add a member is_oldi_vp[] in tidss_device structure to identify this
and avoid performing clock operations for VP if it has OLDI panel.
For the same checks in OLDI driver, atomic_check() hook is added to its
bridge_funcs.
In the atomic_check() chain, first the bridge_atomic_check() is called
and then crtc_atomic_check() is called. So mode clock is first checked
in oldi driver and then skipped in tidss driver.
Had the tidss_oldi structure been exposed to tidss_dispc.c, we could
have directly checked VP type in dispc but since the structure is
defined
in tidss_oldi.c , we have to add additional member to tidss_device
structure.
[0]:
https://lore.kernel.org/all/20250528122544.817829-1-aradhya.bha...@linux.dev/
[1]: https://lore.kernel.org/all/da6tt575z82d.3mpk8hg5gr...@kernel.org/
For this series:
Tested-by: Michael Walle <mwa...@kernel.org> # on am67a
-michael