From 42e9d9cebdba90a1334d02f47d3e0b2ff08a5a62 Mon Sep 17 00:00:00 2001 From: Sanjana B Date: Fri, 6 Dec 2019 17:16:36 +0530 Subject: [PATCH] asoc: update block size for dsd input Update dsd channel block size from codec options. Change-Id: I54011f1092eb8a687d1d4899928daad6746c7aed Signed-off-by: Sanjana B --- asoc/msm-compress-q6-v2.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/asoc/msm-compress-q6-v2.c b/asoc/msm-compress-q6-v2.c index 589f6b98a684..c2d8271f10d2 100644 --- a/asoc/msm-compress-q6-v2.c +++ b/asoc/msm-compress-q6-v2.c @@ -81,6 +81,8 @@ const DECLARE_TLV_DB_LINEAR(msm_compr_vol_gain, 0, #define COMPRESSED_PERF_MODE_FLAG 0 #endif +#define DSD_BLOCK_SIZE_4 4 + struct msm_compr_gapless_state { bool set_next_stream_id; int32_t stream_opened[MAX_NUMBER_OF_STREAMS]; @@ -1388,7 +1390,12 @@ static int msm_compr_send_media_format_block(struct snd_compr_stream *cstream, dsd_cfg.dsd_data_rate = prtd->sample_rate; dsd_cfg.num_version = 0; dsd_cfg.is_bitwise_big_endian = 1; - dsd_cfg.dsd_channel_block_size = 4; + dsd_cfg.dsd_channel_block_size = 1; + + if (codec_options->dsd_dec.blk_size == DSD_BLOCK_SIZE_4) + dsd_cfg.dsd_channel_block_size = + codec_options->dsd_dec.blk_size; + ret = q6asm_media_format_block_dsd(prtd->audio_client, &dsd_cfg, stream_id); if (ret < 0)