Message ID | 20240217001017.29969-51-quic_wcheng@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp73202dyc; Fri, 16 Feb 2024 16:30:19 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVtllhjryJl+bPUAmDbMzr1oqhsum02KJPAa+XGdR4WqyzU7zw4knJgfhWGOTx3gBS3XZZqSz3BZf7wLX388psLObZUag== X-Google-Smtp-Source: AGHT+IE9n33M7HIvbdkCs3TvqKJ5ce3UgD1m1XaR5g0Kl7BWj4+p3EakIndXJyjTrMRdxQUHDRGm X-Received: by 2002:a6b:6113:0:b0:7c3:ec35:8df7 with SMTP id v19-20020a6b6113000000b007c3ec358df7mr7321765iob.3.1708129818822; Fri, 16 Feb 2024 16:30:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708129818; cv=pass; d=google.com; s=arc-20160816; b=CDEde8cjLMqTbF9X8bHtDZUEcAl8zQaU2/nt6imOnKVZWFzXrLzb9BVMybEPV0ml2b SrCzJRioykpmyTNFmBWbvCBsseL5WsTYGW1ODTeuURCfJLFn6yr+1yp86Nnntijqem8V pTkzxq4kSDV3yNCdNz9F84KbXEiPPztVn3KJ4YXlJK+qwdcGkaRVkkXE4TDyVQhE9NJo dl9heA0ROx2mHj//oFUamvyXwBBgMDigINqfcOCvSMMwPkwhZKS9BkfJx+75TFNEZtlO rbLVwE2yalmiH3yJBnL0fy+pWsKa9WFfo+FkVvTEMzdj0SbdcIiI1UjCdoSYyuKYewyS pNoA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=5uoGJwSD9C2YGZyRc+IK0V5FTPw3VvdAlOyGPREG8wI=; fh=VKrp0Y7I/+wT36BfKZ6oI/4N9BIwFCn9zerObkOrgGw=; b=jvkrjwgWCYcsEQET0NUPvoNQ2HpSN8ic5XawDyWmuAxxi0DgN4uw0hdAeV3C1qQcio A/mpPe9sqpoAzV3XOZ3/0c0V+1N/RIGvaiFQVciBc1+Gf3OlNoE08mUvQBO8Oa01c4Q7 50MWEx8eyV/L5E2oIYQ1k2+ol4LKjN6rXmE1nxei2uj8dZm0zbqJ3R33qSDnw/N9Bbo4 aPsoC7/Po8F212SasX1NJ5Itr+xikv1zns4SgcsT3+WZxJFcNl9jPUgclyBejfEYOfoA AhD2bwzY1Kv1PFzxc8t+6w0jqQCNOJ4O78UYTl6hAolWa8dYliSEkhl6ujQT4eW/rdwn Fy9Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=kuSr1dn5; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id s20-20020a63af54000000b005dcd64e8467si672383pgo.59.2024.02.16.16.30.18 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 16:30:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=kuSr1dn5; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-69567-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6B31A28BBC5 for <ouuuleilei@gmail.com>; Sat, 17 Feb 2024 00:27:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 08B5A14E2C1; Sat, 17 Feb 2024 00:11:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="kuSr1dn5" Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C155C8C7; Sat, 17 Feb 2024 00:11:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708128667; cv=none; b=IsSaeOWV4vE+giN6mPIPM5H/xrdIyEwX96LfWx+/QyIqt4w9i4VI7LrSPObIZUgvL541KP5sPuZDa2sPqQXcC2uZYNX7hgjFfw3qO7GLVjvtB1gtWSrYM4mt49Y2/SqPQ3QMx4kGT7O3uFqj9y9LOWGfMy/tsPAAPQZKxBjBpWc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708128667; c=relaxed/simple; bh=+5mctwiPbGJWIC8A878mTRFjfB1bsvH1gd7x5+K/epQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HHYwpUZMDBNCAv5X5ihxGp0Q1fp6H6CdH96khnlA3XS19G/T4cwF/dR+OdDnfgkaL4Ih+Gh2ejlieYvnhKaLVlZRZM8wOxsGRCuOSX8Uto9qFXkQ4E1IDBxRYIdgGZ+tao5DgFEtt+qOv7miRiU3ILhDWmPJKOkHssqNyF/RpBs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=kuSr1dn5; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 41GNPqcw011936; Sat, 17 Feb 2024 00:10:45 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=5uoGJwSD9C2YGZyRc+IK 0V5FTPw3VvdAlOyGPREG8wI=; b=kuSr1dn5zepyATOfs1vsM/44UVgTmuBNfDLv vNv654GOF7Zm1R2Jxy+qbASowx8Frm8L3sWeI2+BAtmKZ3dgm1ueQktmMz7yCX7q 34Vic14PQB6z9eLy8pPN9UOqLqOuoPxgAzyRRxxtu4+JtLGVZCNHcySy7eMrc4Lc veAR37jKOEWBYlqiPH3tMzgtzZFM5Q0LpRkM3KTENkKApYp/m/RPlSGQcSxpsHcG C4UnakjjVHQOrA3gDX3yo0lHuXYXL91Gi4x6bWv0F8BzBapnFgfySmkmG5/JcGWB H1HXhaYTZ0LeQ7Ya1k3fDXthfELi7clyYrz8ANTqtzTx5ddkJw== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3wabeers4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 17 Feb 2024 00:10:45 +0000 (GMT) Received: from nalasex01b.na.qualcomm.com (nalasex01b.na.qualcomm.com [10.47.209.197]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 41H0AiDi011385 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 17 Feb 2024 00:10:44 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.1118.40; Fri, 16 Feb 2024 16:10:43 -0800 From: Wesley Cheng <quic_wcheng@quicinc.com> To: <srinivas.kandagatla@linaro.org>, <mathias.nyman@intel.com>, <perex@perex.cz>, <conor+dt@kernel.org>, <corbet@lwn.net>, <lgirdwood@gmail.com>, <andersson@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>, <gregkh@linuxfoundation.org>, <Thinh.Nguyen@synopsys.com>, <broonie@kernel.org>, <bgoswami@quicinc.com>, <tiwai@suse.com>, <robh+dt@kernel.org>, <konrad.dybcio@linaro.org> CC: <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-sound@vger.kernel.org>, <linux-usb@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>, <linux-doc@vger.kernel.org>, <alsa-devel@alsa-project.org>, Wesley Cheng <quic_wcheng@quicinc.com> Subject: [PATCH v17 50/51] ASoC: qcom: Populate SoC components string Date: Fri, 16 Feb 2024 16:10:16 -0800 Message-ID: <20240217001017.29969-51-quic_wcheng@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240217001017.29969-1-quic_wcheng@quicinc.com> References: <20240217001017.29969-1-quic_wcheng@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain 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-ORIG-GUID: rNri8DAr9ArWnGLK9OEl4STKEdVhqdW3 X-Proofpoint-GUID: rNri8DAr9ArWnGLK9OEl4STKEdVhqdW3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-16_23,2024-02-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 phishscore=0 mlxscore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 impostorscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2401310000 definitions=main-2402160189 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791103933085287323 X-GMAIL-MSGID: 1791103933085287323 |
Series |
Introduce QC USB SND audio offloading support
|
|
Commit Message
Wesley Cheng
Feb. 17, 2024, 12:10 a.m. UTC
For userspace to know about certain capabilities of the current platform
card, add tags to the components string that it can use to enable support
for that audio path. In case of USB offloading, the "usboffldplybk: 1" tag
is added to the string.
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
---
sound/soc/qcom/sm8250.c | 3 +++
sound/soc/qcom/usb_offload_utils.c | 22 ++++++++++++++++++++++
sound/soc/qcom/usb_offload_utils.h | 6 ++++++
3 files changed, 31 insertions(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c index a4e87dfb1b93..5e3007e2e061 100644 --- a/sound/soc/qcom/sm8250.c +++ b/sound/soc/qcom/sm8250.c @@ -39,6 +39,9 @@ static int sm8250_snd_init(struct snd_soc_pcm_runtime *rtd) &data->usb_offload_jack_setup); else ret = qcom_snd_wcd_jack_setup(rtd, &data->jack, &data->jack_setup); + + qcom_snd_add_components_string(rtd); + return ret; } diff --git a/sound/soc/qcom/usb_offload_utils.c b/sound/soc/qcom/usb_offload_utils.c index 0be05c1f87a9..8b137e1593e5 100644 --- a/sound/soc/qcom/usb_offload_utils.c +++ b/sound/soc/qcom/usb_offload_utils.c @@ -26,4 +26,26 @@ int qcom_snd_usb_offload_jack_setup(struct snd_soc_pcm_runtime *rtd, return 0; } EXPORT_SYMBOL_GPL(qcom_snd_usb_offload_jack_setup); + +int qcom_snd_add_components_string(struct snd_soc_pcm_runtime *rtd) +{ + struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0); + struct snd_soc_card *card = rtd->card; + const char *prev = card->components; + + switch (cpu_dai->id) { + case USB_RX: + card->components = devm_kasprintf(card->dev, GFP_KERNEL, "%s %s", + card->components, + snd_soc_usb_get_components_tag(true)); + default: + break; + } + + if (prev && prev != card->components) + devm_kfree(card->dev, prev); + + return 0; +} +EXPORT_SYMBOL_GPL(qcom_snd_add_components_string); MODULE_LICENSE("GPL"); diff --git a/sound/soc/qcom/usb_offload_utils.h b/sound/soc/qcom/usb_offload_utils.h index 283e81f57f43..03780a12a326 100644 --- a/sound/soc/qcom/usb_offload_utils.h +++ b/sound/soc/qcom/usb_offload_utils.h @@ -10,11 +10,17 @@ #if IS_ENABLED(CONFIG_SND_SOC_QCOM_OFFLOAD_UTILS) int qcom_snd_usb_offload_jack_setup(struct snd_soc_pcm_runtime *rtd, struct snd_soc_jack *jack, bool *jack_setup); +int qcom_snd_add_components_string(struct snd_soc_pcm_runtime *rtd); #else static inline int qcom_snd_usb_offload_jack_setup(struct snd_soc_pcm_runtime *rtd, struct snd_soc_jack *jack, bool *jack_setup) { return -ENODEV; } + +static inline int qcom_snd_add_components_string(struct snd_soc_pcm_runtime *rtd) +{ + return -ENODEV; +} #endif /* IS_ENABLED(CONFIG_SND_SOC_QCOM_OFFLOAD_UTILS) */ #endif /* __QCOM_SND_USB_OFFLOAD_UTILS_H__ */