14 Sep
2023
14 Sep
'23
11:21 a.m.
On Thu, Sep 14, 2023 at 03:15:50AM +1000, John Watts wrote:
The wm8782 supports up to 192kHz audio when pins are set correctly. Instead of hardcoding which rates are supported enable them all then refer to a max_rate variable at runtime.
Signed-off-by: John Watts contact@jookia.org
+static int wm8782_dai_hw_params(struct snd_pcm_substream *component,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
+{
- struct wm8782_priv *priv =
snd_soc_component_get_drvdata(dai->component);
- if (params_rate(params) > priv->max_rate)
return -EINVAL;
- return 0;
+}
We should be setting this as a constraint in startup, rather than returning an error in hw_params. That will let user-space know the supported rates and allow it to resample if necessary.
Thanks, Charles