Message ID | 20231215214955.12110-28-quic_wcheng@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-1700-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp9602818dys; Fri, 15 Dec 2023 14:02:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IG0YtdkfLMsl/LvC7RCdtTJM8A5+O479GQkUGSsjM3nPwbMYVjOnrnRkqg/02F3LmALsqQH X-Received: by 2002:a05:6870:f6a5:b0:1ff:812:f47f with SMTP id el37-20020a056870f6a500b001ff0812f47fmr15013067oab.44.1702677737263; Fri, 15 Dec 2023 14:02:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702677737; cv=none; d=google.com; s=arc-20160816; b=rye/e5Bu3jfV6TIH7Ji2gR82A7b0TksWA+pFjTjvU+YP4jRixYthmEFHZQAOxk1TRK jdZBpRONe0vgmItvFKbsl/XojUvp0x3xrhh5zrn2MOiiQwH2ie2tDWht5gvr1q7XhxVf TiSkNWG+Uyfel8OF2WCUztAe1oN4oZVhZTbWQ5mMkOkuHpc6xLrEU9FkpjuFpnCQaUUl SC1vSArekKSS7BCJrsbJYNIIZBEGjiL/f2Xpg6NHsAQFuc4TiUKhLEUALJ0optiF8W+I 1rA+VvkRtXT9Qrgpi3zohaNKgF9+DM0fnd2vvVwWxH1s3M0aSWD12x+4F4JA7Ul0RfUR xsGw== ARC-Message-Signature: i=1; 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=ZvoS3HLjg5Fu4BDsgBt8WUSU9w+4N+LsV93zchjmxcY=; fh=0KzismZj+xI0Z//ZGdqKIH/FO9LtSZM7Yj4P0VtrCz0=; b=IKHOsI3G7NQeQewVv4mO1v0Us9Za4plOHe1zF+IqIYZ9nsGMDlVvKWcyGmgrxDbd99 WJYxQYovz1z+u+iHLOQY7ZrbMEdp0jZCmSJ8zAY1nN08VeTK/SYR+q/DhNSQ8yUHU+9I HaasnZZCuVV42A6sz0NJQ2Kbnvngeh8W/8xdzIolQ80Td2KB3UK4/pxKws8M5LdMh0u+ 4QLp1fiODmklE465eUUxEX43lyhM2/ra3DmqrPCMtdfeRz4zDer+pqBnfnX3NQHcMPsr Hl6u8lbjf6IcmUPMf51WF+gaDWpCZHEVzmQ/ea3ppormtAMuE4qmredvm3GpPbrXDKps 1vkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=L61dUtdM; spf=pass (google.com: domain of linux-kernel+bounces-1700-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-1700-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id ga6-20020a05622a590600b00425807d73besi9287331qtb.424.2023.12.15.14.02.17 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 14:02:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-1700-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=L61dUtdM; spf=pass (google.com: domain of linux-kernel+bounces-1700-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-1700-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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 078BB1C2320A for <ouuuleilei@gmail.com>; Fri, 15 Dec 2023 22:02:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DD78018EAC; Fri, 15 Dec 2023 21:50:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="L61dUtdM" X-Original-To: linux-kernel@vger.kernel.org Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 E4ABA6979B; Fri, 15 Dec 2023 21:50:30 +0000 (UTC) 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 (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 3BFICXWt011007; Fri, 15 Dec 2023 21:50:15 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=ZvoS3HLjg5Fu4BDsgBt8 WUSU9w+4N+LsV93zchjmxcY=; b=L61dUtdMRTW/prS5b1nOL2AHnD3JkTq5/r3N +1qylohCtGfhhJcQxdwk+hKJRpmnuxcJU75sTBYAHBl5k1qjjIz+zN5JlmntMA/1 izYA6RYOvb/3HKIj36ms0jPOd05lWPNwHK7KN6oNZ7l7sw/ZryT+iTD7yWpnKDcr lFKjRAqIXucgv8QOflD3s0e2QERFpj9vcDYvc3BJVGrza1ng5iZXHvH1DTB5oxzT yitwx5eUsR9QZ3hLj647pAX2x1hoKhh3RBvYjKb7iLtgucLDWGc0mZ3aOdZkqzTn fwWyjtgXd/0UVQPdX1oeddhmsEvf9fLAWBoXiXmp1kRIVpN3Dw== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3v0m46hngc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Dec 2023 21:50:14 +0000 (GMT) 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 3BFLoEKe018004 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Dec 2023 21:50:14 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, 15 Dec 2023 13:50:13 -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>, <gregkh@linuxfoundation.org>, <lgirdwood@gmail.com>, <andersson@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>, <konrad.dybcio@linaro.org>, <Thinh.Nguyen@synopsys.com>, <broonie@kernel.org>, <bgoswami@quicinc.com>, <tiwai@suse.com>, <robh+dt@kernel.org>, <agross@kernel.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 v10 27/41] ALSA: usb-audio: qcom: Populate PCM and USB chip information Date: Fri, 15 Dec 2023 13:49:41 -0800 Message-ID: <20231215214955.12110-28-quic_wcheng@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231215214955.12110-1-quic_wcheng@quicinc.com> References: <20231215214955.12110-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: nalasex01c.na.qualcomm.com (10.47.97.35) 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: M99dgLfBzC2FPbz-iLvzJLfKpZm6cEsW X-Proofpoint-ORIG-GUID: M99dgLfBzC2FPbz-iLvzJLfKpZm6cEsW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-09_01,2023-12-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 adultscore=0 phishscore=0 mlxscore=0 clxscore=1015 mlxlogscore=666 impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2311290000 definitions=main-2312150152 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785387011009645801 X-GMAIL-MSGID: 1785387011009645801 |
Series |
Introduce QC USB SND audio offloading support
|
|
Commit Message
Wesley Cheng
Dec. 15, 2023, 9:49 p.m. UTC
Currently, only the index to the USB SND card array is passed to the USB
backend. Pass through more information, specifically the USB SND card
number and the number of PCM devices available. This allows for the DPCM
backend to determine what USB resources are available during situations,
such as USB audio offloading.
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
---
sound/usb/qcom/qc_audio_offload.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/sound/usb/qcom/qc_audio_offload.c b/sound/usb/qcom/qc_audio_offload.c index 754c4242f8bc..1104499f89f7 100644 --- a/sound/usb/qcom/qc_audio_offload.c +++ b/sound/usb/qcom/qc_audio_offload.c @@ -172,6 +172,21 @@ enum usb_qmi_audio_format { USB_QMI_PCM_FORMAT_U32_BE, }; +static int usb_qmi_get_pcm_num(struct snd_usb_audio *chip, int direction) +{ + struct snd_usb_substream *subs = NULL; + struct snd_usb_stream *as; + int count = 0; + + list_for_each_entry(as, &chip->pcm_list, list) { + subs = &as->substream[direction]; + if (subs->ep_num) + count++; + } + + return count; +} + static enum usb_qmi_audio_device_speed_enum_v01 get_speed_info(enum usb_device_speed udev_speed) { @@ -1627,6 +1642,8 @@ static void qc_usb_audio_offload_probe(struct snd_usb_audio *chip) sdev->card_idx = chip->card->number; sdev->chip_idx = chip->index; + sdev->num_playback = usb_qmi_get_pcm_num(chip, 0); + sdev->num_capture = usb_qmi_get_pcm_num(chip, 1); uadev[chip->card->number].sdev = sdev; uaudio_qdev->last_card_num = chip->card->number;