• Taniya Das's avatar
    clk: qcom: Add support for RCG to register for DFS · cc4f6944
    Taniya Das authored
    Dynamic Frequency switch is a feature of clock controller by which request
    from peripherals allows automatic switching frequency of input clock
    without SW intervention. There are various performance levels associated
    with a root clock. When the input performance state changes, the source
    clocks and division ratios of the new performance state are loaded on to
    RCG via HW and the RCG switches to new clock frequency when the RCG is in
    DFS HW enabled mode.
    
    Register the root clock generators(RCG) to switch to use the dfs clock ops
    in the cases where DFS is enabled. The clk_round_rate() called by the clock
    consumer would invoke the dfs determine clock ops and would read the DFS
    performance level registers to identify all the frequencies supported and
    update the frequency table. The DFS clock consumers would maintain these
    frequency mapping and request the desired performance levels.
    Signed-off-by: default avatarTaniya Das <tdas@codeaurora.org>
    [sboyd@kernel.org: Rework registration logic to stop copying, change
    recalc_rate() to index directly into the table if possible and fallback
    to calculating on the fly with an assumed correct parent]
    Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    cc4f6944
clk-rcg2.c 26.8 KB