tcon = __raw_readl(pwm.base + REG_TCON);
 
-       tcnt--;
-
        tcon &= ~(TCON_START(tcon_chan) | TCON_AUTORELOAD(tcon_chan));
        tcon |= TCON_MANUALUPDATE(tcon_chan);
 
 static void samsung_timer_resume(void)
 {
        /* event timer restart */
-       samsung_time_setup(pwm.event_id, pwm.clock_count_per_tick);
+       samsung_time_setup(pwm.event_id, pwm.clock_count_per_tick - 1);
        samsung_time_start(pwm.event_id, true);
 
        /* source timer restart */
 
        switch (mode) {
        case CLOCK_EVT_MODE_PERIODIC:
-               samsung_time_setup(pwm.event_id, pwm.clock_count_per_tick);
+               samsung_time_setup(pwm.event_id, pwm.clock_count_per_tick - 1);
                samsung_time_start(pwm.event_id, true);
                break;