Re: [PATCH v3 09/17] OMAP2,3: DSS2: Move clocks from core driver to dss driver

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

 



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


[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