فهرست منبع

clk: meson: axg: let mpll clocks round closest

Let the mpll dividers achieve the closest rate possible, even if
it means rounding the requested rate up.

This is done to improve the accuracy of the rates provided by these
plls to the audio subsystem

Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Jerome Brunet 7 سال پیش
والد
کامیت
de1ca2d07b
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      drivers/clk/meson/axg.c

+ 4 - 0
drivers/clk/meson/axg.c

@@ -461,6 +461,7 @@ static struct clk_regmap axg_mpll0_div = {
 			.width	 = 1,
 			.width	 = 1,
 		},
 		},
 		.lock = &meson_clk_lock,
 		.lock = &meson_clk_lock,
+		.flags = CLK_MESON_MPLL_ROUND_CLOSEST,
 	},
 	},
 	.hw.init = &(struct clk_init_data){
 	.hw.init = &(struct clk_init_data){
 		.name = "mpll0_div",
 		.name = "mpll0_div",
@@ -507,6 +508,7 @@ static struct clk_regmap axg_mpll1_div = {
 			.width	 = 1,
 			.width	 = 1,
 		},
 		},
 		.lock = &meson_clk_lock,
 		.lock = &meson_clk_lock,
+		.flags = CLK_MESON_MPLL_ROUND_CLOSEST,
 	},
 	},
 	.hw.init = &(struct clk_init_data){
 	.hw.init = &(struct clk_init_data){
 		.name = "mpll1_div",
 		.name = "mpll1_div",
@@ -553,6 +555,7 @@ static struct clk_regmap axg_mpll2_div = {
 			.width	 = 1,
 			.width	 = 1,
 		},
 		},
 		.lock = &meson_clk_lock,
 		.lock = &meson_clk_lock,
+		.flags = CLK_MESON_MPLL_ROUND_CLOSEST,
 	},
 	},
 	.hw.init = &(struct clk_init_data){
 	.hw.init = &(struct clk_init_data){
 		.name = "mpll2_div",
 		.name = "mpll2_div",
@@ -599,6 +602,7 @@ static struct clk_regmap axg_mpll3_div = {
 			.width	 = 1,
 			.width	 = 1,
 		},
 		},
 		.lock = &meson_clk_lock,
 		.lock = &meson_clk_lock,
+		.flags = CLK_MESON_MPLL_ROUND_CLOSEST,
 	},
 	},
 	.hw.init = &(struct clk_init_data){
 	.hw.init = &(struct clk_init_data){
 		.name = "mpll3_div",
 		.name = "mpll3_div",