Message ID | 20230308235751.495-21-quic_wcheng@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e54c:0:0:0:0:0 with SMTP id z12csp32378wrm; Wed, 8 Mar 2023 15:59:34 -0800 (PST) X-Google-Smtp-Source: AK7set8E/n4f7P5C/SJADg6EpqYx0FStTEHjap+lsfg07TMwu5D9SE8QiXa2nHR+QfTr4XJAsL8i X-Received: by 2002:a17:90b:3e8c:b0:237:85e5:3294 with SMTP id rj12-20020a17090b3e8c00b0023785e53294mr20829811pjb.20.1678319973955; Wed, 08 Mar 2023 15:59:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678319973; cv=none; d=google.com; s=arc-20160816; b=muUWsqy3jtb/q9mF7KyhEVyQYHJ7uhG/Z3FJNyTx21GSu196c0O4CTOgxPf+KOqwAF czFTF/nbBtW6rZ8IBj1QonijF7dPEciC005zW5f7gjA2pMfyYKQqug5IPKAqZp7EgxgM iWZq2k9/VS6x132Gg5sfJJlcvIltIJADxpBUZqpJ+e1OB2eTa+gV9k2ThCAcf/Qq9Aub kLC5FGvbtUAhPehkY1M29FZnI8UgvDoIzC8OVjFpnJVw7S5Ahtqz1aVL1rC1RA0xlimF fX7/e00xj5E0rxcYrD6Nmtg06PRmxYdH5tco9+XTSpgq3W/dYLVtP/WsRe67i7J2IHWx C6yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=b7sUiJfuwO0a6LdlN97Kgcq5+PvvUW4h4PV5z06GmyY=; b=D1xpwgVdnFGLVplMhrFzEnLpaaZqevEEpeor2tsRYtsoaFemiSK6tkFhMTmT1NR18e X2CsgMNRBGKSFSFTqtMD0BSTHdvlZbziTwy5DFuleaSF4evTq+ndPL6oT/l7UgK13Nts hsXH9tjPunZzjOaRiq0PdSLxJHOjAYgv9c8UstpjqYx8iUFKZuVJDvyMfTUqCXwwc/hG U4zfsKvw+2PT9PFkdhoowNLwfvt7YpI+hkXcgK+Lg8T3+SkLhZCCRf0yekIfN36NdqDi 60O6o9CIc1MlmU7hSCkWMzQF1Vlt7enauhRyOBBmn0eWX3Hb8Av5Weq0tbWbFa9wAUwP aq0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=naHJRup8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a2-20020a17090a8c0200b00219f65e19fcsi571165pjo.170.2023.03.08.15.58.58; Wed, 08 Mar 2023 15:59:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=naHJRup8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229705AbjCHX63 (ORCPT <rfc822;carlos.wei.hk@gmail.com> + 99 others); Wed, 8 Mar 2023 18:58:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229462AbjCHX60 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 8 Mar 2023 18:58:26 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 524BC6783E; Wed, 8 Mar 2023 15:58:25 -0800 (PST) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 328Fpwg0026009; Wed, 8 Mar 2023 23:58:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=b7sUiJfuwO0a6LdlN97Kgcq5+PvvUW4h4PV5z06GmyY=; b=naHJRup8RWDCEzIUqb0EN3ofJi97LoH/8SpfdzliAyeqO8Q9y1xhjqwuD8U1yPhv3b+c C2h4HZ0bWxx9D3MoWhqWL/Pc38JFaMfXuD4WATlzLQI0dhOhFrupkmbp/orWAsNrH6e4 n1hkvQu5Vmm2U1k4g9KgwkqqIpCINX0WXIGnYt4VjpM74srQJoJLy/quZlJvNXBeTKrG I7BrperuB9ooJEiipyiaY6CMInbj25tQL61maCLPrkGt1lMEdgeeLE1zAxn3rT0BernM jalX0KPDiR/EO8VzC4Nmuzsw97QKLXBUVJs8lbd/jmxr0KjDz3wpW2VtlIE3aS0L+DlY eg== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3p6wcmh3e1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 Mar 2023 23:58:11 +0000 Received: from nalasex01b.na.qualcomm.com (nalasex01b.na.qualcomm.com [10.47.209.197]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 328NwBx4019928 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 Mar 2023 23:58:11 GMT Received: from hu-wcheng-lv.qualcomm.com (10.49.16.6) by nalasex01b.na.qualcomm.com (10.47.209.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 8 Mar 2023 15:58:10 -0800 From: Wesley Cheng <quic_wcheng@quicinc.com> To: <srinivas.kandagatla@linaro.org>, <mathias.nyman@intel.com>, <perex@perex.cz>, <broonie@kernel.org>, <lgirdwood@gmail.com>, <krzysztof.kozlowski+dt@linaro.org>, <agross@kernel.org>, <Thinh.Nguyen@synopsys.com>, <bgoswami@quicinc.com>, <andersson@kernel.org>, <robh+dt@kernel.org>, <gregkh@linuxfoundation.org>, <tiwai@suse.com> CC: <linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>, <alsa-devel@alsa-project.org>, <devicetree@vger.kernel.org>, <linux-usb@vger.kernel.org>, <quic_jackp@quicinc.com>, <quic_plai@quicinc.com>, Wesley Cheng <quic_wcheng@quicinc.com> Subject: [PATCH v3 20/28] ASoC: dt-bindings: Add Q6USB backend bindings Date: Wed, 8 Mar 2023 15:57:43 -0800 Message-ID: <20230308235751.495-21-quic_wcheng@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230308235751.495-1-quic_wcheng@quicinc.com> References: <20230308235751.495-1-quic_wcheng@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01a.na.qualcomm.com (10.47.209.196) To nalasex01b.na.qualcomm.com (10.47.209.197) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: m2jT6w265aFGVFs2VHtuRfuuIS4_RFnx X-Proofpoint-ORIG-GUID: m2jT6w265aFGVFs2VHtuRfuuIS4_RFnx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-08_15,2023-03-08_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=963 clxscore=1015 priorityscore=1501 lowpriorityscore=0 impostorscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303080200 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759846045261667552?= X-GMAIL-MSGID: =?utf-8?q?1759846045261667552?= |
Series |
Introduce QC USB SND audio offloading support
|
|
Commit Message
Wesley Cheng
March 8, 2023, 11:57 p.m. UTC
Add a dt-binding to describe the definition of enabling the Q6 USB backend
device for audio offloading. The node carries information, which is passed
along to the QC USB SND class driver counterpart. These parameters will be
utilized during QMI stream enable requests.
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
---
.../bindings/sound/qcom,q6usb-dais.yaml | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
Comments
On 09/03/2023 00:57, Wesley Cheng wrote: > Add a dt-binding to describe the definition of enabling the Q6 USB backend > device for audio offloading. The node carries information, which is passed > along to the QC USB SND class driver counterpart. These parameters will be > utilized during QMI stream enable requests. > > Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com> > --- > .../bindings/sound/qcom,q6usb-dais.yaml | 49 +++++++++++++++++++ > 1 file changed, 49 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml > > diff --git a/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml > new file mode 100644 > index 000000000000..8477abc511dd > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml > @@ -0,0 +1,49 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/qcom,q6usb-dais.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm ASoC USB backend DAI > + > +maintainers: > + - Wesley Cheng <quic_wcheng@quicinc.com> > + > +description: > + The Q6USB backend is a supported AFE port on the Q6DSP. This backend > + driver will communicate the required settings to the QC USB SND class What does the "driver" mean? Linux driver? Then drop and focus on hardware/Q6DSP. > + driver for properly enabling the audio stream. Parameters defined > + under this node will carry settings, which will be passed along during > + the QMI stream enable request. > + > +properties: > + compatible: > + enum: > + - qcom,q6usb-dais Can q6usb mean anything else? Why "-dais" suffix? > + > + iommus: > + maxItems: 1 > + > + "#sound-dai-cells": > + const: 1 > + > + qcom,usb-audio-intr-num: > + description: > + Desired XHCI interrupter number to use. > + $ref: /schemas/types.yaml#/definitions/uint32 Why this should be configurable per board or SoC? It's the first use in DT and in the same time sounds generic... > + > +required: > + - compatible > + - "#sound-dai-cells" > + - qcom,usb-audio-intr-num > + > +additionalProperties: false > + > +examples: > + - | > + dais { > + compatible = "qcom,q6usb-dais"; > + #sound-dai-cells = <1>; > + iommus = <&apps_smmu 0x180f 0x0>; > + qcom,usb-audio-intr-num = <2>; > + }; Best regards, Krzysztof
Hi Krzysztof, On 3/10/2023 12:54 AM, Krzysztof Kozlowski wrote: > On 09/03/2023 00:57, Wesley Cheng wrote: >> Add a dt-binding to describe the definition of enabling the Q6 USB backend >> device for audio offloading. The node carries information, which is passed >> along to the QC USB SND class driver counterpart. These parameters will be >> utilized during QMI stream enable requests. >> >> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com> >> --- >> .../bindings/sound/qcom,q6usb-dais.yaml | 49 +++++++++++++++++++ >> 1 file changed, 49 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml >> >> diff --git a/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml >> new file mode 100644 >> index 000000000000..8477abc511dd >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml >> @@ -0,0 +1,49 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/sound/qcom,q6usb-dais.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm ASoC USB backend DAI >> + >> +maintainers: >> + - Wesley Cheng <quic_wcheng@quicinc.com> >> + >> +description: >> + The Q6USB backend is a supported AFE port on the Q6DSP. This backend >> + driver will communicate the required settings to the QC USB SND class > > What does the "driver" mean? Linux driver? Then drop and focus on > hardware/Q6DSP. > Sorry for the late reply, was side tracked on some other priorities, and reviving this series again. The driver here is a Linux ASoC based DPCM backend driver, which will interface with the CPU dai (q6afe). >> + driver for properly enabling the audio stream. Parameters defined >> + under this node will carry settings, which will be passed along during >> + the QMI stream enable request. >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,q6usb-dais > > Can q6usb mean anything else? Why "-dais" suffix? > As of now, no...will remove the dai suffix. >> + >> + iommus: >> + maxItems: 1 >> + >> + "#sound-dai-cells": >> + const: 1 >> + >> + qcom,usb-audio-intr-num: >> + description: >> + Desired XHCI interrupter number to use. >> + $ref: /schemas/types.yaml#/definitions/uint32 > > Why this should be configurable per board or SoC? It's the first use in > DT and in the same time sounds generic... > Would depend on which interrupter we want to use. This should be configurable per platform in case the audio DSP decides to work off a specific interrupter. Thanks Wesley Cheng >> + >> +required: >> + - compatible >> + - "#sound-dai-cells" >> + - qcom,usb-audio-intr-num >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + dais { >> + compatible = "qcom,q6usb-dais"; >> + #sound-dai-cells = <1>; >> + iommus = <&apps_smmu 0x180f 0x0>; >> + qcom,usb-audio-intr-num = <2>; >> + }; > > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml new file mode 100644 index 000000000000..8477abc511dd --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,q6usb-dais.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm ASoC USB backend DAI + +maintainers: + - Wesley Cheng <quic_wcheng@quicinc.com> + +description: + The Q6USB backend is a supported AFE port on the Q6DSP. This backend + driver will communicate the required settings to the QC USB SND class + driver for properly enabling the audio stream. Parameters defined + under this node will carry settings, which will be passed along during + the QMI stream enable request. + +properties: + compatible: + enum: + - qcom,q6usb-dais + + iommus: + maxItems: 1 + + "#sound-dai-cells": + const: 1 + + qcom,usb-audio-intr-num: + description: + Desired XHCI interrupter number to use. + $ref: /schemas/types.yaml#/definitions/uint32 + +required: + - compatible + - "#sound-dai-cells" + - qcom,usb-audio-intr-num + +additionalProperties: false + +examples: + - | + dais { + compatible = "qcom,q6usb-dais"; + #sound-dai-cells = <1>; + iommus = <&apps_smmu 0x180f 0x0>; + qcom,usb-audio-intr-num = <2>; + };