Message ID | aee36069582647a0841ec8b49c4c824f901a3f9f.1645460725.git.geert+renesas@glider.be (mailing list archive) |
---|---|
State | New |
Delegated to: | Kieran Bingham |
Headers | show |
Series | drm: rcar-du: Simplify division/shift logic | expand |
Hi Geert, Thank you for the patch. On Mon, Feb 21, 2022 at 05:26:15PM +0100, Geert Uytterhoeven wrote: > "a / (1 << b)" == "a >> b". > > No change in generated code. If there's no change in generated code, isn't the current code more readable ? :-) > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > drivers/gpu/drm/rcar-du/rcar_lvds.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c > index 72a272cfc11ee129..30afc1d3482a9670 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c > +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c > @@ -229,7 +229,7 @@ static void rcar_lvds_d3_e3_pll_calc(struct rcar_lvds *lvds, struct clk *clk, > * the PLL, followed by a an optional fixed /7 > * divider. > */ > - fout = fvco / (1 << e) / div7; > + fout = (fvco >> e) / div7; > div = max(1UL, DIV_ROUND_CLOSEST(fout, target)); > diff = abs(fout / div - target); > > @@ -249,7 +249,7 @@ static void rcar_lvds_d3_e3_pll_calc(struct rcar_lvds *lvds, struct clk *clk, > } > > done: > - output = fin * pll->pll_n / pll->pll_m / (1 << pll->pll_e) > + output = (fin * pll->pll_n / pll->pll_m >> pll->pll_e) > / div7 / pll->div; > error = (long)(output - target) * 10000 / (long)target; >
diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c index 72a272cfc11ee129..30afc1d3482a9670 100644 --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c @@ -229,7 +229,7 @@ static void rcar_lvds_d3_e3_pll_calc(struct rcar_lvds *lvds, struct clk *clk, * the PLL, followed by a an optional fixed /7 * divider. */ - fout = fvco / (1 << e) / div7; + fout = (fvco >> e) / div7; div = max(1UL, DIV_ROUND_CLOSEST(fout, target)); diff = abs(fout / div - target); @@ -249,7 +249,7 @@ static void rcar_lvds_d3_e3_pll_calc(struct rcar_lvds *lvds, struct clk *clk, } done: - output = fin * pll->pll_n / pll->pll_m / (1 << pll->pll_e) + output = (fin * pll->pll_n / pll->pll_m >> pll->pll_e) / div7 / pll->div; error = (long)(output - target) * 10000 / (long)target;
"a / (1 << b)" == "a >> b". No change in generated code. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- drivers/gpu/drm/rcar-du/rcar_lvds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)