From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Barada Subject: RE: Problem tryhing to bring up new LCD on OMAP Logic board Date: Tue, 25 Aug 2009 16:06:35 -0400 Message-ID: <1251230795.16110.76.camel@blitz> References: <1251227246.16110.71.camel@blitz> <5A47E75E594F054BAF48C5E4FC4B92AB0309C86152@dbde02.ent.ti.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from mail.logicpd.com ([66.162.60.3]:38120 "EHLO smtp.logicpd.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754836AbZHYUB4 (ORCPT ); Tue, 25 Aug 2009 16:01:56 -0400 In-Reply-To: <5A47E75E594F054BAF48C5E4FC4B92AB0309C86152@dbde02.ent.ti.com> Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: "Gadiyar, Anand" Cc: linux-omap On Wed, 2009-08-26 at 00:51 +0530, Gadiyar, Anand wrote: > > 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() > > Modules linked in: > > [] (unwind_backtrace+0x0/0xd4) from [] > > (warn_slowpath_common+0x4c/0x68) > > [] (warn_slowpath_common+0x4c/0x68) from [] > > (__mutex_lock_slowpath+0xb8/0x240) > > [] (__mutex_lock_slowpath+0xb8/0x240) from [] > > (mutex_lock+0xc/0x1c) > > [] (mutex_lock+0xc/0x1c) from [] (set_fb_fix > > +0x40/0xcc) > > [] (set_fb_fix+0x40/0xcc) from [] (omapfb_do_probe > > +0x4d0/0x9d0) > > [] (omapfb_do_probe+0x4d0/0x9d0) from [] > > (omap3logic_panel_probe+0x4c/0x6c) > > [] (omap3logic_panel_probe+0x4c/0x6c) from [] > > (platform_drv_probe+0x1c/0x24) > > [] (platform_drv_probe+0x1c/0x24) from [] > > (driver_probe_device+0xb8/0x164) > > [] (driver_probe_device+0xb8/0x164) from [] > > (__driver_attach+0x60/0x84) > > [] (__driver_attach+0x60/0x84) from [] > > (bus_for_each_dev+0x48/0x80) > > [] (bus_for_each_dev+0x48/0x80) from [] > > (bus_add_driver+0xa0/0x224) > > [] (bus_add_driver+0xa0/0x224) from [] > > (driver_register+0xac/0x134) > > [] (driver_register+0xac/0x134) from [] > > (do_one_initcall+0x50/0x17c) > > [] (do_one_initcall+0x50/0x17c) from [] (kernel_init > > +0x88/0x100) > > [] (kernel_init+0x88/0x100) from [] > > (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? > > Thanks, that got me past the issue, but now, I get a whole raft of: <4>__ratelimit: 1736188 callbacks suppressed __ratelimit: 1736188 callbacks suppressed <3>omapfb omapfb: irq error status 4040 omapfb omapfb: irq error status 4040 <3>omapfb omapfb: irq error status 4062 omapfb omapfb: irq error status 4062 <3>omapfb omapfb: irq error status 4040 omapfb omapfb: irq error status 4040 <3>omapfb omapfb: irq error status 4062 omapfb omapfb: irq error status 4062 The log shows my panel timing: omapfb: configured for panel 15 omapfb: DISPC version 3.0 initialized Console: switching to colour frame buffer device 60x34 omapfb: Framebuffer initialized. Total vram 262144 planes 1 omapfb: Pixclock 9818 kHz hfreq 18.9 kHz vfreq 67.0 Hz Which is pretty slow (omap3evm pixclock is 26MHz...). What could be causing the fifo to underflow? -- Peter Barada Logic Product Development, Inc.