diff mbox series

ASoC: Intel: Skylake: Set sample_type in base config

Message ID 1551250158-27591-1-git-send-email-jenny.tc@intel.corp-partner.google.com (mailing list archive)
State New, archived
Headers show
Series ASoC: Intel: Skylake: Set sample_type in base config | expand

Commit Message

Jenny TC Feb. 27, 2019, 6:49 a.m. UTC
From: Jenny TC <jenny.tc@intel.com>

sample_type defined in topology configuration is not getting reflected
in the dsp param. This patch sets sample_type in base config so that
the sample type defined in the topology is reflected int eh dsp params.
This issues was uncovered while debugging the S24_LE format which
require the MSB byte in 32 bit word to be skipped. Setting sample_type
to 1 helps to fix this.

Signed-off-by: Jenny TC <jenny.tc@intel.com>
---
 sound/soc/intel/skylake/skl-messages.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Pierre-Louis Bossart Feb. 27, 2019, 2:45 p.m. UTC | #1
On 2/27/19 12:49 AM, Jenny TC wrote:
> From: Jenny TC <jenny.tc@intel.com>
>
> sample_type defined in topology configuration is not getting reflected
> in the dsp param. This patch sets sample_type in base config so that
> the sample type defined in the topology is reflected int eh dsp params.
> This issues was uncovered while debugging the S24_LE format which
> require the MSB byte in 32 bit word to be skipped. Setting sample_type
> to 1 helps to fix this.

skl_set_base_module_format() is called from a variety of places, so am I correct in stating that S24_LE never worked with this driver? If so, the patch should really be titled "ASoC: Intel: Skylake: enable S24_LE format support"

Also your commit message is confusing in the last sentence. What do you mean by "Setting sample_type to " when you only use what's provided by the topology?

>
> Signed-off-by: Jenny TC <jenny.tc@intel.com>
> ---
>   sound/soc/intel/skylake/skl-messages.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c
> index b0e6fb9..9260e9a 100644
> --- a/sound/soc/intel/skylake/skl-messages.c
> +++ b/sound/soc/intel/skylake/skl-messages.c
> @@ -483,6 +483,7 @@ static void skl_set_base_module_format(struct skl_sst *ctx,
>   	base_cfg->audio_fmt.bit_depth = format->bit_depth;
>   	base_cfg->audio_fmt.valid_bit_depth = format->valid_bit_depth;
>   	base_cfg->audio_fmt.ch_cfg = format->ch_cfg;
> +	base_cfg->audio_fmt.sample_type = format->sample_type;
>   
>   	dev_dbg(ctx->dev, "bit_depth=%x valid_bd=%x ch_config=%x\n",
>   			format->bit_depth, format->valid_bit_depth,
Jenny TC Feb. 28, 2019, 4:19 a.m. UTC | #2
>>sample_type defined in topology configuration is not getting reflected
>>in the dsp param. This patch sets sample_type in base config so that
>>the sample type defined in the topology is reflected int eh dsp params.
>>This issues was uncovered while debugging the S24_LE format which
>>require the MSB byte in 32 bit word to be skipped. Setting sample_type
>>to 1 helps to fix this.
>skl_set_base_module_format() is called from a variety of places, so am I correct in stating that S24_LE never worked with this driver? If so, the patch should really be titled "ASoC: Intel: Skylake: enable S24_LE format >support"

Yes, S24_LE is being enabled for first time, I'll update the title

>Also your commit message is confusing in the last sentence. What do you mean by "Setting sample_type to " when you only use what's provided by the topology?

Yes, setting sample type to 1 in topology firmware helps to fix this. I'll update the commit message to make it clear.

Signed-off-by: Jenny TC <jenny.tc@intel.com>
---
 sound/soc/intel/skylake/skl-messages.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c
index b0e6fb9..9260e9a 100644
--- a/sound/soc/intel/skylake/skl-messages.c
+++ b/sound/soc/intel/skylake/skl-messages.c
@@ -483,6 +483,7 @@ static void skl_set_base_module_format(struct skl_sst *ctx,
 	base_cfg->audio_fmt.bit_depth = format->bit_depth;
 	base_cfg->audio_fmt.valid_bit_depth = format->valid_bit_depth;
 	base_cfg->audio_fmt.ch_cfg = format->ch_cfg;
+	base_cfg->audio_fmt.sample_type = format->sample_type;
 
 	dev_dbg(ctx->dev, "bit_depth=%x valid_bd=%x ch_config=%x\n",
 			format->bit_depth, format->valid_bit_depth,
diff mbox series

Patch

diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c
index b0e6fb9..9260e9a 100644
--- a/sound/soc/intel/skylake/skl-messages.c
+++ b/sound/soc/intel/skylake/skl-messages.c
@@ -483,6 +483,7 @@  static void skl_set_base_module_format(struct skl_sst *ctx,
 	base_cfg->audio_fmt.bit_depth = format->bit_depth;
 	base_cfg->audio_fmt.valid_bit_depth = format->valid_bit_depth;
 	base_cfg->audio_fmt.ch_cfg = format->ch_cfg;
+	base_cfg->audio_fmt.sample_type = format->sample_type;
 
 	dev_dbg(ctx->dev, "bit_depth=%x valid_bd=%x ch_config=%x\n",
 			format->bit_depth, format->valid_bit_depth,