On Wed, Apr 01, 2020 at 04:45:40PM +0800, Shengjiu Wang wrote:
EASRC (Enhanced Asynchronous Sample Rate Converter) is a new IP module
found on i.MX8MN. It is different with old ASRC module.
The primary features for the EASRC are as follows:
- 4 Contexts - groups of channels with an independent time base
- Fully independent and concurrent context control
- Simultaneous processing of up to 32 audio channels
- Programmable filter charachteristics for each context
- 32, 24, 20, and 16-bit fixed point audio sample support
- 32-bit floating point audio sample support
- 8kHz to 384kHz sample rate
- 1/16 to 8x sample rate conversion ratio
Signed-off-by: Shengjiu Wang <redacted>
Signed-off-by: Cosmin-Gabriel Samoila <redacted>
Overall, looks good to me.
Please add:
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
quoted hunk ↗ jump to hunk
diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c
+static int fsl_easrc_normalize_filter(struct fsl_asrc *easrc,
+ * If exponent is zero (value == 0), or 7ff (value == NaNs)
[...]
+ if (exp == 0 || exp == 0x7ff) {
[...]
+ if ((shift > 0 && exp >= 2047) ||
+ (shift < 0 && exp <= 0)) {
Could fit into one line, and would be probably nicer to re-use
"0x7ff" matching previous places, instead of "2047".