if (ticks == 0)
del_timer(&runtime->tick_timer);
else {
+ ticks += (1000000 / HZ) - 1;
ticks /= (1000000 / HZ);
- if (ticks % (1000000 / HZ))
- ticks++;
mod_timer(&runtime->tick_timer, jiffies + ticks);
}
}
break;
}
appl_ptr += frames;
- if (appl_ptr >= runtime->boundary) {
- runtime->control->appl_ptr = 0;
- } else {
- runtime->control->appl_ptr = appl_ptr;
- }
+ if (appl_ptr >= runtime->boundary)
+ appl_ptr -= runtime->boundary;
+ runtime->control->appl_ptr = appl_ptr;
if (substream->ops->ack)
substream->ops->ack(substream);
break;
}
appl_ptr += frames;
- if (appl_ptr >= runtime->boundary) {
- runtime->control->appl_ptr = 0;
- } else {
- runtime->control->appl_ptr = appl_ptr;
- }
+ if (appl_ptr >= runtime->boundary)
+ appl_ptr -= runtime->boundary;
+ runtime->control->appl_ptr = appl_ptr;
if (substream->ops->ack)
substream->ops->ack(substream);