Merge branch 'for-v3.17-rc/ti-clk-driver' of github.com:t-kristo/linux-pm into clk-fixes
This commit is contained in:
commit
7cd4375117
|
@ -139,9 +139,13 @@ static long atl_clk_round_rate(struct clk_hw *hw, unsigned long rate,
|
||||||
static int atl_clk_set_rate(struct clk_hw *hw, unsigned long rate,
|
static int atl_clk_set_rate(struct clk_hw *hw, unsigned long rate,
|
||||||
unsigned long parent_rate)
|
unsigned long parent_rate)
|
||||||
{
|
{
|
||||||
struct dra7_atl_desc *cdesc = to_atl_desc(hw);
|
struct dra7_atl_desc *cdesc;
|
||||||
u32 divider;
|
u32 divider;
|
||||||
|
|
||||||
|
if (!hw || !rate)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
cdesc = to_atl_desc(hw);
|
||||||
divider = ((parent_rate + rate / 2) / rate) - 1;
|
divider = ((parent_rate + rate / 2) / rate) - 1;
|
||||||
if (divider > DRA7_ATL_DIVIDER_MASK)
|
if (divider > DRA7_ATL_DIVIDER_MASK)
|
||||||
divider = DRA7_ATL_DIVIDER_MASK;
|
divider = DRA7_ATL_DIVIDER_MASK;
|
||||||
|
|
|
@ -211,11 +211,16 @@ static long ti_clk_divider_round_rate(struct clk_hw *hw, unsigned long rate,
|
||||||
static int ti_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate,
|
static int ti_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate,
|
||||||
unsigned long parent_rate)
|
unsigned long parent_rate)
|
||||||
{
|
{
|
||||||
struct clk_divider *divider = to_clk_divider(hw);
|
struct clk_divider *divider;
|
||||||
unsigned int div, value;
|
unsigned int div, value;
|
||||||
unsigned long flags = 0;
|
unsigned long flags = 0;
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
if (!hw || !rate)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
divider = to_clk_divider(hw);
|
||||||
|
|
||||||
div = DIV_ROUND_UP(parent_rate, rate);
|
div = DIV_ROUND_UP(parent_rate, rate);
|
||||||
value = _get_val(divider, div);
|
value = _get_val(divider, div);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue