Commit 102f9d3d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "This looks like a relatively calm development cycle; there have been
  only few changes in ALSA and ASoC core sides while we get lots of
  device-specific fixes and updates as usual. Most of commits are about
  ASoC, including Intel SOF/AVS and many device tree updates.

  Below are some highlights:

  Core:
   - Improvement in memalloc helper for fallback allocations
   - More cleanups of ASoC DAPM code

  ASoC:
   - Factoring out of mapping hw_params onto SoundWire configuration
   - The ever ongoing overhauls of the Intel DSP code continue,
     including support for loading libraries and probes with IPC4 on
     SOF.
   - Support for more sample formats on JZ4740
   - Lots of device tree conversions and fixups
   - Support for Allwinner D1, a range of AMD and Intel systems,
     Mediatek systems with multiple DMICs, Nuvoton NAU8318, NXP
     fsl_rpmsg and i.MX93, Qualcomm AudioReach Enable, MFC and SAL,
     RealTek RT1318 and Rockchip RK3588

  ALSA:
   - Addition of PCM kselftest; still minimalistic but can be extended
     in future
   - Fixes for corner-case XRUNs with USB-audio implicit feedback mode
   - Usual device-specific quirk updates for USB- and HD-audio
   - FireWire DICE updates

  This also contains a few cross-tree updates:
   - Some OMAP board file updates for removal of relevant OMAP platforms
   - A new I2C API update for I2C probe API adaption
   - A DRM update for the further hdmi-codec updates"

* tag 'sound-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (417 commits)
  ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
  ALSA: patch_realtek: Fix Dell Inspiron Plus 16
  ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock.
  ASoC: dt-bindings: Correct Alexandre Belloni email
  ASoC: dt-bindings: maxim,max98504: Convert to DT schema
  ASoC: dt-bindings: maxim,max98357a: Convert to DT schema
  ASoC: dt-bindings: Reference common DAI properties
  ASoC: dt-bindings: Extend name-prefix.yaml into common DAI properties
  ASoC: rt715: Make read-only arrays capture_reg_H and capture_reg_L static const
  ASoC: uniphier: aio-core: Make some read-only arrays static const
  ASoC: wcd938x: Make read-only array minCode_param static const
  ASoC: qcom: lpass-sc7280: Add maybe_unused tag for system PM ops
  ASoC : SOF: amd: Add support for IPC and DSP dumps
  ASoC: SOF: amd: Use poll function instead to read ACP_SHA_DSP_FW_QUALIFIER
  ALSA: usb-audio: Workaround for XRUN at prepare
  ALSA: pcm: Handle XRUN at trigger START
  ALSA: pcm: Set missing stop_operating flag at undoing trigger start
  drm: tda99x: Don't advertise non-existent capture support
  ASoC: hdmi-codec: Allow playback and capture to be disabled
  kselftest/alsa: Add more coverage of sample rates and channel counts
  ...
parents 8715c6d3 8ec2d95f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

allOf:
  - $ref: /schemas/sound/name-prefix.yaml#
  - $ref: /schemas/sound/dai-common.yaml#

description: |
  The Amlogic Meson Synopsys Designware Integration is composed of
+54 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom,apr-services.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm APR/GPR services shared parts

maintainers:
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description:
  Common parts of a static service in Qualcomm APR/GPR (Asynchronous/Generic
  Packet Router).

properties:
  reg:
    minimum: 1
    maximum: 13
    description: |
      APR Service ID
        3 = DSP Core Service
        4 = Audio  Front End Service.
        5 = Voice Stream Manager Service.
        6 = Voice processing manager.
        7 = Audio Stream Manager Service.
        8 = Audio Device Manager Service.
        9 = Multimode voice manager.
        10 = Core voice stream.
        11 = Core voice processor.
        12 = Ultrasound stream manager.
        13 = Listen stream manager.
      GPR Service ID
        1 = Audio Process Manager Service
        2 = Proxy Resource Manager Service.
        3 = AMDB Service.
        4 = Voice processing manager.

  qcom,protection-domain:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: |
      Protection domain service name and path for APR service
      possible values are::
      "avs/audio", "msm/adsp/audio_pd".
      "kernel/elf_loader", "msm/modem/wlan_pd".
      "tms/servreg", "msm/adsp/audio_pd".
      "tms/servreg", "msm/modem/wlan_pd".
      "tms/servreg", "msm/slpi/sensor_pd".

required:
  - reg
  - qcom,protection-domain

additionalProperties: true
+51 −119
Original line number Diff line number Diff line
@@ -59,8 +59,7 @@ properties:
  qcom,glink-channels:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Channel name used for the communication
    items:
      - const: apr_audio_svc
    maxItems: 1

  qcom,intents:
    $ref: /schemas/types.yaml#/definitions/uint32-array
@@ -82,12 +81,13 @@ properties:
  '#size-cells':
    const: 0

#APR/GPR Services
patternProperties:
  "^service@[1-9a-d]$":
    type: object
    $ref: /schemas/soc/qcom/qcom,apr-services.yaml
    additionalProperties: true
    description:
      APR/GPR node's client devices use subnodes for desired static port services.
      APR/GPR static port services.

    properties:
      compatible:
@@ -99,99 +99,6 @@ patternProperties:
          - qcom,q6apm
          - qcom,q6prm

      reg:
        minimum: 1
        maximum: 13
        description:
          APR Service ID
            3 = DSP Core Service
            4 = Audio  Front End Service.
            5 = Voice Stream Manager Service.
            6 = Voice processing manager.
            7 = Audio Stream Manager Service.
            8 = Audio Device Manager Service.
            9 = Multimode voice manager.
            10 = Core voice stream.
            11 = Core voice processor.
            12 = Ultrasound stream manager.
            13 = Listen stream manager.
          GPR Service ID
            1 = Audio Process Manager Service
            2 = Proxy Resource Manager Service.
            3 = AMDB Service.
            4 = Voice processing manager.

      clock-controller:
        $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
        description: Qualcomm DSP LPASS clock controller
        unevaluatedProperties: false

      dais:
        type: object
        oneOf:
          - $ref: /schemas/sound/qcom,q6apm-dai.yaml#
          - $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
          - $ref: /schemas/sound/qcom,q6asm-dais.yaml#
        unevaluatedProperties: false
        description: Qualcomm DSP audio ports

      routing:
        type: object
        $ref: /schemas/sound/qcom,q6adm-routing.yaml#
        unevaluatedProperties: false
        description: Qualcomm DSP LPASS audio routing

      qcom,protection-domain:
        $ref: /schemas/types.yaml#/definitions/string-array
        description: protection domain service name and path for apr service
          possible values are
          "avs/audio", "msm/adsp/audio_pd".
          "kernel/elf_loader", "msm/modem/wlan_pd".
          "tms/servreg", "msm/adsp/audio_pd".
          "tms/servreg", "msm/modem/wlan_pd".
          "tms/servreg", "msm/slpi/sensor_pd".

    allOf:
      - if:
          properties:
            compatible:
              enum:
                - qcom,q6afe
        then:
          properties:
            dais:
              properties:
                compatible:
                  const: qcom,q6afe-dais

      - if:
          properties:
            compatible:
              enum:
                - qcom,q6apm
        then:
          properties:
            dais:
              properties:
                compatible:
                  enum:
                    - qcom,q6apm-dais
                    - qcom,q6apm-lpass-dais

      - if:
          properties:
            compatible:
              enum:
                - qcom,q6asm
        then:
          properties:
            dais:
              properties:
                compatible:
                  const: qcom,q6asm-dais

    additionalProperties: false

required:
  - compatible
  - qcom,domain
@@ -204,7 +111,15 @@ allOf:
            - qcom,gpr
    then:
      properties:
        qcom,glink-channels:
          items:
            - const: adsp_apps
        power-domains: false
    else:
      properties:
        qcom,glink-channels:
          items:
            - const: apr_audio_svc

  - if:
      required:
@@ -228,6 +143,8 @@ examples:
    apr {
        compatible = "qcom,apr-v2";
        qcom,domain = <APR_DOMAIN_ADSP>;
        qcom,glink-channels = "apr_audio_svc";
        qcom,intents = <512 20>;
        #address-cells = <1>;
        #size-cells = <0>;

@@ -237,22 +154,24 @@ examples:
            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
        };

        q6afe: service@4 {
        service@4 {
            compatible = "qcom,q6afe";
            reg = <APR_SVC_AFE>;
            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
        };

        q6asm: service@7 {
          compatible = "qcom,q6asm";
          reg = <APR_SVC_ASM>;
          qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
            clock-controller {
                compatible = "qcom,q6afe-clocks";
                #clock-cells = <2>;
            };

        q6adm: service@8 {
          compatible = "qcom,q6adm";
          reg = <APR_SVC_ADM>;
          qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
            dais {
                compatible = "qcom,q6afe-dais";
                #address-cells = <1>;
                #size-cells = <0>;
                #sound-dai-cells = <1>;
                /* ... */
            };
            /* ... */
        };
    };

@@ -261,12 +180,25 @@ examples:
    gpr {
        compatible = "qcom,gpr";
        qcom,domain = <GPR_DOMAIN_ID_ADSP>;
        qcom,glink-channels = "adsp_apps";
        qcom,intents = <512 20>;
        #address-cells = <1>;
        #size-cells = <0>;

        service@1 {
            compatible = "qcom,q6apm";
            reg = <GPR_APM_MODULE_IID>;
            #sound-dai-cells = <0>;
            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";

            dais {
                compatible = "qcom,q6apm-dais";
                iommus = <&apps_smmu 0x1801 0x0>;
            };

            bedais {
                compatible = "qcom,q6apm-lpass-dais";
                #sound-dai-cells = <1>;
            };
        };
    };
+5 −2
Original line number Diff line number Diff line
@@ -8,12 +8,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices ADAU1372 CODEC

maintainers:
  - Alexandre Belloni <alexandre.belloni@bootlin.om>
  - Alexandre Belloni <alexandre.belloni@bootlin.com>

description: |
  Analog Devices ADAU1372 four inputs and two outputs codec.
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    enum:
@@ -42,7 +45,7 @@ required:
  - clocks
  - clock-names

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ required:
  - AVDD-supply

allOf:
  - $ref: dai-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false
Loading