Hi Tomi, On Wed, Jan 5, 2011 at 9:05 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxxxxx> wrote: > On Mon, 2011-01-03 at 18:21 +0530, ext Guruswamy Senthilvadivu wrote: >> From: Senthilvadivu Guruswamy <svadivu@xxxxxx> >> >> clks are moved to dss platform driver. clk_get/put APIs use dss device instead >> of core platform device. So the device name is changed from omap_display to >> omap_dss in 2420, 2430, 3xxx clock database files. Now teh core driver >> "omap_display" only takes care of panel registration with the custom bus. >> dss driver would take care of the clocks needed by DISPC, RFBI, DSI, VENC. >> >> TODO: The clock content would be adapted to omap_hwmod in a seperate series. >> >> Signed-off-by: Senthilvadivu Guruswamy <svadivu@xxxxxx> > > <snip> > >> @@ -508,14 +192,7 @@ static int omap_dss_probe(struct platform_device *pdev) >> dss_init_overlay_managers(pdev); >> dss_init_overlays(pdev); >> >> - r = dss_get_clocks(); >> - if (r) >> - goto err_clocks; >> - >> - dss_clk_enable_all_no_ctx(); >> - >> - core.ctx_id = dss_get_ctx_id(); >> - DSSDBG("initial ctx id %u\n", core.ctx_id); >> + dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); >> >> #ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT >> /* DISPC_CONTROL */ >> @@ -589,7 +266,7 @@ static int omap_dss_probe(struct platform_device *pdev) >> pdata->default_device = dssdev; >> } >> >> - dss_clk_disable_all(); >> + dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); > > Why are the calls dss_clk_enable_all_no_ctx() and dss_clk_disable_all() > changed? This came as an after-effect of moving all clk related stuff to dss.c; I think the idea is that all the new DSS IP platform drivers should use only the exposed clock mgmt APIs [dss_clk_enable() / dss_clk_disable()]. However, you are right; all the required clocks might not be getting enabled / disabled as required. I can (re)create the static dss_clk_disable_all() / dss_clk_enable_all_no_ctx() locally inside core.c - do you think that's ok, or should I export these functions too from dss.c? > >> /* DSS HW IP initialisation */ >> static int omap_dsshw_probe(struct platform_device *pdev) >> { >> - return 0; >> + int r; >> + >> + dss.pdev = pdev; >> + >> + r = dss_get_clocks(); >> + if (r) >> + goto err_clocks; >> + >> + dss_clk_enable_all_no_ctx(); >> + >> + dss.ctx_id = dss_get_ctx_id(); >> + DSSDBG("initial ctx id %u\n", dss.ctx_id); >> + >> + dss_clk_disable_all_no_ctx(); > > I don't think clock enable/disable are needed here. dss_get_ctx_id() > should work fine without DSS's clocks. you're right; this is not required. will remove. Best regards, ~Sumit. > > Tomi > > > -- 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