Skip to content
Permalink
Srinivasa-Rao-…
Switch branches/tags

Commits on Nov 2, 2021

  1. ASoC: qcom: SC7280: Add machine driver

    Add new machine driver to register sound card on sc7280 based targets and
    do the required configuration for lpass cpu dai and external codecs
    connected over MI2S and soundwire interfaces.
    Add support for audio jack detection, soundwire init and MBHC.
    
    Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
    Srinivasa Rao Mandadapu authored and intel-lab-lkp committed Nov 2, 2021
  2. ASoC: google: dt-bindings: Add sc7280-herobrine machine bindings

    Add devicetree bindings documentation file for sc7280 sound card
    registration.
    
    Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
    Srinivasa Rao Mandadapu authored and intel-lab-lkp committed Nov 2, 2021

Commits on Oct 29, 2021

  1. Merge series "Multiple headphone codec driver support" from Brent Lu …

    …<brent.lu@intel.com>:
    
    Support multiple headphone drivers in same machine driver. In this
    case, both rt5682 and rt5682s are supported and enumerated by different
    ACPI HID "10EC5682" and "RTL5682".
    
    V2 Changes:
    - remove useless 'NULL', 'false' in if-condition
    - can use 'comp_ids' field alone to enumerate driver
    - add comma to the end of entry in structure initialization
    - keep the table of byt/cht/cml/icl untouched
    
    V3 Changes:
    - upstreamd from SOF github, PR#3200
    - use new compatiable IDs to shrink the enumerate table of BYT and CHT
    - add 'const' to snd_soc_acpi_codecs structures
    
    V4 Changes:
    - add signoff to patch 4~6
    
    V5 Changes:
    - none, just rebase for patch 3 conflict
    
    Brent Lu (3):
      ASoC: soc-acpi: add comp_ids field for machine driver matching
      ASoC: Intel: sof_rt5682: detect codec variant in probe function
      ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s
    
    Pierre-Louis Bossart (3):
      ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs
      ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs
      ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs
    
     include/sound/soc-acpi.h                      |  3 +
     sound/soc/intel/boards/sof_rt5682.c           | 34 ++-------
     .../intel/common/soc-acpi-intel-adl-match.c   | 11 ++-
     .../intel/common/soc-acpi-intel-bxt-match.c   |  2 +-
     .../intel/common/soc-acpi-intel-byt-match.c   | 68 +++++++-----------
     .../intel/common/soc-acpi-intel-cht-match.c   | 69 +++++++------------
     .../intel/common/soc-acpi-intel-cml-match.c   |  8 +--
     .../intel/common/soc-acpi-intel-glk-match.c   |  2 +-
     .../intel/common/soc-acpi-intel-jsl-match.c   | 43 ++++--------
     .../intel/common/soc-acpi-intel-kbl-match.c   | 12 ++--
     .../intel/common/soc-acpi-intel-skl-match.c   |  2 +-
     .../intel/common/soc-acpi-intel-tgl-match.c   | 11 ++-
     sound/soc/soc-acpi.c                          | 24 ++++++-
     13 files changed, 119 insertions(+), 170 deletions(-)
    
    --
    2.25.1
    broonie committed Oct 29, 2021
  2. Merge series "ASoC: Sanity checks and soc-topology updates" from Ceza…

    …ry Rojewski <cezary.rojewski@intel.com>:
    
    Couple of soc-topology related changes and a use-after-free fix. Said fix
    and two sanity checks for soc-topology lead the way. While the
    use-after-free is quite obvious, the sanity checks are here to cover for
    cases where user malformed the topology file -or- access to filesystem
    somehow got interrupted during copy operation. We shouldn't be reading
    outside the file boundary.
    
    Afterward a change to soc_tplg_add_kcontrol(): device being passed to
    soc_tplg_add_dcontrol() from comp->dev to tplg->dev which corrects
    dev_xxx() invoked later on.
    Also, device used for topology memory allocations from component->dev to
    component->card->dev so memory gets freed each time card device (usually
    platform device) is removed rather than the component device what may
    happen less frequently.
    
    Dummy component gets smarter and no longer overrides hw_params if
    there are other components accociated with related struct
    snd_soc_pcm_runtime instance.
    
    Amadeusz Sławiński (5):
      ASoC: core: Remove invalid snd_soc_component_set_jack call
      ASoC: topology: Check for dapm widget completeness
      ASoC: topology: Use correct device for prints
      ASoC: topology: Change topology device to card device
      ASoC: Stop dummy from overriding hwparams
    
    Cezary Rojewski (1):
      ASoC: topology: Add header payload_size verification
    
     sound/soc/soc-core.c     |  3 ---
     sound/soc/soc-topology.c | 34 ++++++++++++++++++++++++++++++----
     sound/soc/soc-utils.c    | 13 +++++++++++++
     3 files changed, 43 insertions(+), 7 deletions(-)
    
    --
    2.25.1
    broonie committed Oct 29, 2021
  3. ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()'

    If we return before the end of the 'for_each_child_of_node()' iterator, the
    reference taken on 'np' must be released.
    
    Add the missing 'of_node_put()' call.
    
    Fixes: c413983 ("ASoC: rsnd: adjust disabled module")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Reviewed-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/4c0e893cbfa21dc76c1ede0b6f4f8cff42209299.1634586167.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Mark Brown <broonie@kernel.org>
    tititiou36 authored and broonie committed Oct 29, 2021
  4. ASoC: tlv320aic3x: Make aic3x_remove() return void

    Up to now aic3x_remove() returns zero unconditionally. Make it return
    void instead which makes it easier to see in the callers that there is
    no error to handle.
    
    Also the return value of i2c and spi remove callbacks is ignored anyway.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Link: https://lore.kernel.org/r/20211019074125.3812513-1-u.kleine-koenig@pengutronix.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ukleinek authored and broonie committed Oct 29, 2021
  5. ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs

    'const' qualifiers are missing on some platforms, add as needed.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-7-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Oct 29, 2021
  6. ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs

    We have multiple entries for the same codecs, use the new compatible
    IDs to have a single entry.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-6-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Oct 29, 2021
  7. ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs

    We have multiple entries for the same codecs, use the new compatible
    IDs to have a single entry.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-5-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Oct 29, 2021
  8. ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s

    Use comp_ids field to enumerate rt5682/rt5682s headphone codec for
    JSL/TGL/ADL devices and remove redundant entries in tables.
    
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-4-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    brentlu authored and broonie committed Oct 29, 2021
  9. ASoC: Intel: sof_rt5682: detect codec variant in probe function

    Detect whether the headphone codec is ALC5682I-VS or not in probe
    function so we don't need to duplicate all board configs for this new
    variant.
    
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-3-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    brentlu authored and broonie committed Oct 29, 2021
  10. ASoC: soc-acpi: add comp_ids field for machine driver matching

    A machine driver needs to be enumerated by more than one ACPI HID if
    it supports second headphone driver (i.e. rt5682 and rt5682s).
    However, the id field in snd_soc_acpi_mach structure could contain
    only one HID. By adding a 'comp_ids' field which can contain several
    HIDs, we can enumerate a machine driver by multiple ACPI HIDs.
    
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Link: https://lore.kernel.org/r/20211029171409.611600-2-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    brentlu authored and broonie committed Oct 29, 2021
  11. ASoC: mediatek: mt8195: add mt8195-mt6359-rt1011-rt5682 bindings docu…

    …ment
    
    This patch adds document for mt8195 board with mt6359, rt1011 and rt5682
    
    Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
    Link: https://lore.kernel.org/r/20211020071428.14297-3-trevor.wu@mediatek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wenliangwu authored and broonie committed Oct 29, 2021
  12. ASoC: mediatek: mt8195: add machine driver with mt6359, rt1011 and rt…

    …5682
    
    This patch adds support for mt8195 board with mt6359, rt1011 and rt5682.
    
    Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
    Link: https://lore.kernel.org/r/20211020071428.14297-2-trevor.wu@mediatek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    wenliangwu authored and broonie committed Oct 29, 2021
  13. ASoC: Stop dummy from overriding hwparams

    In case that there are other components assigned to runtime device,
    depending on order dummy component can override their params with its
    own, which shouldn't happen. Check if there are any other components
    assigned to rtd and if so, skip setting hwparams.
    
    Occurs when using topology where 'snd-soc-dummy' gets assigned by
    default as codec and platform component.
    
    Alternative approach would be to copy whole dummy handling and rename it
    to "snd-soc-null" or something similar. And remove hwparams assignment
    to make it really do nothing.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-7-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Amadeusz Sławiński authored and broonie committed Oct 29, 2021
  14. ASoC: topology: Change topology device to card device

    Topology needs device for prints and resource allocation. So far,
    component->dev is used. However, this may lead to high memory use in
    model where card is an independent driver which can be reloaded and
    topology is loaded from component's probe() method. Every time machine
    driver is reloaded topology is being loaded anew, each time allocating
    new memory. Said memory will only be freed when component itself is
    being freed.
    
    Address the problem by tying topology to component->card->dev instead,
    so memory occupied by the topology is freed whenever related machine
    device gets removed.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-6-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Amadeusz Sławiński authored and broonie committed Oct 29, 2021
  15. ASoC: topology: Use correct device for prints

    soc_tplg_add_dcontrol() passes device as argument which is later used to
    print messages. Align it with all other prints in file to use tplg->dev.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-5-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Amadeusz Sławiński authored and broonie committed Oct 29, 2021
  16. ASoC: topology: Check for dapm widget completeness

    Add sanity checks to make sure the data is read within file boundary.
    Helps in situations where file is only partially copied or malformed.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-4-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Amadeusz Sławiński authored and broonie committed Oct 29, 2021
  17. ASoC: topology: Add header payload_size verification

    Add sanity check to make sure the data is read within file boundary.
    Helps in situations where file is only partially copied or malformed.
    
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    crojewsk-intel authored and broonie committed Oct 29, 2021
  18. ASoC: core: Remove invalid snd_soc_component_set_jack call

    If snd_soc_component_set_jack() is called after
    snd_soc_component_remove() it may operate on memory which is freed in
    ->remove handler.
    
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20211015161257.27052-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Amadeusz Sławiński authored and broonie committed Oct 29, 2021
  19. ASoC: codecs: tfa989x: Add support for tfa9897 RCV bit

    TFA9897 has an internal 'rcv' switch so that it can manage both
    loudspeaker and earpiece modes with the same physical speaker.
    
    Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
    Link: https://lore.kernel.org/r/20211024085840.1536438-3-vincent.knecht@mailoo.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    vknecht authored and broonie committed Oct 29, 2021
  20. ASoC: amd: acp: select CONFIG_SND_SOC_ACPI

    The acp-platform driver now needs the ACPI helpers:
    
    ld.lld: error: undefined symbol: snd_soc_acpi_find_machine
    >>> referenced by acp-platform.c
    >>>               soc/amd/acp/acp-platform.o:(acp_machine_select) in archive sound/built-in.a
    
    ld.lld: error: undefined symbol: snd_soc_acpi_codec_list
    >>> referenced by acp-renoir.c
    >>>               soc/amd/acp/acp-renoir.o:(snd_soc_acpi_amd_acp_machines) in archive sound/built-in.a
    
    Other drivers using this interface, select SND_SOC_ACPI, so do the
    same thing here.
    
    Fixes: e646b51 ("ASoC: amd: acp: Add callback for machine driver on ACP")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20211029113714.966823-1-arnd@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    arndb authored and broonie committed Oct 29, 2021
  21. Merge series "ASoC: cs42l42: Fix definition and handling of jack swit…

    …ch invert" from Richard Fitzgerald <rf@opensource.cirrus.com>:
    
    Summary: The driver applied the opposite of the DT setting to the
    wrong register bit.
    
    The jack plug detect hardware in cs42l42 is somewhat confusing,
    compounded by an unclear description in the datasheet. This is most
    likely the reason that the driver implemented a DT property for the
    wrong register bit, that had the opposite effect of what was
    described in the binding.
    
    Changing the meaning of the property values isn't feasible; the
    driver dates from 2016 and the risk of breaking out-of-tree configs
    is too high (the property is also available to ACPI systems).
    
    So the fix is to make the binding doc match the actual behaviour and
    then fix the driver to apply it to the correct register bit.
    
    As a bonus, patch #3 converts the binding to yaml.
    
    Richard Fitzgerald (3):
      ASoC: dt-bindings: cs42l42: Correct description of ts-inv
      ASoC: cs42l42: Correct configuring of switch inversion from ts-inv
      ASoC: dt-bindings: cs42l42: Convert binding to yaml
    
     .../devicetree/bindings/sound/cirrus,cs42l42.yaml  | 225 +++++++++++++++++++++
     .../devicetree/bindings/sound/cs42l42.txt          | 114 -----------
     MAINTAINERS                                        |   1 +
     sound/soc/codecs/cs42l42.c                         |   9 +-
     4 files changed, 230 insertions(+), 119 deletions(-)
     create mode 100644 Documentation/devicetree/bindings/sound/cirrus,cs42l42.yaml
     delete mode 100644 Documentation/devicetree/bindings/sound/cs42l42.txt
    
    --
    2.11.0
    broonie committed Oct 29, 2021
  22. ASoC: Intel: glk_rt5682_max98357a: support ALC5682I-VS codec

    Detect the codec variant in probe function and update DAI link
    accordingly. Also add an new entry in enumeration table for machine
    driver enumeration.
    
    Signed-off-by: Brent Lu <brent.lu@intel.com>
    Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20211028140909.496022-1-brent.lu@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    brentlu authored and broonie committed Oct 29, 2021
  23. ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_RT1015P

    When SND_SOC_MT8192_MT6359_RT1015_RT5682,
    SND_SOC_MT8192_MT6359_RT1015_RT5682,
    SND_SOC_MT8183_DA7219_MAX98357A, or
    SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A is selected,
    and GPIOLIB is not selected, Kbuild gives the following
    warnings, respectively:
    
    WARNING: unmet direct dependencies detected for SND_SOC_DMIC
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_MT8192_MT6359_RT1015_RT5682 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=y] && SND_SOC_MT8192 [=y] && MTK_PMIC_WRAP [=y]
    
    WARNING: unmet direct dependencies detected for SND_SOC_RT1015P
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_MT8192_MT6359_RT1015_RT5682 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=y] && SND_SOC_MT8192 [=y] && MTK_PMIC_WRAP [=y]
    
    WARNING: unmet direct dependencies detected for SND_SOC_RT1015P
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_MT8183_DA7219_MAX98357A [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_MT8183 [=y] && I2C [=y]
    
    WARNING: unmet direct dependencies detected for SND_SOC_RT1015P
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=y] && SND_SOC_MT8183 [=y]
    
    This is because these config options select SND_SOC_RT1015P
    without selecting or depending on GPIOLIB, despite
    SND_SOC_RT1015P depending on GPIOLIB.
    
    These unmet dependency bugs were detected by Kismet,
    a static analysis tool for Kconfig. Please advise if this
    is not the appropriate solution.
    
    Signed-off-by: Julian Braha <julianbraha@gmail.com>
    Acked-by: Tzung-Bi Shih <tzungbi@google.com>
    Link: https://lore.kernel.org/r/20211029001225.27218-1-julianbraha@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    julianbraha authored and broonie committed Oct 29, 2021
  24. ASoC: es8316: add support for ESSX8336 ACPI _HID

    The same codec seems to have different personalities. ESSX8316 was
    used for Baytrail/CherryTrail, ESSX8336 seems to be used for AppoloLake,
    GeminiLake, JasperLake and TigerLake devices.
    
    BugLink: thesofproject#2955
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>-e
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Link: https://lore.kernel.org/r/20211029011109.23633-1-yung-chuan.liao@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    plbossart authored and broonie committed Oct 29, 2021
  25. ASoC: cs42l42: Correct configuring of switch inversion from ts-inv

    The setting from the cirrus,ts-inv property should be applied to the
    TIP_SENSE_INV bit, as this is the one that actually affects the jack
    detect block. The TS_INV bit only swaps the meaning of the PLUG and
    UNPLUG interrupts and should always be 1 for the interrupts to have
    the normal meaning.
    
    Due to some misunderstanding the driver had been implemented to
    configure the TS_INV bit based on the jack switch polarity. This made
    the interrupts behave the correct way around, but left the jack detect
    block, button detect and analogue circuits always interpreting an open
    switch as unplugged.
    
    The signal chain inside the codec is:
    
    SENSE pin -> TIP_SENSE_INV -> TS_INV -> (invert) -> interrupts
                      |
                      v
                 Jack detect,
              button detect and
                analog control
    
    As the TIP_SENSE_INV already performs the necessary inversion the
    TS_INV bit never needs to change. It must always be 1 to yield the
    expected interrupt behaviour.
    
    Some extra confusion has arisen because of the additional invert in the
    interrupt path, meaning that a value applied to the TS_INV bit produces
    the opposite effect of applying it to the TIP_SENSE_INV bit. The ts-inv
    property has therefore always had the opposite effect to what might be
    expected (0 = inverted, 1 = not inverted). To maintain the meaning of
    the ts-inv property it must be inverted when applied to TIP_SENSE_INV.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Fixes: 2c394ca ("ASoC: Add support for CS42L42 codec")
    Link: https://lore.kernel.org/r/20211028140902.11786-3-rf@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    rfvirgil authored and broonie committed Oct 29, 2021
  26. ASoC: dt-bindings: cs42l42: Correct description of ts-inv

    This swaps the descriptions of the 0 and 1 values to match
    what the driver actually does with this property.
    
    The background here is somewhat confusing. The codec has two
    invert bits for the tip sense. The DT property should have been
    for the TIP_SENSE_INV bit, which is the one that controls the
    detect block. Due to some misunderstanding of the hardware the
    driver actually implemented setting of the TS_INV bit, which is
    only for swapping the sense of the interrupt bits. The description
    was taken from the datasheet and refers to TIP_SENSE_INV but
    unfortunately TS_INV has a different purpose and the net effect
    of changing it is the reverse of what was intended (this is not
    clearly described in the datasheet). So the ts-inv settings have
    always done the exact opposite of what the description said.
    
    Given the age of the driver, it's too late now to swap the meanings
    of the values, so the description is changed to match the behaviour.
    They have been annotated with the terminology used in the datasheet
    to avoid the confusion of which one corresponds to what the datasheet
    calls "inverted tip sense".
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Fixes: da16c55 ("ASoC: cs42l42: Add devicetree bindings for CS42L42")
    Link: https://lore.kernel.org/r/20211028140902.11786-2-rf@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    rfvirgil authored and broonie committed Oct 29, 2021

Commits on Oct 28, 2021

  1. ASoC: qdsp6: audioreach: Fix clang -Wimplicit-fallthrough

    Clang warns:
    
    sound/soc/qcom/qdsp6/topology.c:465:3: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
                    default:
                    ^
    sound/soc/qcom/qdsp6/topology.c:465:3: note: insert 'break;' to avoid fall-through
                    default:
                    ^
                    break;
    1 warning generated.
    
    Clang is a little more pedantic than GCC, which permits implicit
    fallthroughs to cases that contain just break or return. Clang's version
    is more in line with the kernel's own stance in deprecated.rst, which
    states that all switch/case blocks must end in either break,
    fallthrough, continue, goto, or return. Add the missing break to fix
    the warning.
    
    Link: ClangBuiltLinux#1495
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Link: https://lore.kernel.org/r/20211027190823.4057382-1-nathan@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    nathanchance authored and broonie committed Oct 28, 2021
  2. ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC

    When SND_SOC_AMD_RENOIR_MACH or SND_SOC_AMD_RV_RT5682_MACH
    are selected, and GPIOLIB is not selected, Kbuild gives
    the following warnings, respectively:
    
    WARNING: unmet direct dependencies detected for SND_SOC_DMIC
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_AMD_RENOIR_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_RENOIR [=y]
    
    and
    
    WARNING: unmet direct dependencies detected for SND_SOC_MAX98357A
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
      Selected by [y]:
      - SND_SOC_AMD_RV_RT5682_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_ACP3x [=y] && I2C [=y] && CROS_EC [=y]
    
    This is because SND_SOC_DMIC and SND_SOC_MAX98357A are
    selected by SND_SOC_AMD_RV_RT5682_MACH and SND_SOC_AMD_RENOIR_MACH,
    respectively. However, neither of the selectors depend on or select GPIOLIB,
    despite their selectees depending on GPIOLIB.
    
    These unmet dependency bugs were detected by Kismet,
    a static analysis tool for Kconfig. Please advise if this
    is not the appropriate solution.
    
    Signed-off-by: Julian Braha <julianbraha@gmail.com>
    Link: https://lore.kernel.org/r/20211027184835.112916-1-julianbraha@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    julianbraha authored and broonie committed Oct 28, 2021

Commits on Oct 27, 2021

  1. ASoC: amd: acp: fix Kconfig dependencies

    The CONFIG_SND_SOC_AMD_MACH_COMMON has some dependencies that
    are not checked by the symbols that select it:
    
    WARNING: unmet direct dependencies detected for SND_SOC_AMD_MACH_COMMON
      Depends on [n]: SOUND [=y] && !UML && SND [=m] && SND_SOC [=m] && X86 && PCI [=y] && I2C [=n]
      Selected by [m]:
      - SND_SOC_AMD_LEGACY_MACH [=m] && SOUND [=y] && !UML && SND [=m] && SND_SOC [=m]
      - SND_SOC_AMD_SOF_MACH [=m] && SOUND [=y] && !UML && SND [=m] && SND_SOC [=m]
    
    WARNING: unmet direct dependencies detected for SND_SOC_AMD_MACH_COMMON
      Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && X86 && PCI [=n] && I2C [=m]
      Selected by [m]:
      - SND_SOC_AMD_LEGACY_MACH [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m]
    
    Make this more consistent by adding the same checks everywhere.
    
    Fixes: 9d8a7be ("ASoC: amd: acp: Add legacy sound card support for Chrome audio")
    Fixes: 9f84940 ("ASoC: amd: acp: Add SOF audio support on Chrome board")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20211027082359.52248-1-arnd@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    arndb authored and broonie committed Oct 27, 2021
  2. Merge series "Make genaral and simple for new sof machine driver" fro…

    …m David Lin <CTLIN0@nuvoton.com>:
    
    The series of features will make general and simple for new sof machine driver.
    
    David Lin (2):
      ASoC: nau8825: add set_jack coponment support
      ASoC: nau8825: add clock management for power saving
    
     sound/soc/codecs/nau8825.c | 48 ++++++++++++++++++++++++++++++++++++--
     1 file changed, 46 insertions(+), 2 deletions(-)
    broonie committed Oct 27, 2021
  3. Merge series "ASoC: minor cleanup of warnings" from Pierre-Louis Boss…

    …art <pierre-louis.bossart@linux.intel.com>:
    
    Sparse, make W=1 and cppcheck all report minor warnings.
    
    The only functional change is in patch7 where the error code is now
    returned to the caller.
    
    Pierre-Louis Bossart (8):
      ASoC: topology: handle endianness warning
      ASoC: rt5682s: use 'static' qualifier
      ASoC: nau8821: fix kernel-doc
      ASoC: nau8821: clarify out-of-bounds check
      ASoC: mediatek: remove unnecessary initialization
      ASoC: mediatek: mt8195: rename shadowed array
      ASoC: mediatek: mt8195: fix return value
      ASoC: rockchip: i2s_tdm: improve return value handling
    
     sound/soc/codecs/nau8821.c                  | 6 ++++--
     sound/soc/codecs/rt5682s.c                  | 6 +++---
     sound/soc/mediatek/common/mtk-afe-fe-dai.c  | 2 +-
     sound/soc/mediatek/mt8195/mt8195-afe-pcm.c  | 4 ++--
     sound/soc/mediatek/mt8195/mt8195-dai-etdm.c | 2 +-
     sound/soc/rockchip/rockchip_i2s_tdm.c       | 2 +-
     sound/soc/soc-topology.c                    | 2 +-
     7 files changed, 13 insertions(+), 11 deletions(-)
    
    --
    2.25.1
    broonie committed Oct 27, 2021
Older