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

From: Aaro Koskinen
Date: Sat Mar 19 2022 - 17:21:38 EST


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
[ 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.