10 Feb
2020
10 Feb
'20
2:34 p.m.
On Sun, Feb 09, 2020 at 10:47:43AM -0500, Adam Serbinski wrote:
+static int q6pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
+{
- struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev);
- struct q6afe_pcm_cfg *pcm = &dai_data->port_config[dai->id].pcm_cfg;
- pcm->sample_rate = params_rate(params);
This and set_fmt() don't do any validation of the value being set.
static const struct snd_soc_dai_ops q6tdm_ops = { .prepare = q6afe_dai_prepare, .shutdown = q6afe_dai_shutdown,
- .set_sysclk = q6afe_mi2s_set_sysclk,
- .set_sysclk = q6afe_tdm_set_sysclk, .set_tdm_slot = q6tdm_set_tdm_slot, .set_channel_map = q6tdm_set_channel_map, .hw_params = q6tdm_hw_params,
This looks like a separate bug fix that should be split out?
- }, {
.playback = {
.stream_name = "Primary PCM Playback",
.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
.formats = SNDRV_PCM_FMTBIT_S16_LE |
SNDRV_PCM_FMTBIT_S24_LE,
.rate_min = 8000,
.rate_max = 16000,
},
It is surprising to see rate_min and rate_max specified when we're not using _KNOT, and again there's weird formatting here with the tabs before the rate values.