comp: implement component_set_period_frames() function

This patch implements generic component_set_period_frames() function.
It can be utilized in order to set "frames" parameter in
comp_dev structure.

Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
This commit is contained in:
Bartosz Kokoszko 2020-01-08 21:24:57 +01:00 committed by Liam Girdwood
parent 5e3edf8cd1
commit 51e793ea0a
1 changed files with 15 additions and 0 deletions

View File

@ -668,6 +668,21 @@ static inline int comp_get_endpoint_type(struct comp_dev *dev)
}
}
/* \brief Set component period frames */
static inline void component_set_period_frames(struct comp_dev *current,
uint32_t rate)
{
int period;
period = current->pipeline->ipc_pipe.period;
/* Samplerate is in Hz and period in microseconds.
* As we don't have floats use scale divider 1000000.
* Also integer round up the result.
*/
current->frames = ceil_divide(rate * period, 1000000);
}
/** @}*/
/** \name XRUN handling.