* should always use constants as argument to ensure all computations are
* performed at compile time
*/
-static void delay_for_n_mem_clocks(const uint32_t clocks)
+static void delay_for_n_mem_clocks(const u32 clocks)
{
- uint32_t afi_clocks;
- uint8_t inner = 0;
- uint8_t outer = 0;
- uint16_t c_loop = 0;
+ u32 afi_clocks;
+ u16 c_loop = 0;
+ u8 inner = 0;
+ u8 outer = 0;
debug("%s:%d: clocks=%u ... start\n", __func__, __LINE__, clocks);
-
- afi_clocks = (clocks + AFI_RATE_RATIO-1) / AFI_RATE_RATIO;
/* scale (rounding up) to get afi clocks */
+ afi_clocks = DIV_ROUND_UP(clocks, AFI_RATE_RATIO);
/*
- * Note, we don't bother accounting for being off a little bit
- * because of a few extra instructions in outer loops
- * Note, the loops have a test at the end, and do the test before
- * the decrement, and so always perform the loop
+ * Note, we don't bother accounting for being off a little
+ * bit because of a few extra instructions in outer loops.
+ * Note, the loops have a test at the end, and do the test
+ * before the decrement, and so always perform the loop
* 1 time more than the counter value
*/
if (afi_clocks == 0) {
;
} else if (afi_clocks <= 0x100) {
- inner = afi_clocks-1;
+ inner = afi_clocks - 1;
outer = 0;
c_loop = 0;
} else if (afi_clocks <= 0x10000) {
inner = 0xff;
- outer = (afi_clocks-1) >> 8;
+ outer = (afi_clocks - 1) >> 8;
c_loop = 0;
} else {
inner = 0xff;
outer = 0xff;
- c_loop = (afi_clocks-1) >> 16;
+ c_loop = (afi_clocks - 1) >> 16;
}
/*