RE: Problem tryhing to bring up new LCD on OMAP Logic board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I'm using 2.6.31-rc5 from Kevin's PM branch (commit ID
> 70a1f2249bbe765f78cf5e220e4e3f539b41eb7f) and I'm trying to add in LCD
> panel support for our OMAP boards.
> 
> I've cloned drivers/video/lcd_omap3evm.c, and when I call into
> omapfb_main::omapfb_register_panel() it crashes with:
> 
> <4>Platform driver 'omapfb' needs updating - please use dev_pm_ops
> omapfb_probe:1829 pdev c03f0258
> omap3logic: Registering platform driver
> <4>Platform driver 'omap3logic_lcd' needs updating - please use
> dev_pm_ops
> omap3logic_panel_probe:463 panel c0425de4 (name 15)
> omapfb_register_panel:1842
> omapfb_do_probe:1673 pdev c03f0258 panel c0425de4
> omapfb_do_probe:1697
> <4>MUX: setup D28_34XX_DSS_PCLK (0xd80020d4): 0x0000 -> 0x0108
> <4>MUX: setup D26_34XX_DSS_HSYNC (0xd80020d6): 0x0000 -> 0x0108
> <4>MUX: setup D27_34XX_DSS_VSYNC (0xd80020d8): 0x0000 -> 0x0108
> <4>MUX: setup E27_34XX_DSS_ACBIAS (0xd80020da): 0x0000 -> 0x0108
> <4>MUX: setup AG22_34XX_DSS_D0 (0xd80020dc): 0x0000 -> 0x0108
> <4>MUX: setup AH22_34XX_DSS_D1 (0xd80020de): 0x0000 -> 0x0108
> <4>MUX: setup AG23_34XX_DSS_D2 (0xd80020e0): 0x0000 -> 0x0108
> <4>MUX: setup AH23_34XX_DSS_D3 (0xd80020e2): 0x0000 -> 0x0108
> <4>MUX: setup AG24_34XX_DSS_D4 (0xd80020e4): 0x0000 -> 0x0108
> <4>MUX: setup AH24_34XX_DSS_D5 (0xd80020e6): 0x0000 -> 0x0108
> <4>MUX: setup E26_34XX_DSS_D6 (0xd80020e8): 0x0000 -> 0x0108
> <4>MUX: setup F28_34XX_DSS_D7 (0xd80020ea): 0x0000 -> 0x0108
> <4>MUX: setup F27_34XX_DSS_D8 (0xd80020ec): 0x0000 -> 0x0108
> <4>MUX: setup G26_34XX_DSS_D9 (0xd80020ee): 0x0000 -> 0x0108
> <4>MUX: setup AD28_34XX_DSS_D10 (0xd80020f0): 0x0000 -> 0x0108
> <4>MUX: setup AD27_34XX_DSS_D11 (0xd80020f2): 0x0000 -> 0x0108
> <4>MUX: setup AB28_34XX_DSS_D12 (0xd80020f4): 0x0000 -> 0x0108
> <4>MUX: setup AB27_34XX_DSS_D13 (0xd80020f6): 0x0000 -> 0x0108
> <4>MUX: setup AA28_34XX_DSS_D14 (0xd80020f8): 0x0000 -> 0x0108
> <4>MUX: setup AA27_34XX_DSS_D15 (0xd80020fa): 0x0000 -> 0x0108
> <4>MUX: setup G26_34XX_DSS_D16 (0xd80020fc): 0x0000 -> 0x0108
> <4>MUX: setup H27_34XX_DSS_D17 (0xd80020fe): 0x0000 -> 0x0108
> <4>MUX: setup H26_34XX_DSS_D18 (0xd8002100): 0x0000 -> 0x0108
> <4>MUX: setup H25_34XX_DSS_D19 (0xd8002102): 0x0000 -> 0x0108
> <4>MUX: setup E28_34XX_DSS_D20 (0xd8002104): 0x0000 -> 0x0108
> <4>MUX: setup J26_34XX_DSS_D21 (0xd8002106): 0x0000 -> 0x0108
> <4>MUX: setup AC27_34XX_DSS_D22 (0xd8002108): 0x0000 -> 0x0108
> <4>MUX: setup AC27_34XX_DSS_D23 (0xd800210a): 0x0000 -> 0x0108
> <4>MUX: setup AD2_34XX_GPIO154 (0xd8002188): 0x0101 -> 0x0004
> <4>MUX: setup AC1_34XX_GPIO155 (0xd800218a): 0x0101 -> 0x0004
> <6>omapfb: configured for panel 15
> omapfb_do_probe:1733
> <6>omapfb: DISPC version 3.0 initialized
> omapfb_do_probe:1741
> omapfb_do_probe:1745
> planes_init:1540 region_cnt 1
> <4>------------[ cut here ]------------
> <4>WARNING: at kernel/mutex.c:207 __mutex_lock_slowpath+0xb8/0x240()
> <d>Modules linked in:
> [<c0033444>] (unwind_backtrace+0x0/0xd4) from [<c005a02c>]
> (warn_slowpath_common+0x4c/0x68)
> [<c005a02c>] (warn_slowpath_common+0x4c/0x68) from [<c02dc104>]
> (__mutex_lock_slowpath+0xb8/0x240)
> [<c02dc104>] (__mutex_lock_slowpath+0xb8/0x240) from [<c02dc298>]
> (mutex_lock+0xc/0x1c)
> [<c02dc298>] (mutex_lock+0xc/0x1c) from [<c01a417c>] (set_fb_fix
> +0x40/0xcc)
> [<c01a417c>] (set_fb_fix+0x40/0xcc) from [<c01a4dc8>] (omapfb_do_probe
> +0x4d0/0x9d0)
> [<c01a4dc8>] (omapfb_do_probe+0x4d0/0x9d0) from [<c01a7ef4>]
> (omap3logic_panel_probe+0x4c/0x6c)
> [<c01a7ef4>] (omap3logic_panel_probe+0x4c/0x6c) from [<c01cbfe8>]
> (platform_drv_probe+0x1c/0x24)
> [<c01cbfe8>] (platform_drv_probe+0x1c/0x24) from [<c01cb22c>]
> (driver_probe_device+0xb8/0x164)
> [<c01cb22c>] (driver_probe_device+0xb8/0x164) from [<c01cb338>]
> (__driver_attach+0x60/0x84)
> [<c01cb338>] (__driver_attach+0x60/0x84) from [<c01ca6b8>]
> (bus_for_each_dev+0x48/0x80)
> [<c01ca6b8>] (bus_for_each_dev+0x48/0x80) from [<c01cac48>]
> (bus_add_driver+0xa0/0x224)
> [<c01cac48>] (bus_add_driver+0xa0/0x224) from [<c01cb634>]
> (driver_register+0xac/0x134)
> [<c01cb634>] (driver_register+0xac/0x134) from [<c002d2b0>]
> (do_one_initcall+0x50/0x17c)
> [<c002d2b0>] (do_one_initcall+0x50/0x17c) from [<c000888c>] (kernel_init
> +0x88/0x100)
> [<c000888c>] (kernel_init+0x88/0x100) from [<c002ece0>]
> (kernel_thread_exit+0x0/0x8)
> 
> I believe the problem is in set_fb_fix() (called from planes_init())
> trying to pull the lock for fbi->mm_lock which is not initialized since
> register_framebuffer() has not yet been called (called after
> planes_init() is called).
> 
> Any ideas what I'm doing wrong?
> 


Maybe this patch will help?

<http://patchwork.kernel.org/patch/42995/>

- Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux