lkml.org 
[lkml]   [2015]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] soc: mediatek: Fix random hang up issue while kernel init
    From
    Date
    HI Daniel,

    On Fri, 2015-10-02 at 17:25 +0800, Daniel Kurtz wrote:
    > Actually, I should have proposed adding prepare / unprepare callbacks
    > to mtk_clk_gate_ops in which we prepare_enable/disable_unprepare
    > venc_sel (& mm_sel).
    > This should correctly track all of the clk reference counting needed
    > to access the venc clock control registers.
    >
    >
    > However, this would not actually solve the issue that this patch is
    > trying to fix, since nobody would have called the
    > prepare_clk(venc_cke0) before clk_disable_unused_subtree(venc_cke0).
    > Bummer.

    Hmm... it's true.

    > I think the crux of the original issue is that the mediatek/clk-gate.c
    > is_enabled() callbacks may be called at a point in time when venc_sel
    > is disabled but VENC PD is enabled.
    > So, perhaps an easier, but still a little hacky way out is to keep the
    > clk & PD problems separate, and just check __clk_is_enabled(venc_sel)
    > before reading the venc clk status register.
    >
    > WDYT?

    This may be a way to resolve this issue, but model the prerequisite
    clock of subsystem clocks is not straightforward. And once we model the
    prerequisite clocks, someone may suggest us to enable prerequisite
    clocks before operate subsystem clocks, which may have concerns on
    overhead and complexity.

    > By the way, I'm not really opposed to your current implementation
    > either, I was just helping Matthias & Lucas understand in enough
    > detail that they can help review.

    I know and many thanks for your suggestion on this patch.


    Best regards,

    James



    \
     
     \ /
      Last update: 2015-10-02 13:01    [W:4.359 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site