Thread (10 messages) 10 messages, 2 authors, 2021-05-17

Re: [v5 2/2] pwm: Add Aspeed ast2600 PWM support

flat view

From: Billy Tsai <billy_tsai@aspeedtech.com>
Date: 2021-05-17 02:53:50
Also in: linux-arm-kernel, linux-aspeed, linux-pwm, lkml

Hello,

On 2021/5/15, 11:57 PM,Uwe Kleine-Königwrote:

	>	> +	div_h = DIV_ROUND_DOWN_ULL(div_h,
	>	> +				   (FIELD_MAX(PWM_ASPEED_CTRL_CLK_DIV_L) + 1));
	>	> +	div_h = DIV_ROUND_DOWN_ULL(div_h, NSEC_PER_SEC);

	> As a division is an expensive operation you can better first multiply
	> NSEC_PER_SEC and FIELD_MAX(PWM_ASPEED_CTRL_CLK_DIV_L) + 1 and divide by
	> the result.

When I multiply NSEC_PER_SEC and FIELD_MAX(PWM_ASPEED_CTRL_CLK_DIV_L) + 1 the result will overflow
for 32-bits and the divisor type of do_div is 32-bits so I need to do div twice to avoid the issue.
Can you give me some suggests?

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help