[PATCH 1/9] ASoC: amd: vg: fix for pm resume callback sequence
The previous condition is used to cross check only the active stream status for I2S HS instance playback and capture use cases.
Modified logic to invoke sequence for two i2s controller instances.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-pcm-dma.c | 62 ++++++++++++++------------- 1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c index f10de38976cb..17853d8d56d3 100644 --- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c +++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c @@ -426,6 +426,7 @@ static int acp5x_audio_remove(struct platform_device *pdev) static int __maybe_unused acp5x_pcm_resume(struct device *dev) { struct i2s_dev_data *adata; + struct i2s_stream_instance *rtd; u32 val, reg_val, frmt_val;
reg_val = 0; @@ -433,44 +434,45 @@ static int __maybe_unused acp5x_pcm_resume(struct device *dev) adata = dev_get_drvdata(dev);
if (adata->play_stream && adata->play_stream->runtime) { - struct i2s_stream_instance *rtd = - adata->play_stream->runtime->private_data; + rtd = adata->play_stream->runtime->private_data; config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); - switch (rtd->i2s_instance) { - case I2S_HS_INSTANCE: - reg_val = ACP_HSTDM_ITER; - frmt_val = ACP_HSTDM_TXFRMT; - break; - case I2S_SP_INSTANCE: - default: - reg_val = ACP_I2STDM_ITER; - frmt_val = ACP_I2STDM_TXFRMT; + acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_ITER); + if (adata->tdm_mode == TDM_ENABLE) { + acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_TXFRMT); + val = acp_readl(adata->acp5x_base + ACP_HSTDM_ITER); + acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_ITER); + } + } + if (adata->i2ssp_play_stream && adata->i2ssp_play_stream->runtime) { + rtd = adata->i2ssp_play_stream->runtime->private_data; + config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); + acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_ITER); + if (adata->tdm_mode == TDM_ENABLE) { + acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_TXFRMT); + val = acp_readl(adata->acp5x_base + ACP_I2STDM_ITER); + acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_ITER); } - acp_writel((rtd->xfer_resolution << 3), - rtd->acp5x_base + reg_val); }
if (adata->capture_stream && adata->capture_stream->runtime) { - struct i2s_stream_instance *rtd = - adata->capture_stream->runtime->private_data; + rtd = adata->capture_stream->runtime->private_data; config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); - switch (rtd->i2s_instance) { - case I2S_HS_INSTANCE: - reg_val = ACP_HSTDM_IRER; - frmt_val = ACP_HSTDM_RXFRMT; - break; - case I2S_SP_INSTANCE: - default: - reg_val = ACP_I2STDM_IRER; - frmt_val = ACP_I2STDM_RXFRMT; + acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_IRER); + if (adata->tdm_mode == TDM_ENABLE) { + acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_RXFRMT); + val = acp_readl(adata->acp5x_base + ACP_HSTDM_IRER); + acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_IRER); } - acp_writel((rtd->xfer_resolution << 3), - rtd->acp5x_base + reg_val); } - if (adata->tdm_mode == TDM_ENABLE) { - acp_writel(adata->tdm_fmt, adata->acp5x_base + frmt_val); - val = acp_readl(adata->acp5x_base + reg_val); - acp_writel(val | 0x2, adata->acp5x_base + reg_val); + if (adata->i2ssp_capture_stream && adata->i2ssp_capture_stream->runtime) { + rtd = adata->i2ssp_capture_stream->runtime->private_data; + config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); + acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_IRER); + if (adata->tdm_mode == TDM_ENABLE) { + acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_RXFRMT); + val = acp_readl(adata->acp5x_base + ACP_I2STDM_IRER); + acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_IRER); + } } acp_writel(1, adata->acp5x_base + ACP_EXTERNAL_INTR_ENB); return 0;
Refactor I2S Master mode clock programming sequence code. This will also fix the i2s clocks restore issue during system level resume.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-i2s.c | 26 +++++++------------------- sound/soc/amd/vangogh/acp5x.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/sound/soc/amd/vangogh/acp5x-i2s.c b/sound/soc/amd/vangogh/acp5x-i2s.c index 002db3971ca9..59a98f89a669 100644 --- a/sound/soc/amd/vangogh/acp5x-i2s.c +++ b/sound/soc/amd/vangogh/acp5x-i2s.c @@ -88,10 +88,9 @@ static int acp5x_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_soc_card *card; struct acp5x_platform_info *pinfo; struct i2s_dev_data *adata; - union acp_i2stdm_mstrclkgen mclkgen;
u32 val; - u32 reg_val, frmt_reg, master_reg; + u32 reg_val, frmt_reg; u32 lrclk_div_val, bclk_div_val;
lrclk_div_val = 0; @@ -160,20 +159,6 @@ static int acp5x_i2s_hwparams(struct snd_pcm_substream *substream, acp_writel(val, rtd->acp5x_base + reg_val);
if (adata->master_mode) { - switch (rtd->i2s_instance) { - case I2S_HS_INSTANCE: - master_reg = ACP_I2STDM2_MSTRCLKGEN; - break; - case I2S_SP_INSTANCE: - default: - master_reg = ACP_I2STDM0_MSTRCLKGEN; - break; - } - mclkgen.bits.i2stdm_master_mode = 0x1; - if (adata->tdm_mode) - mclkgen.bits.i2stdm_format_mode = 0x01; - else - mclkgen.bits.i2stdm_format_mode = 0x0; switch (params_format(params)) { case SNDRV_PCM_FORMAT_S16_LE: switch (params_rate(params)) { @@ -238,9 +223,8 @@ static int acp5x_i2s_hwparams(struct snd_pcm_substream *substream, default: return -EINVAL; } - mclkgen.bits.i2stdm_bclk_div_val = bclk_div_val; - mclkgen.bits.i2stdm_lrclk_div_val = lrclk_div_val; - acp_writel(mclkgen.u32_all, rtd->acp5x_base + master_reg); + rtd->lrclk_div = lrclk_div_val; + rtd->bclk_div = bclk_div_val; } return 0; } @@ -249,9 +233,11 @@ static int acp5x_i2s_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *dai) { struct i2s_stream_instance *rtd; + struct i2s_dev_data *adata; u32 ret, val, period_bytes, reg_val, ier_val, water_val; u32 buf_size, buf_reg;
+ adata = snd_soc_dai_get_drvdata(dai); rtd = substream->runtime->private_data; period_bytes = frames_to_bytes(substream->runtime, substream->runtime->period_size); @@ -300,6 +286,8 @@ static int acp5x_i2s_trigger(struct snd_pcm_substream *substream, } acp_writel(period_bytes, rtd->acp5x_base + water_val); acp_writel(buf_size, rtd->acp5x_base + buf_reg); + if (adata->master_mode) + acp5x_set_i2s_clk(adata, rtd); val = acp_readl(rtd->acp5x_base + reg_val); val = val | BIT(0); acp_writel(val, rtd->acp5x_base + reg_val); diff --git a/sound/soc/amd/vangogh/acp5x.h b/sound/soc/amd/vangogh/acp5x.h index fe5e1fa98974..b85d3ee369a3 100644 --- a/sound/soc/amd/vangogh/acp5x.h +++ b/sound/soc/amd/vangogh/acp5x.h @@ -105,6 +105,8 @@ struct i2s_stream_instance { dma_addr_t dma_addr; u64 bytescount; void __iomem *acp5x_base; + u32 lrclk_div; + u32 bclk_div; };
union acp_dma_count { @@ -191,3 +193,30 @@ static inline u64 acp_get_byte_count(struct i2s_stream_instance *rtd, } return byte_count.bytescount; } + +static inline void acp5x_set_i2s_clk(struct i2s_dev_data *adata, + struct i2s_stream_instance *rtd) +{ + union acp_i2stdm_mstrclkgen mclkgen; + u32 master_reg; + + switch (rtd->i2s_instance) { + case I2S_HS_INSTANCE: + master_reg = ACP_I2STDM2_MSTRCLKGEN; + break; + case I2S_SP_INSTANCE: + default: + master_reg = ACP_I2STDM0_MSTRCLKGEN; + break; + } + + mclkgen.bits.i2stdm_master_mode = 0x1; + if (adata->tdm_mode) + mclkgen.bits.i2stdm_format_mode = 0x01; + else + mclkgen.bits.i2stdm_format_mode = 0x00; + + mclkgen.bits.i2stdm_bclk_div_val = rtd->bclk_div; + mclkgen.bits.i2stdm_lrclk_div_val = rtd->lrclk_div; + acp_writel(mclkgen.u32_all, rtd->acp5x_base + master_reg); +}
Enable no_capture_mute_flag in nau8821 codec driver. This will fix active playback stream mute issue when capture stream got closed.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/codecs/nau8821.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/nau8821.c b/sound/soc/codecs/nau8821.c index 2de818377484..d67dc27890a9 100644 --- a/sound/soc/codecs/nau8821.c +++ b/sound/soc/codecs/nau8821.c @@ -814,6 +814,7 @@ static const struct snd_soc_dai_ops nau8821_dai_ops = { .hw_params = nau8821_hw_params, .set_fmt = nau8821_set_dai_fmt, .mute_stream = nau8821_digital_mute, + .no_capture_mute = 1, };
#define NAU8821_RATES SNDRV_PCM_RATE_8000_192000
Add pre power on widget event. Based on this event update platform clock control sequence.
This will fix Codec clock and pll restoration issue during system level resume.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-mach.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp5x-mach.c index 14cf325e4b23..e610616d796c 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -33,6 +33,8 @@ #define DUAL_CHANNEL 2 #define ACP5X_NUVOTON_CODEC_DAI "nau8821-hifi" #define VG_JUPITER 1 +#define ACP5X_NUVOTON_BCLK 3072000 +#define ACP5X_NAU8821_FREQ_OUT 12288000
static unsigned long acp5x_machine_id; static struct snd_soc_jack vg_headset; @@ -274,6 +276,15 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w, dev_err(card->dev, "set sysclk err = %d\n", ret); return -EIO; } + } else { + ret = snd_soc_dai_set_sysclk(codec_dai, NAU8821_CLK_FLL_BLK, 0, + SND_SOC_CLOCK_IN); + if (ret < 0) + dev_err(codec_dai->dev, "can't set BLK clock %d\n", ret); + ret = snd_soc_dai_set_pll(codec_dai, 0, 0, ACP5X_NUVOTON_BCLK, + ACP5X_NAU8821_FREQ_OUT); + if (ret < 0) + dev_err(codec_dai->dev, "can't set FLL: %d\n", ret); } return ret; } @@ -289,7 +300,7 @@ static const struct snd_soc_dapm_widget acp5x_8821_widgets[] = { SND_SOC_DAPM_MIC("Headset Mic", NULL), SND_SOC_DAPM_MIC("Int Mic", NULL), SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0, - platform_clock_control, SND_SOC_DAPM_POST_PMD), + platform_clock_control, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), };
static const struct snd_soc_dapm_route acp5x_8821_audio_route[] = {
ACP I2S controller has limitation to program different BCLK for TX and RX paths. Headset path uses I2S SP controller instance. As per requirement, Restricted 32 bits as sample bits by applying pcm constraint in startup calabck for Headset path.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-mach.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp5x-mach.c index e610616d796c..18b2fdc8dc9e 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -100,6 +100,13 @@ static const struct snd_pcm_hw_constraint_list constraints_channels = { .mask = 0, };
+static const unsigned int acp5x_nau8821_format[] = {32}; + +static struct snd_pcm_hw_constraint_list constraints_sample_bits = { + .list = acp5x_nau8821_format, + .count = ARRAY_SIZE(acp5x_nau8821_format), +}; + static int acp5x_8821_startup(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; @@ -115,6 +122,9 @@ static int acp5x_8821_startup(struct snd_pcm_substream *substream) &constraints_channels); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constraints_rates); + snd_pcm_hw_constraint_list(substream->runtime, 0, + SNDRV_PCM_HW_PARAM_SAMPLE_BITS, + &constraints_sample_bits); return 0; }
As part of ACP programming sequence, ACP_CONTROL and ACP_CLKMUX_SEL registers should be updated during acp init and de-init sequence. This patch updates register sequence during ACP init and deinit.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/pci-acp5x.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/amd/vangogh/pci-acp5x.c b/sound/soc/amd/vangogh/pci-acp5x.c index 2b6b9edc36e2..e0df17c88e8e 100644 --- a/sound/soc/amd/vangogh/pci-acp5x.c +++ b/sound/soc/amd/vangogh/pci-acp5x.c @@ -92,12 +92,14 @@ static int acp5x_init(void __iomem *acp5x_base) pr_err("ACP5x power on failed\n"); return ret; } + acp_writel(0x01, acp5x_base + ACP_CONTROL); /* Reset */ ret = acp5x_reset(acp5x_base); if (ret) { pr_err("ACP5x reset failed\n"); return ret; } + acp_writel(0x03, acp5x_base + ACP_CLKMUX_SEL); acp5x_enable_interrupts(acp5x_base); return 0; } @@ -113,6 +115,8 @@ static int acp5x_deinit(void __iomem *acp5x_base) pr_err("ACP5x reset failed\n"); return ret; } + acp_writel(0x00, acp5x_base + ACP_CLKMUX_SEL); + acp_writel(0x00, acp5x_base + ACP_CONTROL); return 0; }
Update DAI link name as "acp5x-8821-play".
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-mach.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp5x-mach.c index 18b2fdc8dc9e..287efd9282db 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -242,7 +242,7 @@ SND_SOC_DAILINK_DEF(platform,
static struct snd_soc_dai_link acp5x_dai[] = { { - .name = "acp5x-8825-play", + .name = "acp5x-8821-play", .stream_name = "Playback/Capture", .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBC_CFC,
Fix checkpatch pl errors and warnings in vangogh machine driver.
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-mach.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp5x-mach.c index 287efd9282db..c574e80907f0 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -341,7 +341,6 @@ static struct snd_soc_card acp5x_card = { .num_controls = ARRAY_SIZE(acp5x_8821_controls), };
- static int acp5x_vg_quirk_cb(const struct dmi_system_id *id) { acp5x_machine_id = VG_JUPITER; @@ -371,7 +370,7 @@ static int acp5x_probe(struct platform_device *pdev) return -ENOMEM;
dmi_check_system(acp5x_vg_quirk_table); - switch(acp5x_machine_id) { + switch (acp5x_machine_id) { case VG_JUPITER: card = &acp5x_card; acp5x_card.dev = &pdev->dev;
Fixed below smatch static checker warning. sound/soc/amd/vangogh/acp5x-mach.c:190 acp5x_cs35l41_hw_params() error: uninitialized symbol 'ret'.
Reported-by: Dan Carpenter dan.carpenter@oracle.com Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/vangogh/acp5x-mach.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp5x-mach.c index c574e80907f0..5ae3de76283e 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -177,6 +177,7 @@ static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *substream, unsigned int num_codecs = rtd->num_codecs; unsigned int bclk_val;
+ ret = 0; for (i = 0; i < num_codecs; i++) { codec_dai = asoc_rtd_to_codec(rtd, i); if ((strcmp(codec_dai->name, "spi-VLV1776:00") == 0) ||
Hi Vijendar,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on broonie-sound/for-next] [also build test WARNING on v5.17-rc5 next-20220222] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Vijendar-Mukunda/ASoC-amd-vg-fix-fo... base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220223/202202232021.rBs2qLvB-lkp@i...) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/43c5f728cf59371b29569d941fb2ef2bdc3a... git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vijendar-Mukunda/ASoC-amd-vg-fix-for-pm-resume-callback-sequence/20220223-152636 git checkout 43c5f728cf59371b29569d941fb2ef2bdc3a279d # save the config file to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/amd/vangogh/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot lkp@intel.com
All warnings (new ones prefixed by >>):
sound/soc/amd/vangogh/acp5x-pcm-dma.c: In function 'acp5x_pcm_resume':
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:20: warning: variable 'frmt_val' set but not used [-Wunused-but-set-variable]
430 | u32 val, reg_val, frmt_val; | ^~~~~~~~
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:11: warning: variable 'reg_val' set but not used [-Wunused-but-set-variable]
430 | u32 val, reg_val, frmt_val; | ^~~~~~~
vim +/frmt_val +430 sound/soc/amd/vangogh/acp5x-pcm-dma.c
361414dc1f07b72 Vijendar Mukunda 2021-07-21 425 361414dc1f07b72 Vijendar Mukunda 2021-07-21 426 static int __maybe_unused acp5x_pcm_resume(struct device *dev) 361414dc1f07b72 Vijendar Mukunda 2021-07-21 427 { 361414dc1f07b72 Vijendar Mukunda 2021-07-21 428 struct i2s_dev_data *adata; 43c5f728cf59371 Vijendar Mukunda 2022-02-23 429 struct i2s_stream_instance *rtd; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 @430 u32 val, reg_val, frmt_val; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 431 361414dc1f07b72 Vijendar Mukunda 2021-07-21 432 reg_val = 0; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 433 frmt_val = 0; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 434 adata = dev_get_drvdata(dev); 361414dc1f07b72 Vijendar Mukunda 2021-07-21 435 361414dc1f07b72 Vijendar Mukunda 2021-07-21 436 if (adata->play_stream && adata->play_stream->runtime) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 437 rtd = adata->play_stream->runtime->private_data; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 438 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 439 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 440 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 441 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_TXFRMT); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 442 val = acp_readl(adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 443 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 444 } 43c5f728cf59371 Vijendar Mukunda 2022-02-23 445 } 43c5f728cf59371 Vijendar Mukunda 2022-02-23 446 if (adata->i2ssp_play_stream && adata->i2ssp_play_stream->runtime) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 447 rtd = adata->i2ssp_play_stream->runtime->private_data; 43c5f728cf59371 Vijendar Mukunda 2022-02-23 448 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 449 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 450 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 451 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_TXFRMT); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 452 val = acp_readl(adata->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 453 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_ITER); 361414dc1f07b72 Vijendar Mukunda 2021-07-21 454 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 455 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 456 361414dc1f07b72 Vijendar Mukunda 2021-07-21 457 if (adata->capture_stream && adata->capture_stream->runtime) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 458 rtd = adata->capture_stream->runtime->private_data; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 459 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 460 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 461 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 462 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_RXFRMT); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 463 val = acp_readl(adata->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 464 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_IRER); 361414dc1f07b72 Vijendar Mukunda 2021-07-21 465 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 466 } 43c5f728cf59371 Vijendar Mukunda 2022-02-23 467 if (adata->i2ssp_capture_stream && adata->i2ssp_capture_stream->runtime) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 468 rtd = adata->i2ssp_capture_stream->runtime->private_data; 43c5f728cf59371 Vijendar Mukunda 2022-02-23 469 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 470 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_IRER); 361414dc1f07b72 Vijendar Mukunda 2021-07-21 471 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf59371 Vijendar Mukunda 2022-02-23 472 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_RXFRMT); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 473 val = acp_readl(adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 474 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf59371 Vijendar Mukunda 2022-02-23 475 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 476 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 477 acp_writel(1, adata->acp5x_base + ACP_EXTERNAL_INTR_ENB); 361414dc1f07b72 Vijendar Mukunda 2021-07-21 478 return 0; 361414dc1f07b72 Vijendar Mukunda 2021-07-21 479 } 361414dc1f07b72 Vijendar Mukunda 2021-07-21 480
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi Vijendar,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on broonie-sound/for-next] [also build test WARNING on v5.17-rc5 next-20220222] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Vijendar-Mukunda/ASoC-amd-vg-fix-fo... base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: x86_64-randconfig-a014 (https://download.01.org/0day-ci/archive/20220224/202202240237.RkL3TEe3-lkp@i...) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/43c5f728cf59371b29569d941fb2ef2bdc3a... git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vijendar-Mukunda/ASoC-amd-vg-fix-for-pm-resume-callback-sequence/20220223-152636 git checkout 43c5f728cf59371b29569d941fb2ef2bdc3a279d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/amd/vangogh/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot lkp@intel.com
All warnings (new ones prefixed by >>):
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:20: warning: variable 'frmt_val' set but not used [-Wunused-but-set-variable]
u32 val, reg_val, frmt_val; ^
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:11: warning: variable 'reg_val' set but not used [-Wunused-but-set-variable]
u32 val, reg_val, frmt_val; ^ 2 warnings generated.
vim +/frmt_val +430 sound/soc/amd/vangogh/acp5x-pcm-dma.c
361414dc1f07b7 Vijendar Mukunda 2021-07-21 425 361414dc1f07b7 Vijendar Mukunda 2021-07-21 426 static int __maybe_unused acp5x_pcm_resume(struct device *dev) 361414dc1f07b7 Vijendar Mukunda 2021-07-21 427 { 361414dc1f07b7 Vijendar Mukunda 2021-07-21 428 struct i2s_dev_data *adata; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 429 struct i2s_stream_instance *rtd; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 @430 u32 val, reg_val, frmt_val; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 431 361414dc1f07b7 Vijendar Mukunda 2021-07-21 432 reg_val = 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 433 frmt_val = 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 434 adata = dev_get_drvdata(dev); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 435 361414dc1f07b7 Vijendar Mukunda 2021-07-21 436 if (adata->play_stream && adata->play_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 437 rtd = adata->play_stream->runtime->private_data; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 438 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 439 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 440 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 441 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_TXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 442 val = acp_readl(adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 443 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 444 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 445 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 446 if (adata->i2ssp_play_stream && adata->i2ssp_play_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 447 rtd = adata->i2ssp_play_stream->runtime->private_data; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 448 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 449 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 450 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 451 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_TXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 452 val = acp_readl(adata->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 453 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_ITER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 454 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 455 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 456 361414dc1f07b7 Vijendar Mukunda 2021-07-21 457 if (adata->capture_stream && adata->capture_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 458 rtd = adata->capture_stream->runtime->private_data; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 459 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 460 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 461 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 462 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_RXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 463 val = acp_readl(adata->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 464 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_IRER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 465 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 466 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 467 if (adata->i2ssp_capture_stream && adata->i2ssp_capture_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 468 rtd = adata->i2ssp_capture_stream->runtime->private_data; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 469 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 470 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_IRER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 471 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 472 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_RXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 473 val = acp_readl(adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 474 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 475 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 476 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 477 acp_writel(1, adata->acp5x_base + ACP_EXTERNAL_INTR_ENB); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 478 return 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 479 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 480
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On 2/24/22 12:04 AM, kernel test robot wrote:
Hi Vijendar,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on broonie-sound/for-next] [also build test WARNING on v5.17-rc5 next-20220222] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit-scm.co...]
url: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com... base: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kernel... for-next config: x86_64-randconfig-a014 (https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdownload.0...) compiler: clang version 15.0.0 (https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com... d271fc04d5b97b12e6b797c6067d3c96a8d7470e) reproduce (this is a W=1 build): wget https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.github... -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com... git remote add linux-review https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com... git fetch --no-tags linux-review Vijendar-Mukunda/ASoC-amd-vg-fix-for-pm-resume-callback-sequence/20220223-152636 git checkout 43c5f728cf59371b29569d941fb2ef2bdc3a279d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/amd/vangogh/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot lkp@intel.com
All warnings (new ones prefixed by >>):
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:20: warning: variable 'frmt_val' set but not used [-Wunused-but-set-variable]
u32 val, reg_val, frmt_val; ^
sound/soc/amd/vangogh/acp5x-pcm-dma.c:430:11: warning: variable 'reg_val' set but not used [-Wunused-but-set-variable]
u32 val, reg_val, frmt_val; ^
2 warnings generated.
will fix it and post the patch.
vim +/frmt_val +430 sound/soc/amd/vangogh/acp5x-pcm-dma.c
361414dc1f07b7 Vijendar Mukunda 2021-07-21 425 361414dc1f07b7 Vijendar Mukunda 2021-07-21 426 static int __maybe_unused acp5x_pcm_resume(struct device *dev) 361414dc1f07b7 Vijendar Mukunda 2021-07-21 427 { 361414dc1f07b7 Vijendar Mukunda 2021-07-21 428 struct i2s_dev_data *adata; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 429 struct i2s_stream_instance *rtd; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 @430 u32 val, reg_val, frmt_val; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 431 361414dc1f07b7 Vijendar Mukunda 2021-07-21 432 reg_val = 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 433 frmt_val = 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 434 adata = dev_get_drvdata(dev); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 435 361414dc1f07b7 Vijendar Mukunda 2021-07-21 436 if (adata->play_stream && adata->play_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 437 rtd = adata->play_stream->runtime->private_data; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 438 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 439 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 440 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 441 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_TXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 442 val = acp_readl(adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 443 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 444 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 445 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 446 if (adata->i2ssp_play_stream && adata->i2ssp_play_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 447 rtd = adata->i2ssp_play_stream->runtime->private_data; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 448 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 449 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 450 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 451 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_TXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 452 val = acp_readl(adata->acp5x_base + ACP_I2STDM_ITER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 453 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_ITER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 454 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 455 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 456 361414dc1f07b7 Vijendar Mukunda 2021-07-21 457 if (adata->capture_stream && adata->capture_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 458 rtd = adata->capture_stream->runtime->private_data; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 459 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 460 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 461 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 462 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_HSTDM_RXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 463 val = acp_readl(adata->acp5x_base + ACP_HSTDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 464 acp_writel(val | 0x2, adata->acp5x_base + ACP_HSTDM_IRER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 465 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 466 } 43c5f728cf5937 Vijendar Mukunda 2022-02-23 467 if (adata->i2ssp_capture_stream && adata->i2ssp_capture_stream->runtime) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 468 rtd = adata->i2ssp_capture_stream->runtime->private_data; 43c5f728cf5937 Vijendar Mukunda 2022-02-23 469 config_acp5x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 470 acp_writel((rtd->xfer_resolution << 3), rtd->acp5x_base + ACP_I2STDM_IRER); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 471 if (adata->tdm_mode == TDM_ENABLE) { 43c5f728cf5937 Vijendar Mukunda 2022-02-23 472 acp_writel(adata->tdm_fmt, adata->acp5x_base + ACP_I2STDM_RXFRMT); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 473 val = acp_readl(adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 474 acp_writel(val | 0x2, adata->acp5x_base + ACP_I2STDM_IRER); 43c5f728cf5937 Vijendar Mukunda 2022-02-23 475 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 476 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 477 acp_writel(1, adata->acp5x_base + ACP_EXTERNAL_INTR_ENB); 361414dc1f07b7 Vijendar Mukunda 2021-07-21 478 return 0; 361414dc1f07b7 Vijendar Mukunda 2021-07-21 479 } 361414dc1f07b7 Vijendar Mukunda 2021-07-21 480
0-DAY CI Kernel Test Service, Intel Corporation https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.o...
On Wed, 23 Feb 2022 12:49:30 +0530, Vijendar Mukunda wrote:
The previous condition is used to cross check only the active stream status for I2S HS instance playback and capture use cases.
Modified logic to invoke sequence for two i2s controller instances.
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-linus
Thanks!
[1/9] ASoC: amd: vg: fix for pm resume callback sequence (no commit info) [2/9] ASoC: amd: vangogh: refactor i2s master mode clock sequence code commit: 5ca4cf2c83dac27768f1d7d3e2404f5a17830ca5 [3/9] ASoC: nau8821: enable no_capture_mute flag commit: aa9753a4677d0a2c53e7e46ca173c985a3f7b83e [4/9] ASoC: amd: vg: update platform clock control sequence commit: 9a617f0e109cfba2017d76f807ebb3a00c47bdca [5/9] ASoC: amd: vg: apply sample bits pcm constraint commit: 0c38cc1dd17e766eada0aa44be4c1a47bcbb7bc3 [6/9] ASoC: amd: vg: update acp init and deinit sequence commit: a9230ccc0c6f5fca0b94f57729dc61e0a6098a0a
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
On 2/24/22 5:52 PM, Mark Brown wrote:
On Wed, 23 Feb 2022 12:49:30 +0530, Vijendar Mukunda wrote:
The previous condition is used to cross check only the active stream status for I2S HS instance playback and capture use cases.
Modified logic to invoke sequence for two i2s controller instances.
Applied to
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kernel... for-linus
Thanks!
[1/9] ASoC: amd: vg: fix for pm resume callback sequence (no commit info)
This patch hasn't been applied to tree. Should I re-send the patch ?
-- Vijendar
[2/9] ASoC: amd: vangogh: refactor i2s master mode clock sequence code commit: 5ca4cf2c83dac27768f1d7d3e2404f5a17830ca5 [3/9] ASoC: nau8821: enable no_capture_mute flag commit: aa9753a4677d0a2c53e7e46ca173c985a3f7b83e [4/9] ASoC: amd: vg: update platform clock control sequence commit: 9a617f0e109cfba2017d76f807ebb3a00c47bdca [5/9] ASoC: amd: vg: apply sample bits pcm constraint commit: 0c38cc1dd17e766eada0aa44be4c1a47bcbb7bc3 [6/9] ASoC: amd: vg: update acp init and deinit sequence commit: a9230ccc0c6f5fca0b94f57729dc61e0a6098a0a
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
On Sat, Feb 26, 2022 at 12:02:53AM +0530, Mukunda,Vijendar wrote:
On 2/24/22 5:52 PM, Mark Brown wrote:
[1/9] ASoC: amd: vg: fix for pm resume callback sequence (no commit info)
This patch hasn't been applied to tree. Should I re-send the patch ?
There were some issues reported by 0day that should be fixed but yes, please resend with those fixed.
participants (4)
-
kernel test robot
-
Mark Brown
-
Mukunda,Vijendar
-
Vijendar Mukunda