1. 15 Jun, 2022 2 commits
    • Sameer Pujar's avatar
      ASoC: tegra: Fix MBDRC bypass mode check · 4edf738d
      Sameer Pujar authored
      MBDRC supports different modes of operation. There is no configuration
      required for bypass mode. The hw_params() call does not filter bypass
      mode correctly and it leads to following Smatch static checker warning:
      
        sound/soc/tegra/tegra210_mbdrc.c:778 tegra210_mbdrc_hw_params()
        warn: bitwise AND condition is false here
      
      Fix this condition by using proper mode mask and just return for bypass
      mode.
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Fixes: 7358a803 ("ASoC: tegra: Add Tegra210 based OPE driver")
      Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
      Link: https://lore.kernel.org/r/1655267914-24702-1-git-send-email-spujar@nvidia.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      4edf738d
    • Sameer Pujar's avatar
      ASoC: tegra: Fix clock DAI format on Tegra210 · 5983a8a4
      Sameer Pujar authored
      I2S reset failures are seen on Tegra210 and later platforms. This indicates
      absence of I2S bit clock, which is required to perform the reset operation.
      Following failures are seen with I2S based tests on Tegra210 and later:
      
        tegra210-i2s 2901100.i2s: timeout: failed to reset I2S for playback
        tegra210-i2s 2901100.i2s: ASoC: PRE_PMU: I2S2 RX event failed: -110
        tegra210-i2s 2901100.i2s: timeout: failed to reset I2S for capture
        tegra210-i2s 2901100.i2s: ASoC: PRE_PMU: I2S2 TX event failed: -110
      
      The commit d92ad663 ("ASoC: tegra: Update to use set_fmt_new callback")
      regressed I2S functionality on Tegra platforms. Basically it flipped clock
      provider and consumer DAI formats. This configures Tegra I2S in consumer
      mode by default now and there is none to provide bit clock during loopback
      tests. The external codec based tests also fail because both Tegra I2S and
      codec I2S get configured in consumer mode.
      
      ASoC core flips the DAI format before calling set_fmt() for CPU DAIs. This
      is negated in above commit. Fix this by swapping SND_SOC_DAIFMT_BC_FC and
      SND_SOC_DAIFMT_BP_FP switch cases.
      
      Fixes: d92ad663 ("ASoC: tegra: Update to use set_fmt_new callback")
      Signed-off-by: default avatarSameer Pujar <spujar@nvidia.com>
      Cc: Charles Keepax <ckeepax@opensource.cirrus.com>
      Link: https://lore.kernel.org/r/1655280277-4701-1-git-send-email-spujar@nvidia.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      5983a8a4
  2. 14 Jun, 2022 13 commits
  3. 13 Jun, 2022 8 commits
  4. 10 Jun, 2022 17 commits