Re: [RFC RFT PATCH 0/4] ARM: OMAP1: clock: Convert to CCF

From: Janusz Krzysztofik
Date: Sat Mar 19 2022 - 20:15:34 EST


Hi Aaro,

On Saturday, 19 March 2022 22:21:19 CET Aaro Koskinen wrote:
> Hi,
>
> On Sat, Mar 19, 2022 at 08:49:55PM +0200, Aaro Koskinen wrote:
> > On Sat, Mar 12, 2022 at 10:14:31AM +0200, Tony Lindgren wrote:
> > > * Janusz Krzysztofik <jmkrzyszt@xxxxxxxxx> [220310 23:32]:
> > > > The main motivation behind this series is planned resurection of OMAP1
> > > > camera driver. Since OMAP1 clock internals have never been visible to
> > > > drivers, that driver used to use v4l2-clk to expose a pixel clock for a
> > > > sensor. The v4l2-clk code has been recently depreciated and removed from
> > > > the media subtree, hence the need for an alternative solution.
> > >
> > > Nice :) This will also help Arnd with building multi-v5 kernels.
> >
> > This will need more testing still... The patch 4 is breaking at least 770
> > (the display/fb doesn't work anymore).
>
> Patches 1-3 are OK on Nokia 770, OSK and Palm TE.
>
> Patch 4 breaks 770, but OSK and Palm TE are OK.
>
> Below is the problem with 770. As a quick hack, I tried replacing
> all clk_enable/disable()s with prepare_enable/disable_unprepare()s in
> drivers/video/fbdev/omap/hwa742.c and drivers/video/fbdev/omap/sossi.c
> and that seems to help...
>
> [ 0.374389] omapfb: lph8923 rev 92 LCD detected, 16 data lines
> [ 0.374816] omapfb: configured for panel lph8923
> [ 0.383789] omapfb: LCDC initialized
> [ 0.384216] ------------[ cut here ]------------
> [ 0.384368] WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:1012 clk_core_enable+0x94/0xb0
> [ 0.384613] Enabling unprepared ck_sossi

Yes, I've identified still a few drivers that need to be updated, I'll
prepare v2 of PATCH 3/4 and resubmit.

Thanks,
Janusz

> [ 0.384704] Modules linked in:
> [ 0.384796] CPU: 0 PID: 1 Comm: swapper Not tainted 5.17.0-rc8-770-los_381206+-00072-gb2406fc1ddd4 #2
> [ 0.385009] Hardware name: Nokia 770
> [ 0.385101] unwind_backtrace from show_stack+0x10/0x14
> [ 0.385314] show_stack from __warn+0xac/0xe4
> [ 0.385528] __warn from warn_slowpath_fmt+0x90/0xc8
> [ 0.385711] warn_slowpath_fmt from clk_core_enable+0x94/0xb0
> [ 0.385894] clk_core_enable from clk_core_enable_lock+0x18/0x2c
> [ 0.386077] clk_core_enable_lock from sossi_init+0xa0/0x258
> [ 0.386260] sossi_init from hwa742_init+0x90/0x538
> [ 0.386474] hwa742_init from omapfb_do_probe+0x200/0x68c
> [ 0.386657] omapfb_do_probe from mipid_spi_probe+0x1b4/0x230
> [ 0.386840] mipid_spi_probe from spi_probe+0x48/0x6c
> [ 0.387054] spi_probe from really_probe+0xac/0x2f0
> [ 0.387237] really_probe from __driver_probe_device+0x80/0xe4
> [ 0.387390] __driver_probe_device from driver_probe_device+0x30/0xd8
> [ 0.387573] driver_probe_device from __driver_attach+0x70/0xf0
> [ 0.387756] __driver_attach from bus_for_each_dev+0x74/0xc0
> [ 0.387908] bus_for_each_dev from bus_add_driver+0x14c/0x1d8
> [ 0.388061] bus_add_driver from driver_register+0x74/0x108
> [ 0.388244] driver_register from do_one_initcall+0x4c/0x1cc
> [ 0.388427] do_one_initcall from kernel_init_freeable+0x170/0x1f4
> [ 0.388641] kernel_init_freeable from kernel_init+0x10/0x108
> [ 0.388824] kernel_init from ret_from_fork+0x14/0x2c
> [ 0.388977] Exception stack(0xc0c41fb0 to 0xc0c41ff8)
> [ 0.389099] 1fa0: 00000000 00000000 00000000 00000000
> [ 0.389282] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 0.389434] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
> [ 0.389556] ---[ end trace 0000000000000000 ]---
> [ 0.389709] omapfb omapfb: invalid SoSSI sync pattern: 00000000, 00000000
> [ 0.389831] ------------[ cut here ]------------
> [ 0.389923] WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:953 clk_core_disable+0xb4/0xcc
> [ 0.390136] ck_sossi already disabled
> [ 0.390228] Modules linked in:
> [ 0.390319] CPU: 0 PID: 1 Comm: swapper Tainted: G W 5.17.0-rc8-770-los_381206+-00072-gb2406fc1ddd4 #2
> [ 0.390502] Hardware name: Nokia 770
> [ 0.390594] unwind_backtrace from show_stack+0x10/0x14
> [ 0.390808] show_stack from __warn+0xac/0xe4
> [ 0.391021] __warn from warn_slowpath_fmt+0x90/0xc8
> [ 0.391204] warn_slowpath_fmt from clk_core_disable+0xb4/0xcc
> [ 0.391387] clk_core_disable from clk_core_disable_lock+0x18/0x24
> [ 0.391540] clk_core_disable_lock from sossi_init+0x1bc/0x258
> [ 0.391754] sossi_init from hwa742_init+0x90/0x538
> [ 0.391937] hwa742_init from omapfb_do_probe+0x200/0x68c
> [ 0.392120] omapfb_do_probe from mipid_spi_probe+0x1b4/0x230
> [ 0.392333] mipid_spi_probe from spi_probe+0x48/0x6c
> [ 0.392547] spi_probe from really_probe+0xac/0x2f0
> [ 0.392730] really_probe from __driver_probe_device+0x80/0xe4
> [ 0.392883] __driver_probe_device from driver_probe_device+0x30/0xd8
> [ 0.393066] driver_probe_device from __driver_attach+0x70/0xf0
> [ 0.393249] __driver_attach from bus_for_each_dev+0x74/0xc0
> [ 0.393402] bus_for_each_dev from bus_add_driver+0x14c/0x1d8
> [ 0.393585] bus_add_driver from driver_register+0x74/0x108
> [ 0.393737] driver_register from do_one_initcall+0x4c/0x1cc
> [ 0.393920] do_one_initcall from kernel_init_freeable+0x170/0x1f4
> [ 0.394134] kernel_init_freeable from kernel_init+0x10/0x108
> [ 0.394317] kernel_init from ret_from_fork+0x14/0x2c
> [ 0.394470] Exception stack(0xc0c41fb0 to 0xc0c41ff8)
> [ 0.394592] 1fa0: 00000000 00000000 00000000 00000000
> [ 0.394775] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 0.394958] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
> [ 0.395080] ---[ end trace 0000000000000000 ]---
> [ 0.417907] omapfb omapfb: controller initialization failed (-19)
>
> A.
>