[U-Boot] [PATCH 01/14] powerpc, 8xx: Simplify brgclk calculation and remove get_brgclk()
Wolfgang Denk
wd at denx.de
Wed Jul 12 12:52:51 UTC 2017
Dear Christophe,
In message <59ac182501e89d3b9ee1dc7c31ce358ff33c0877.1499629706.git.christophe.leroy at c-s.fr> you wrote:
> divider is calculated based on SCCR_DFBRG, with:
> SCCR_DFBRG 00 => divider 1 = 1 << 0
> SCCR_DFBRG 01 => divider 4 = 1 << 2
> SCCR_DFBRG 10 => divider 16 = 1 << 4
> SCCR_DFBRG 11 => divider 64 = 1 << 6
>
> This can be easily converted to a single shift operation:
> divider = 1 << (SCCR_DFBRG * 2)
Agreed, but...
> - switch ((sccr & SCCR_DFBRG11) >> 11) {
...
> + uint divider = 1 << ((sccr & SCCR_DFBRG11) >> 10);
The code would be easier to read / understand if you made the
calculation obvious, i. e.
uint divider = 1 << (((sccr & SCCR_DFBRG11) >> 11) * 2);
The compiler generates the same code, so there is no size effect.
Reviewed-by: Wolfgang Denk <wd at denx.de>
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Man is the best computer we can put aboard a spacecraft ... and the
only one that can be mass produced with unskilled labor.
- Wernher von Braun
More information about the U-Boot
mailing list