Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bfb96500 authored by Deepak Katragadda's avatar Deepak Katragadda
Browse files

clk: Add the CLK_CHILD_NO_RATE_PROP flag



The voter clock mechanism relies on the rate request
propagation to the parent clock to be one-way and not
have the clock framework propagate the rate across all
its children. Add the CLK_CHILD_NO_RATE_PROP flag for
these votable clocks to use in order to avoid the top-down
propagation of any scaling requests.

Change-Id: Ib264068797e44c7f1712aebe45318ea3e9230a1b
Signed-off-by: default avatarDeepak Katragadda <dkatraga@codeaurora.org>
parent c9738304
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com>
 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org>
 * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
@@ -1872,6 +1872,8 @@ static int clk_change_rate(struct clk_core *core)
	if (core->flags & CLK_RECALC_NEW_RATES)
		(void)clk_calc_new_rates(core, core->new_rate);

	if (core->flags & CLK_CHILD_NO_RATE_PROP)
		return rc;
	/*
	 * Use safe iteration, as change_rate can actually swap parents
	 * for certain clock types.
+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@
					 * to first consumer that enables clk
					 */
#define CLK_IS_MEASURE          BIT(14) /* measure clock */
/* do not call clk_change_rate on the clock's children */
#define CLK_CHILD_NO_RATE_PROP	BIT(15)

struct clk;
struct clk_hw;