1. 07 Jun, 2022 3 commits
    • Mark Brown's avatar
      ASoC: Intel: avs: Machine boards and HDA codec support · 9f2d5e1e
      Mark Brown authored
      Merge series from Cezary Rojewski <cezary.rojewski@intel.com>
      From there on is a range of boards appended. All of them follow the same:
      
      This series focuses on populating boards/ subdirectory with supported
      configurations by the avs-driver. Note: it is independent of recently
      provided "Driver code and PCM operations" series [1], that is, code
      found here should not collide with it.
      
      Series starts with a small change that adds a helper to sound pcm
      header, allowing for retrieving string naming a direction without the
      need of substream pointer. Said helper is used by codec driver code that
      follows it but I believe it's generic and helpful enough that it can be
      called an independent addition to the sound core.
      
      Code for generic HD-Audio codec driver follows. It is a ASoC wrapper for
      existing HD-Audio codec code found in sound/pci/hda/. There is basically
      no custom logic involved up to the point that driver follows
      HDA_DEV_LEGACY convention, rather than the HDA_DEV_ASOC one. Commit
      message for the given patch iterates on this and explains crucial parts
      of the implementation.
      
      From there on is a range of boards appended. All of them follow the same
      scheme:
      
      - define avs_create_dai_link() so DAI-LINKs can be created dynamically,
        based on the link_mask (I2S) or the number of entries in the
        ->pcm_list_head list (HDA)
      - define avs_create_dapm_routes() so DAPM routes can be created
        dynamically, same rules as above apply
      - define probe() function that creates new ASoC card, assign all
        required operations and resources along with calling the two above
      
      Changes in v2:
      - 'link_mask' usage replaced with 'i2s_link_mask' as requested by
        Pierre
      - 'ssp_test' board renamed to 'i2s_test' to match naming convention used
        for other i2s machine boards
      - enriched commit message and Kconfig for the 'HD-Audio codec driver'
        patch as requested by Kai
      
      [1]: https://lore.kernel.org/all/20220426172346.3508411-1-cezary.rojewski@intel.com/
      
      Amadeusz Sławiński (1):
        ASoC: Intel: avs: Add max98373 machine board
      
      Cezary Rojewski (13):
        ALSA: Add snd_pcm_direction_name() helper
        ASoC: codecs: Add HD-Audio codec driver
        ASoC: Intel: avs: Add HDAudio machine board
        ASoC: Intel: avs: Add DMIC machine board
        ASoC: Intel: avs: Add I2S-test machine board
        ASoC: Intel: avs: Add rt274 machine board
        ASoC: Intel: avs: Add rt286 machine board
        ASoC: Intel: avs: Add rt298 machine board
        ASoC: Intel: avs: Add rt5682 machine board
        ASoC: Intel: avs: Add nau8825 machine board
        ASoC: Intel: avs: Add ssm4567 machine board
        ASoC: Intel: avs: Add max98357a machine board
        ASoC: Intel: avs: Add da7219 machine board
      
       include/sound/pcm.h                    |  19 +-
       sound/soc/codecs/Kconfig               |  10 +
       sound/soc/codecs/Makefile              |   2 +
       sound/soc/codecs/hda-dai.c             | 102 +++++++
       sound/soc/codecs/hda.c                 | 395 +++++++++++++++++++++++++
       sound/soc/codecs/hda.h                 |  19 ++
       sound/soc/intel/Kconfig                |   3 +
       sound/soc/intel/avs/Makefile           |   3 +
       sound/soc/intel/avs/boards/Kconfig     | 121 ++++++++
       sound/soc/intel/avs/boards/Makefile    |  27 ++
       sound/soc/intel/avs/boards/da7219.c    | 282 ++++++++++++++++++
       sound/soc/intel/avs/boards/dmic.c      |  93 ++++++
       sound/soc/intel/avs/boards/hdaudio.c   | 294 ++++++++++++++++++
       sound/soc/intel/avs/boards/i2s_test.c  | 180 +++++++++++
       sound/soc/intel/avs/boards/max98357a.c | 154 ++++++++++
       sound/soc/intel/avs/boards/max98373.c  | 239 +++++++++++++++
       sound/soc/intel/avs/boards/nau8825.c   | 353 ++++++++++++++++++++++
       sound/soc/intel/avs/boards/rt274.c     | 310 +++++++++++++++++++
       sound/soc/intel/avs/boards/rt286.c     | 281 ++++++++++++++++++
       sound/soc/intel/avs/boards/rt298.c     | 281 ++++++++++++++++++
       sound/soc/intel/avs/boards/rt5682.c    | 340 +++++++++++++++++++++
       sound/soc/intel/avs/boards/ssm4567.c   | 271 +++++++++++++++++
       22 files changed, 3775 insertions(+), 4 deletions(-)
       create mode 100644 sound/soc/codecs/hda-dai.c
       create mode 100644 sound/soc/codecs/hda.c
       create mode 100644 sound/soc/codecs/hda.h
       create mode 100644 sound/soc/intel/avs/boards/Kconfig
       create mode 100644 sound/soc/intel/avs/boards/Makefile
       create mode 100644 sound/soc/intel/avs/boards/da7219.c
       create mode 100644 sound/soc/intel/avs/boards/dmic.c
       create mode 100644 sound/soc/intel/avs/boards/hdaudio.c
       create mode 100644 sound/soc/intel/avs/boards/i2s_test.c
       create mode 100644 sound/soc/intel/avs/boards/max98357a.c
       create mode 100644 sound/soc/intel/avs/boards/max98373.c
       create mode 100644 sound/soc/intel/avs/boards/nau8825.c
       create mode 100644 sound/soc/intel/avs/boards/rt274.c
       create mode 100644 sound/soc/intel/avs/boards/rt286.c
       create mode 100644 sound/soc/intel/avs/boards/rt298.c
       create mode 100644 sound/soc/intel/avs/boards/rt5682.c
       create mode 100644 sound/soc/intel/avs/boards/ssm4567.c
      
      --
      2.25.1
      9f2d5e1e
    • Mark Brown's avatar
      ASoC: Intel: soc-acpi and machine driver updates · 28223889
      Mark Brown authored
      Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      Small updates to add initial tables for MeteorLake, SoundWire machine
      driver support for tests without HDMI and RT1019 for consistency on
      Chromebooks.
      28223889
    • Mark Brown's avatar
      ALSA: hda: cirrus: Add initial DSP support and firmware loading · a8b1b9ce
      Mark Brown authored
      Merge series from Vitaly Rodionov <vitalyr@opensource.cirrus.com>:
      
      The CS35L41 Amplifier contains a DSP, capable of running firmware.
      The firmware can run algorithms such as Speaker Protection, to ensure
      that playback at high gains do not harm the speakers.  This exports some
      interfaces to allow more use of this DSP by the HDA version of the driver.
      a8b1b9ce
  2. 06 Jun, 2022 37 commits