diff options
Diffstat (limited to 'target/linux/sunxi/patches-4.9/0006-clk-sunxi-ng-Implement-minimum-for-multipliers.patch')
-rw-r--r-- | target/linux/sunxi/patches-4.9/0006-clk-sunxi-ng-Implement-minimum-for-multipliers.patch | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/target/linux/sunxi/patches-4.9/0006-clk-sunxi-ng-Implement-minimum-for-multipliers.patch b/target/linux/sunxi/patches-4.9/0006-clk-sunxi-ng-Implement-minimum-for-multipliers.patch deleted file mode 100644 index 668d596493..0000000000 --- a/target/linux/sunxi/patches-4.9/0006-clk-sunxi-ng-Implement-minimum-for-multipliers.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 2beaa601c849e72683a2dd0fe6fd77763f19f051 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard <maxime.ripard@free-electrons.com> -Date: Fri, 30 Sep 2016 22:16:51 +0200 -Subject: clk: sunxi-ng: Implement minimum for multipliers - -Allow the CCU drivers to specify a multiplier for their clocks. - -Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> -Acked-by: Chen-Yu Tsai <wens@csie.org> ---- - drivers/clk/sunxi-ng/ccu_mult.c | 2 +- - drivers/clk/sunxi-ng/ccu_mult.h | 13 +++++++++---- - drivers/clk/sunxi-ng/ccu_nk.c | 8 ++++---- - drivers/clk/sunxi-ng/ccu_nkm.c | 8 ++++---- - drivers/clk/sunxi-ng/ccu_nkmp.c | 4 ++-- - drivers/clk/sunxi-ng/ccu_nm.c | 2 +- - 6 files changed, 21 insertions(+), 16 deletions(-) - ---- a/drivers/clk/sunxi-ng/ccu_mult.c -+++ b/drivers/clk/sunxi-ng/ccu_mult.c -@@ -105,7 +105,7 @@ static int ccu_mult_set_rate(struct clk_ - ccu_mux_helper_adjust_parent_for_prediv(&cm->common, &cm->mux, -1, - &parent_rate); - -- _cm.min = 1; -+ _cm.min = cm->mult.min; - _cm.max = 1 << cm->mult.width; - ccu_mult_find_best(parent_rate, rate, &_cm); - ---- a/drivers/clk/sunxi-ng/ccu_mult.h -+++ b/drivers/clk/sunxi-ng/ccu_mult.h -@@ -7,14 +7,19 @@ - struct ccu_mult_internal { - u8 shift; - u8 width; -+ u8 min; - }; - --#define _SUNXI_CCU_MULT(_shift, _width) \ -- { \ -- .shift = _shift, \ -- .width = _width, \ -+#define _SUNXI_CCU_MULT_MIN(_shift, _width, _min) \ -+ { \ -+ .shift = _shift, \ -+ .width = _width, \ -+ .min = _min, \ - } - -+#define _SUNXI_CCU_MULT(_shift, _width) \ -+ _SUNXI_CCU_MULT_MIN(_shift, _width, 1) -+ - struct ccu_mult { - u32 enable; - ---- a/drivers/clk/sunxi-ng/ccu_nk.c -+++ b/drivers/clk/sunxi-ng/ccu_nk.c -@@ -97,9 +97,9 @@ static long ccu_nk_round_rate(struct clk - if (nk->common.features & CCU_FEATURE_FIXED_POSTDIV) - rate *= nk->fixed_post_div; - -- _nk.min_n = 1; -+ _nk.min_n = nk->n.min; - _nk.max_n = 1 << nk->n.width; -- _nk.min_k = 1; -+ _nk.min_k = nk->k.min; - _nk.max_k = 1 << nk->k.width; - - ccu_nk_find_best(*parent_rate, rate, &_nk); -@@ -122,9 +122,9 @@ static int ccu_nk_set_rate(struct clk_hw - if (nk->common.features & CCU_FEATURE_FIXED_POSTDIV) - rate = rate * nk->fixed_post_div; - -- _nk.min_n = 1; -+ _nk.min_n = nk->n.min; - _nk.max_n = 1 << nk->n.width; -- _nk.min_k = 1; -+ _nk.min_k = nk->k.min; - _nk.max_k = 1 << nk->k.width; - - ccu_nk_find_best(parent_rate, rate, &_nk); ---- a/drivers/clk/sunxi-ng/ccu_nkm.c -+++ b/drivers/clk/sunxi-ng/ccu_nkm.c -@@ -100,9 +100,9 @@ static unsigned long ccu_nkm_round_rate( - struct ccu_nkm *nkm = data; - struct _ccu_nkm _nkm; - -- _nkm.min_n = 1; -+ _nkm.min_n = nkm->n.min; - _nkm.max_n = 1 << nkm->n.width; -- _nkm.min_k = 1; -+ _nkm.min_k = nkm->k.min; - _nkm.max_k = 1 << nkm->k.width; - _nkm.min_m = 1; - _nkm.max_m = nkm->m.max ?: 1 << nkm->m.width; -@@ -129,9 +129,9 @@ static int ccu_nkm_set_rate(struct clk_h - unsigned long flags; - u32 reg; - -- _nkm.min_n = 1; -+ _nkm.min_n = nkm->n.min; - _nkm.max_n = 1 << nkm->n.width; -- _nkm.min_k = 1; -+ _nkm.min_k = nkm->k.min; - _nkm.max_k = 1 << nkm->k.width; - _nkm.min_m = 1; - _nkm.max_m = nkm->m.max ?: 1 << nkm->m.width; ---- a/drivers/clk/sunxi-ng/ccu_nkmp.c -+++ b/drivers/clk/sunxi-ng/ccu_nkmp.c -@@ -107,9 +107,9 @@ static long ccu_nkmp_round_rate(struct c - struct ccu_nkmp *nkmp = hw_to_ccu_nkmp(hw); - struct _ccu_nkmp _nkmp; - -- _nkmp.min_n = 1; -+ _nkmp.min_n = nkmp->n.min; - _nkmp.max_n = 1 << nkmp->n.width; -- _nkmp.min_k = 1; -+ _nkmp.min_k = nkmp->k.min; - _nkmp.max_k = 1 << nkmp->k.width; - _nkmp.min_m = 1; - _nkmp.max_m = nkmp->m.max ?: 1 << nkmp->m.width; ---- a/drivers/clk/sunxi-ng/ccu_nm.c -+++ b/drivers/clk/sunxi-ng/ccu_nm.c -@@ -93,7 +93,7 @@ static long ccu_nm_round_rate(struct clk - struct ccu_nm *nm = hw_to_ccu_nm(hw); - struct _ccu_nm _nm; - -- _nm.min_n = 1; -+ _nm.min_n = nm->n.min; - _nm.max_n = 1 << nm->n.width; - _nm.min_m = 1; - _nm.max_m = nm->m.max ?: 1 << nm->m.width; |