Hello Billy,
On Fri, Jul 09, 2021 at 05:40:45AM +0000, Billy Tsai wrote:
On 2021/7/2, 10:32 PM, "Uwe Kleine-König" [off-list ref] wrote:
> The multiplication can be up to:
> 100000000 * (1 << 31) * (31 + 1) * (255 + 1)
> right? This needs 71 bits and so might overflow a u64.
No, the multiplication can be up to:
Max(div_h) = 15
Max(div_l) = 255
Max(clk_period) = 255
1000000000 * (1 << 15) * (255 + 1) * (255 + 1) < 2^64 - 1
it doesn't overflow a u64.
Ah, you're right. Please note this in a comment (not that you were
right, but that it doesn't overflow :-)
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |