Re: [[DPU]PATCH] drm/msm/dsi: move the API setting PLL src to modeset_init()

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

 



On Tue, Jun 26, 2018 at 11:55 AM, Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
> Hi,
>
> On Mon, Jun 25, 2018 at 9:45 PM, Sandeep Panda <spanda@xxxxxxxxxxxxxx> wrote:
>> From: Abhinav Kumar <abhinavk@xxxxxxxxxxxxxx>
>>
>> Setting the DSI PLL src in probe doesn't provide the clock
>> driver sufficient time to reclaim unused clock resources
>> from coreboot resulting in warnings from clock driver.
>>
>> Move the DSI PLL src setting to modeset_init() so that the
>> clock driver can claim unused display clock resources before
>> the display driver requests for them again.
>
> IMHO this is a bad design.  Sean and Stephen can feel free to override
> me, but I think the clock driver should be improved to handle this
> case and not require the clock to get disabled before Linux enables
> it.
>

I experimented with it a while back[1] (in this case w/ lk lighting up
the display).  In that case I needed both the clk and gdsc code to
realize that clks/gdsc's were on at boot, and fixup the refcnt of the
clks (and parent clocks and so on).  And then when probed the display
driver would check if clocks were enabled to decide to readback the
state from the hw.  (Maybe you can short-circuit some of that if you
only care about DSI panels with a single fixed resolution, but as soon
as external displays come into the picture you can't assume so much
about the hw  state.)

BR,
-R

[1] https://github.com/freedreno/kernel-msm/commits/display-handover
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" 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 Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux