1. 04 May, 2023 1 commit
    • Krzysztof Kozlowski's avatar
      ASoC: codecs: wcd938x: fix accessing regmap on unattached devices · 84822215
      Krzysztof Kozlowski authored
      The WCD938x comes with three devices on two Linux drivers:
      1. RX Soundwire device (wcd938x-sdw.c driver),
      2. TX Soundwire device, which is used to access devices via regmap (also
         wcd938x-sdw.c driver),
      3. platform device (wcd938x.c driver) - glue and component master,
         actually having most of the code using TX Soundwire device regmap.
      
      When RX and TX Soundwire devices probe, the component master (platform
      device) bind tries to write micbias configuration via TX Soundwire
      regmap.  This might happen before TX Soundwire enumerates, so the regmap
      access fails.  On Qualcomm SM8550 board with WCD9385:
      
        qcom-soundwire 6d30000.soundwire-controller: Qualcomm Soundwire controller v2.0.0 Registered
        wcd938x_codec audio-codec: bound sdw:0:0217:010d:00:4 (ops wcd938x_sdw_component_ops)
        wcd938x_codec audio-codec: bound sdw:0:0217:010d:00:3 (ops wcd938x_sdw_component_ops)
        qcom-soundwire 6ad0000.soundwire-controller: swrm_wait_for_wr_fifo_avail err write overflow
      
      Fix the issue by:
      1. Moving the regmap creation from platform device to TX Soundwire
         device.  The regmap settings are moved as-is with one difference:
         making the wcd938x_regmap_config const.
      2. Using regmap in cache only mode till the actual TX Soundwire device
         enumerates and then sync the regmap cache.
      
      Cc: <stable@vger.kernel.org> # v3.14+
      Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Message-Id: <20230503144102.242240-1-krzysztof.kozlowski@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      84822215
  2. 27 Apr, 2023 1 commit
  3. 24 Apr, 2023 2 commits
  4. 21 Apr, 2023 4 commits
  5. 20 Apr, 2023 17 commits
  6. 19 Apr, 2023 2 commits
  7. 18 Apr, 2023 12 commits
  8. 17 Apr, 2023 1 commit
    • Mark Brown's avatar
      ASoC: cs35l56: Code improvements · 3a5e13eb
      Mark Brown authored
      Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
      
      Various code improvements. These remove redundant code and
      clean up less-than-optimal original implementations.
      3a5e13eb