Re: [U-Boot] [PATCH 4/9 v2] Exynos: Avoid a divide by zero by specifying a non-zero period for pwm 4

Minkyu,
Thanks for comments. Please find my reply below the comment.
On 28/02/13 19:59, Akshay Saraswat wrote:
The pwm_config function in the exynos pwm driver divides by its period period parameter. A function was calling pwm_config with a 0ns period and a 0ns duty cycle. That doesn't actually make any sense physically, and results in a divide by zero in the driver. This change changes the paremters to be a
typo. paremters -> parameter
100000ns period and duty cycle.
Test with command "sf probe 1:0; time sf read 40008000 0 1000". Try with different numbers of bytes and see that sane values are obtained Build and boot U-boot with this patch, backlight works properly.
Signed-off-by: Gabe Black gabeblack@google.com Signed-off-by: Akshay Saraswat akshay.s@samsung.com Acked-by: Simon Glass sjg@chromium.org
Changes since v1: - Added "Acked-by: Simon Glass".
arch/arm/cpu/armv7/s5p-common/timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c index de61405..6a0fa58 100644 --- a/arch/arm/cpu/armv7/s5p-common/timer.c +++ b/arch/arm/cpu/armv7/s5p-common/timer.c @@ -58,7 +58,7 @@ int timer_init(void) { /* PWM Timer 4 */ pwm_init(4, MUX_DIV_4, 0);
- pwm_config(4, 0, 0);
- pwm_config(4, 100000, 100000);
0 is a numerator. I think.. it doesn't matter.
In file pwm.c line 98 we are doing: frequency = NS_IN_SEC / period_ns;
what we are passing in this call are the values of duty_ns and period_ns. So, there are places where divide by zero may occur. I think we should keep it to be on a safer side.
pwm_enable(4);
/* Use this as the current monotonic time in us */
Thanks, Minkyu Kang.
Regards, Akshay Saraswat
participants (1)
-
Akshay Saraswat