Skip to content
Permalink
Vijendar-Mukun…
Switch branches/tags

Commits on Mar 15, 2021

  1. ASoC: amd: add support for rt5682 codec in machine driver

    Add support for RT5682 codec in machine driver.
    
    Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
    vijendarmukunda authored and intel-lab-lkp committed Mar 15, 2021

Commits on Mar 12, 2021

  1. Merge series "AsoC: rt5640/rt5651: Volume control fixes" from Hans de…

    … Goede <hdegoede@redhat.com>:
    
    Hi All,
    
    Here is a resent of the remaining patches from my
    "[PATCH 0/5] AsoC: rt5640/rt5651: Volume control fixes" series,
    with the controversial "[PATCH 3/5] ASoC: rt5640: Add emulated
    'DAC1 Playback Switch' control" patch dropped, and these
    remaining 2 patches rebased to still apply with that patch dropped.
    
    Regards,
    
    Hans
    
    Hans de Goede (2):
      ASoC: rt5640: Rename 'Mono DAC Playback Volume' to 'DAC2 Playback
        Volume'
      ASoC: Intel: bytcr_rt5640: Add used AIF to the components string
    
     sound/soc/codecs/rt5640.c             |  6 +++---
     sound/soc/intel/boards/bytcr_rt5640.c | 11 ++++++++---
     2 files changed, 11 insertions(+), 6 deletions(-)
    
    --
    2.30.1
    broonie committed Mar 12, 2021
  2. Merge series "ASoC: samsung: remove cppcheck warnings" from Pierre-Lo…

    …uis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    v4:
    corrected Fixes tag
    Added added Krzysztof Kozlowski's r-v-b tag
    reverted patch2 to v2 since this is the agreement.
    
    v3:
    Added Sylwester tag
    Rebased and squashed fix with initial patch which was merged at some
    point but can't be found in broonie/for-next (not sure what happened?)
    Corrected patch subjects to tm2_wm5110
    Reverted second patch to initial v1, after agreement between Krzysztof
    and Sylwester
    
    v2:
    added Krzysztof Kozlowski's tags
    added fix for first patch already merged as suggested by Krzysztof Kozlowski
    moved variable to lower scope in patch6
    
    Pierre-Louis Bossart (2):
      ASoC: samsung: tm2_wm5110: check of of_parse return value
      ASoC: samsung: tm2_wm5110: remove shadowed variable
    
     sound/soc/samsung/tm2_wm5110.c | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    --
    2.25.1
    broonie committed Mar 12, 2021
  3. ASoC: fsl_asrc_dma: request dma channel from specific controller

    Request dma channel from specific dma controller instead of generic
    dma controller list, otherwise, may get the wrong dma controller
    if there are multi dma controllers such as i.MX8MP.
    
    Signed-off-by: Robin Gong <yibin.gong@nxp.com>
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1614935977-21638-1-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Robin Gong authored and broonie committed Mar 12, 2021
  4. ASoC: Intel: bytcr_rt5640: Add used AIF to the components string

    Depending on which AIF is used the UCM profile needs to setup
    a different path through the rt5640's "Digital Mixer Path" graph.
    
    ATM the UCM profiles solve this by just enabling paths to the outputs /
    from the input from both AIF1 and AIF2 and then relying on the DAPM
    framework to power-down the parts of the graph connected to the
    unused AIF.
    
    But in order to be able to use hardware-volumecontrol and to use
    the hardware mute controls, which are necessary for mute LED control,
    the UCM profiles need to know which AIF is actually being used.
    
    Add a new "aif:1" or "aif:2" part to the component string to provide
    info about the used AIF to userspace / to the UCM profiles.
    
    Note the size of byt_rt5640_components is not increased because the
    size of 32 chars already is big enough.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20210307150503.34906-3-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Mar 12, 2021
  5. ASoC: rt5640: Rename 'Mono DAC Playback Volume' to 'DAC2 Playback Vol…

    …ume'
    
    Rename 'Mono DAC Playback Volume' to 'DAC2 Playback Volume' and move it
    from rt5640_specific_snd_controls[] to rt5640_snd_controls[].
    
    The RT5640_DAC2_DIG_VOL register controlled by this mixer-element has
    nothing to do with the Mono (Amplified) output which is only available
    on the ALC5640 chip and not on the ALC5642 chip.
    
    The RT5640_DAC2_DIG_VOL volume-control is the main volume control for
    audio coming from the I2S2 / AIF2 input of the chip and as such is also
    available on the ALC5642.
    
    This commit results in the following userspace visible changes:
    
    1. On devices with an ACL5640 codec, the 'Mono DAC Playback Volume'
    control is renamed to 'DAC2 Playback Volume' allowing the alsa-lib
    mixer code to properly group it with the 'DAC2 Playback Switch' which
    is controlling the mute bits in the RT5640_DAC2_DIG_VOL register.
    
    Note the removal of the 'Mono DAC Playback Volume' is not an issue for
    userspace because the UCM profiles do not use it (the UCM profiles are
    shared betweent the 5640 and 5642 and only the 5640 had this control).
    
    2. On devices with an ACL5642 codec, there now will be a new
    'DAC2 Playback Volume', grouped with the 'DAC2 Playback Switch'
    
    Having a complete 'DAC2 Playback Volume' / 'DAC2 Playback Switch' pair
    on both variants will allow enabling hardware-volume control by
    setting the UCM PlaybackMasterElem to "DAC2" on devices where the
    I2S2/AIF2 interface of the codec is used.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20210307150503.34906-2-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Mar 12, 2021
  6. ASoC: samsung: tm2_wm5110: remove shadowed variable

    cppcheck warning:
    
    sound/soc/samsung/tm2_wm5110.c:552:26: style: Local variable 'args'
    shadows outer variable [shadowVariable]
      struct of_phandle_args args;
                             ^
    sound/soc/samsung/tm2_wm5110.c:504:25: note: Shadowed declaration
     struct of_phandle_args args;
                            ^
    sound/soc/samsung/tm2_wm5110.c:552:26: note: Shadow variable
      struct of_phandle_args args;
                             ^
    Move the top-level variable to the lower scope where it's needed.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210312180231.2741-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  7. ASoC: samsung: tm2_wm5110: check of of_parse return value

    cppcheck warning:
    
    sound/soc/samsung/tm2_wm5110.c:605:6: style: Variable 'ret' is
    reassigned a value before the old one has been
    used. [redundantAssignment]
     ret = devm_snd_soc_register_component(dev, &tm2_component,
         ^
    sound/soc/samsung/tm2_wm5110.c:554:7: note: ret is assigned
      ret = of_parse_phandle_with_args(dev->of_node, "i2s-controller",
          ^
    sound/soc/samsung/tm2_wm5110.c:605:6: note: ret is overwritten
     ret = devm_snd_soc_register_component(dev, &tm2_component,
         ^
    
    The args is a stack variable, so it could have junk (uninitialized)
    therefore args.np could have a non-NULL and random value even though
    property was missing. Later could trigger invalid pointer dereference.
    
    There's no need to check for args.np because args.np won't be
    initialized on errors.
    
    Fixes: 8d1513c ("ASoC: samsung: Add support for HDMI audio on TM2 board")
    Cc: <stable@vger.kernel.org>
    Suggested-by: Krzysztof Kozlowski <krzk@kernel.org>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210312180231.2741-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  8. ASoC: rt1015p: add acpi device id for rt1015p

    Add acpi device id for rt1015p.
    
    Signed-off-by: Jack Yu <jack.yu@realtek.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/949671bd00c14b6d9aa5e85cc14be5d4@realtek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Jack Yu authored and broonie committed Mar 12, 2021
  9. ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF

    The Asus T100TAF uses the same jack-detect settings as the T100TA,
    this has been confirmed on actual hardware.
    
    Add these settings to the T100TAF quirks to enable jack-detect support
    on the T100TAF.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210312114850.13832-1-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Mar 12, 2021
  10. Merge series "ASoC: soc-pcm: cleanup each functions" from Kuninori Mo…

    …rimoto <kuninori.morimoto.gx@renesas.com>:
    
    Hi Mark
    
    These are v2 of soc-pcm cleanup patches.
    These has no relationship to each other.
    
    My 1 concern is [3/8] patch. I think it is no problem,
    but I'm not 100% sure why current code was such code.
    Pierre-Louis / Liam might about something.
    
    v1 -> v2
    	- soc_cpu/codec_dai_name() is now inline function
    	- rename soc_pcm_care_symmetry() to soc_pcm_update_symmetry()
    
    v2 -> v3
    	- log fix at [6/8]
    	  - Thus, it will be minus users at (2).
    	  + Thus, users will be a negative number at (2)
    
    Link: https://lore.kernel.org/r/87tupuqqc8.wl-kuninori.morimoto.gx@renesas.com
    Link: https://lore.kernel.org/r/87tupqpg9x.wl-kuninori.morimoto.gx@renesas.com
    
    Kuninori Morimoto (8):
      ASoC: soc-pcm: check DAI activity under soc_pcm_apply_symmetry()
      ASoC: soc-pcm: add soc_cpu/codec_dai_name() macro
      ASoC: soc-pcm: direct copy at snd_soc_set_runtime_hwparams()
      ASoC: soc-pcm: add soc_pcm_update_symmetry()
      ASoC: soc-pcm: add soc_hw_sanity_check()
      ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count
      ASoC: soc-pcm: remove unneeded !rtd->dai_link check
      ASoC: soc-pcm: share DPCM BE DAI stop operation
    
     include/sound/soc-dpcm.h |   8 +-
     sound/soc/soc-compress.c |   2 +-
     sound/soc/soc-pcm.c      | 243 ++++++++++++++++-----------------------
     3 files changed, 105 insertions(+), 148 deletions(-)
    
    --
    2.25.1
    broonie committed Mar 12, 2021
  11. ASoC: mediatek: mt8173: rename local irq variable

    cppcheck warning:
    
    sound/soc/mediatek/mt8173/mt8173-afe-pcm.c:929:28: style: Local
    variable 'irq' shadows outer argument [shadowArgument]
      struct mtk_base_afe_irq *irq;
                               ^
    sound/soc/mediatek/mt8173/mt8173-afe-pcm.c:914:47: note: Shadowed
    declaration
    static irqreturn_t mt8173_afe_irq_handler(int irq, void *dev_id)
                                                  ^
    sound/soc/mediatek/mt8173/mt8173-afe-pcm.c:929:28: note: Shadow
    variable
      struct mtk_base_afe_irq *irq;
                               ^
    
    Not a great idea to have two 'irq' variables in the same function...
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210311004904.121205-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  12. ASoC: mediatek: mt2701: rename shadowed array

    cppcheck warning:
    
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:406:36: style: Local
    variable 'memif_data' shadows outer variable [shadowVariable]
     const struct mtk_base_memif_data *memif_data;
                                       ^
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:977:41: note: Shadowed
    declaration
    static const struct mtk_base_memif_data memif_data[MT2701_MEMIF_NUM] = {
                                            ^
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:406:36: note: Shadow
    variable
     const struct mtk_base_memif_data *memif_data;
                                       ^
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:431:36: style: Local
    variable 'memif_data' shadows outer variable [shadowVariable]
     const struct mtk_base_memif_data *memif_data;
                                       ^
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:977:41: note: Shadowed
    declaration
    static const struct mtk_base_memif_data memif_data[MT2701_MEMIF_NUM] = {
                                            ^
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c:431:36: note: Shadow
    variable
     const struct mtk_base_memif_data *memif_data;
                                       ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210311004904.121205-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  13. ASoC: mediatek: mt2701: align function prototype

    cppcheck warnings:
    
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c:102:30:
    style:inconclusive: Function 'mt2701_afe_enable_i2s' argument 2 names
    different: declaration 'path' definition
    'i2s_path'. [funcArgNamesDifferent]
         struct mt2701_i2s_path *i2s_path,
                                 ^
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h:21:30: note:
    Function 'mt2701_afe_enable_i2s' argument 2 names different:
    declaration 'path' definition 'i2s_path'.
         struct mt2701_i2s_path *path,
                                 ^
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c:102:30: note:
    Function 'mt2701_afe_enable_i2s' argument 2 names different:
    declaration 'path' definition 'i2s_path'.
    
         struct mt2701_i2s_path *i2s_path,
                                 ^
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c:128:32:
    style:inconclusive: Function 'mt2701_afe_disable_i2s' argument 2 names
    different: declaration 'path' definition
    'i2s_path'. [funcArgNamesDifferent]
           struct mt2701_i2s_path *i2s_path,
                                   ^
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h:24:32: note:
    Function 'mt2701_afe_disable_i2s' argument 2 names different:
    declaration 'path' definition 'i2s_path'.
           struct mt2701_i2s_path *path,
                                   ^
    sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c:128:32: note:
    Function 'mt2701_afe_disable_i2s' argument 2 names different:
    declaration 'path' definition 'i2s_path'.
           struct mt2701_i2s_path *i2s_path,
                                   ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210311004904.121205-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  14. ASoC: mediatek: mtk-btcvsd: remove useless assignment

    cppcheck warning:
    
    sound/soc/mediatek/common/mtk-btcvsd.c:783:34: style: Variable 'avail'
    is assigned a value that is never used. [unreadVariable]
     int written_size = count, avail = 0, cur_write_idx, write_size, cont;
                                     ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20210311004904.121205-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 12, 2021
  15. ASoC: soc-pcm: share DPCM BE DAI stop operation

    soc-pcm has very similar but different DPCM BE DAI stop operation at
    	1) dpcm_be_dai_startup() error case rollback
    	2) dpcm_be_dai_startup_unwind()
    	3) dpcm_be_dai_shutdown()
    
    The differences are
    	1) for rollback
    	2) Doesn't check by snd_soc_dpcm_be_can_update() (Is this bug ?)
    	3) Do soc_pcm_hw_free() if it was not !OPENed and !HW_FREEed,
    	   and call soc_pcm_close().
    
    We can share same code by
    	1) hw_free is not needed. Needs last dpcm as rollback.
    	2) hw_free is not needed.
    	3) hw_free is     needed.
    
    This patch adds new dpcm_be_dai_stop() and share these 3.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87a6rduoam.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  16. ASoC: soc-pcm: remove unneeded !rtd->dai_link check

    rtd->dai_link is setuped at soc_new_pcm_runtime(),
    thus "rtd->dai_link == NULL" is never happen.
    This patch removes unneeded !rtd->dai_link check
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87blbtuoar.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  17. ASoC: soc-pcm: fixup dpcm_be_dai_startup() user count

    At dpcm_be_dai_startup_unwind(), it indicates error message at (1)
    if this function was called with no users.
    But, it doesn't use "continue" here. Thus, users will be a
    negative number at (2)
    
    	void dpcm_be_dai_startup_unwind(...)
    	{
    		...
    		for_each_dpcm_be(...) {
    			...
    (1)			if (be->dpcm[stream].users == 0)
    				dev_err(...);
    
    (2)			if (--be->dpcm[stream].users != 0)
    				continue;
    
    At dpcm_be_dai_startup(), it indicates error message if
    user reached to MAX USERS at (A).
    But, it doesn't use "continue" here. Thus, it will be over
    MAX USERS at (B).
    
    	int dpcm_be_dai_startup(...)
    	{
    		...
    		for_each_dpcm_be(...) {
    			...
    (A)			if (be->dpcm[stream].users == DPCM_MAX_BE_USERS)
    				dev_err(...);
    
    (B)			if (be->dpcm[stream].users++ != 0)
    				continue;
    
    These are just bug. This patch fixup these.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87czw9uoav.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  18. ASoC: soc-pcm: add soc_hw_sanity_check()

    Current soc_pcm_open() is checking runtime->hw parameters, but having
    such function is very helpful for reading code.
    
    This patch adds new soc_hw_sanity_check() and checks runtime->hw
    parameters there. And print its debug message there, too.
    
    Debug message print out timing is exchanged after this patch,
    but it is not a big deal, because it is for debug.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87eegpuob1.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  19. ASoC: soc-pcm: add soc_pcm_update_symmetry()

    Current soc-pcm has soc_pcm_has_symmetry() and using it as
    
    	if (soc_pcm_has_symmetry(substream))
    		substream->runtime->hw.info |= SNDRV_PCM_INFO_JOINT_DUPLEX;
    
    We want to share same operation as same function.
    This patch adds soc_pcm_update_symmetry() and pack above code in
    one function.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87ft15uob6.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  20. ASoC: soc-pcm: direct copy at snd_soc_set_runtime_hwparams()

    snd_soc_set_runtime_hwparams() is called from each driver
    to initialize hw parameters,
    but coping each parameters one-by-one.
    
    Current code is not copying all parameters, but no big effect
    if we do it. This patch copies all parameters by simple code.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87h7lluoba.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  21. ASoC: soc-pcm: add soc_cpu/codec_dai_name() macro

    soc-pcm needs DAI name and it will be "multicpu/multicodec" if it has
    many DAIs. But current code is using very verbose for it.
    This patch uses macro and makes code simple.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87im61uobf.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  22. ASoC: soc-pcm: check DAI activity under soc_pcm_apply_symmetry()

    soc_pcm_apply_symmetry() is used like below in all cases.
    
    	if (snd_soc_dai_active(dai)) {
    		err = soc_pcm_apply_symmetry(fe_substream, dai);
    		...
    	}
    
    Because of this style, the code is deep nested.
    This patch checks it under soc_pcm_apply_symmetry(), and makes code simple.
    
    	static int soc_pcm_apply_symmetry(...)
    	{
    		...
    =>		if (!snd_soc_dai_active(...))
    			return 0;
    		...
    	}
    
    =>	ret = soc_pcm_apply_symmetry();
    	if (ret < 0)
    		...
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87k0qhuobl.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    morimoto authored and broonie committed Mar 12, 2021
  23. ASoC: mediatek: mt8192: fix tdm out data is valid on rising edge

    This patch correct tdm out bck inverse register to AUDIO_TOP_CON3[3].
    
    Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
    Link: https://lore.kernel.org/r/1615516005-781-1-git-send-email-jiaxin.yu@mediatek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    yujiaxinff authored and broonie committed Mar 12, 2021

Commits on Mar 11, 2021

  1. ASoC: qcom: lpass-cpu: Fix lpass dai ids parse

    The max boundary check while parsing dai ids makes
    sound card registration fail after common up dai ids.
    
    Fixes: cd3484f ("ASoC: qcom: Fix broken support to MI2S TERTIARY and QUATERNARY")
    
    Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
    Link: https://lore.kernel.org/r/20210311154557.24978-1-srivasam@codeaurora.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Srinivasa Rao Mandadapu authored and broonie committed Mar 11, 2021
  2. Merge series "ASoC: mediatek: mt8183-mt6358: support machine driver f…

    …or rt1015p" from Tzung-Bi Shih <tzungbi@google.com>:
    
    The series reuses mt8183-mt6358-ts3a227-max98357.c for supporting
    machine driver with rt1015p speaker amplifier.
    
    The 1st patch adds document for the new proposed compatible string.
    
    The 2nd patch changes the machine driver to support "RT1015P" codec.
    
    Tzung-Bi Shih (2):
      ASoC: dt-bindings: mt8183: add compatible string for using rt1015p
      ASoC: mediatek: mt8183: support machine driver with rt1015p
    
     .../sound/mt8183-mt6358-ts3a227-max98357.txt  |  1 +
     sound/soc/mediatek/Kconfig                    |  1 +
     .../mt8183/mt8183-mt6358-ts3a227-max98357.c   | 29 +++++++++++++++++++
     3 files changed, 31 insertions(+)
    
    --
    2.31.0.rc2.261.g7f71774620-goog
    broonie committed Mar 11, 2021
  3. Merge series "ASoC: codecs: wolfson: remove cppcheck warnings" from P…

    …ierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
    
    There should be no functionality change, just minor fixes to make
    warnings go away.
    
    Pierre-Louis Bossart (10):
      ASoC: arizona: fix function argument
      ASoC: madera: align function prototype
      ASoC: wm2200: remove unused structure
      ASoC: wm8903: remove useless assignments
      ASoC: wm8958-dsp2: rename local 'control' arrays
      ASoC: wm8978: clarify expression
      ASoC: wm8994: align function prototype
      ASoC: wm8996: clarify expression
      ASoC: wm_adsp: simplify return value
      ASoC: wm_hubs: align function prototype
    
     sound/soc/codecs/arizona.h     |  2 +-
     sound/soc/codecs/madera.h      |  2 +-
     sound/soc/codecs/wm2200.c      |  7 -------
     sound/soc/codecs/wm8903.c      |  2 --
     sound/soc/codecs/wm8958-dsp2.c | 16 ++++++++--------
     sound/soc/codecs/wm8978.c      |  2 +-
     sound/soc/codecs/wm8994.h      |  2 +-
     sound/soc/codecs/wm8996.c      |  2 +-
     sound/soc/codecs/wm_adsp.c     |  2 +-
     sound/soc/codecs/wm_hubs.h     |  2 +-
     10 files changed, 15 insertions(+), 24 deletions(-)
    
    --
    2.25.1
    broonie committed Mar 11, 2021
  4. spi: cadence: set cqspi to the driver_data field of struct device

    When initialize cadence qspi controller, it is need to set cqspi
    to the driver_data field of struct device, because it will be
    used in function cqspi_remove/suspend/resume(). Otherwise, there
    will be a crash trace as below when invoking these finctions.
    
    Fixes: 31fb632 ("spi: Move cadence-quadspi driver to drivers/spi/")
    Cc: stable@vger.kernel.org
    Signed-off-by: Meng Li <Meng.Li@windriver.com>
    Link: https://lore.kernel.org/r/20210311091220.3615-1-Meng.Li@windriver.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    limeng-linux authored and broonie committed Mar 11, 2021
  5. ASoC: soc-core: fix DMI handling

    When DMI information is not present, trying to assign the card long
    name results in the following warning.
    
    WARNING KERN tegra-audio-graph-card sound: ASoC: no DMI vendor name!
    
    The initial solution suggested was to test if the card device is an
    ACPI one. This causes a regression visible to userspace on all Intel
    platforms, with UCM unable to load card profiles based on DMI
    information: the card devices are not necessarily ACPI ones, e.g. when
    the parent creates platform devices on Intel devices.
    
    To fix this problem, this patch exports the existing dmi_available
    variable and tests it in the ASoC core.
    
    Fixes: c014170 ("ASoC: soc-core: Prevent warning if no DMI table is present")
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Takashi Iwai <tiwai@suse.de>
    Acked-by: Jean Delvare <jdelvare@suse.de>
    Link: https://lore.kernel.org/r/20210310193928.108850-1-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 11, 2021
  6. ASoC: mediatek: mt8183: support machine driver with rt1015p

    Supports machine driver with rt1015p ("mt8183_mt6358_ts3a227_rt1015p").
    Embeds in the existing mt8183-mt6358-ts3a227-max98357.c because they
    share most of the code.
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20210311033151.1818603-3-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Tzung-Bi Shih authored and broonie committed Mar 11, 2021
  7. ASoC: dt-bindings: mt8183: add compatible string for using rt1015p

    Machines with rt1015p should use the compatible string
    "mt8183-mt6358-ts3a227-rt1015p".
    
    Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20210311033151.1818603-2-tzungbi@google.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Tzung-Bi Shih authored and broonie committed Mar 11, 2021
  8. ASoC: wm_hubs: align function prototype

    cppcheck warnings:
    
    sound/soc/codecs/wm_hubs.c:1194:11: style:inconclusive: Function
    'wm_hubs_handle_analogue_pdata' argument 8 names different:
    declaration 'micbias1_dly' definition
    'micbias1_delay'. [funcArgNamesDifferent]
          int micbias1_delay, int micbias2_delay,
              ^
    sound/soc/codecs/wm_hubs.h:59:11: note: Function
    'wm_hubs_handle_analogue_pdata' argument 8 names different:
    declaration 'micbias1_dly' definition 'micbias1_delay'.
          int micbias1_dly, int micbias2_dly,
              ^
    sound/soc/codecs/wm_hubs.c:1194:11: note: Function
    'wm_hubs_handle_analogue_pdata' argument 8 names different:
    declaration 'micbias1_dly' definition 'micbias1_delay'.
          int micbias1_delay, int micbias2_delay,
              ^
    sound/soc/codecs/wm_hubs.c:1194:31: style:inconclusive: Function
    'wm_hubs_handle_analogue_pdata' argument 9 names different:
    declaration 'micbias2_dly' definition
    'micbias2_delay'. [funcArgNamesDifferent]
          int micbias1_delay, int micbias2_delay,
                                  ^
    sound/soc/codecs/wm_hubs.h:59:29: note: Function
    'wm_hubs_handle_analogue_pdata' argument 9 names different:
    declaration 'micbias2_dly' definition 'micbias2_delay'.
          int micbias1_dly, int micbias2_dly,
                                ^
    sound/soc/codecs/wm_hubs.c:1194:31: note: Function
    'wm_hubs_handle_analogue_pdata' argument 9 names different:
    declaration 'micbias2_dly' definition 'micbias2_delay'.
          int micbias1_delay, int micbias2_delay,
                                  ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20210311004332.120901-11-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 11, 2021
  9. ASoC: wm_adsp: simplify return value

    cppcheck warning:
    
    sound/soc/codecs/wm_adsp.c:2092:9: warning: Identical condition and
    return expression 'ret', return value is always 0
    [identicalConditionAfterEarlyExit]
     return ret;
            ^
    sound/soc/codecs/wm_adsp.c:2070:6: note: If condition 'ret' is true,
    the function will return/exit
     if (ret)
         ^
    sound/soc/codecs/wm_adsp.c:2092:9: note: Returning identical
    expression 'ret'
     return ret;
            ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20210311004332.120901-10-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 11, 2021
  10. ASoC: wm8996: clarify expression

    cppcheck warning:
    sound/soc/codecs/wm8996.c:2109:23: style: Clarify calculation
    precedence for '/' and '?'. [clarifyCalculation]
      timeout = timeout/2 ? : 1;
                          ^
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20210311004332.120901-9-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Mar 11, 2021
Older