From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF47D22ACFA for ; Sat, 11 Jul 2026 01:11:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783732320; cv=none; b=rTJ1to5XqbwXjlmeyyccuM1opHC0PSAougCdi5MFZmoyMopBhsboUnxSmpzqzA9ATmvzkhlu/I1G835AK/PMK/pbkJEinU6RM9FffQbzITdmErnhycDCxZrWIqIq+hDZl8aUQXyfKn6oAFibmRqf/pAzmR0FFgFNpZjiBmyj4O4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783732320; c=relaxed/simple; bh=GHpRJg9oxVD6GKahUW6+PTUDA5kAW0ptFe5dE4sEofw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D5wEl36klQgHSzYMeyg+kOu0gPfEG1ixrzi2jggOfHjfHST5S4slT0Gbp+sOqQT/mlqX4QAytQY7jv0EerH+88AjAdOQzwgo/kRr2FD60RQzKWIk+/keZ41zZDM3XkRJmqEZRIRqWEmyUFHhgGl/2NLMFkTV5m2qUyTuB7DL8pA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=P2cw1H+J; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="P2cw1H+J" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-845c92bc464so1348570b3a.2 for ; Fri, 10 Jul 2026 18:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783732318; x=1784337118; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Ns9UFkQuF2E3pwYAgWuXOFZxiBt3YnXgvvVMaDlLWEk=; b=P2cw1H+J7ljRP/geRxrmIMaAyvWkIzwnxbOpZzHimk8N6vbw0rBCq7jbgEmj5WU4Rv hYtUOORZjwVFBSzoyx6QW3tOaMx13YOvb2iVH9UbvbwqajszEEDI0OecoDqIbIr6Oy3N FuZ0jjlZIRxW2PCL2TUnEytQjalzXJTsND5keXdyiJWdeDWsBrjcwUsSfAZdxKioFqVf LdLtgAlFxqG/X7YUgbV2QNuTq1iC4ZcIDvvrhEaXtkmej1BdoFOCr/ZFXZCE4yMPljW5 VWT+soaK7nHzk52hOs+5RIcrj2iWRtQSJTIXhmIfb4kHDpN+nX1fae59b7MPUvMJvpvJ OSng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783732318; x=1784337118; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ns9UFkQuF2E3pwYAgWuXOFZxiBt3YnXgvvVMaDlLWEk=; b=LP600a/lqguwubRSh8WyEyfdQretX7qOWJ/KaJGP1+DdB1LNKrDAms2P5D50WME6JK PC+4zOJrru/rbNGXfZAFcL/1rfBDOxpHjYAQGAifqnXT/PdkxU0g5MJpa3r+rSS7oGlT m/2DZKuNmrSvcikmmUEFYLs/NfLKcKJ9sirJY3NraqLZbzJgOrdYdHTDgQZoNP4pAOUk ElPK39CsPzPTI+k3ExKAfH30vps++c5SnuUllpiOf7YB4GW60540MHfjhj9/LxU3AYOB tFaiNzMAZloZfIn9aLuhR349Hn+K9jPXq+2Aa3FpPUx8zjerLLKzhn9ElavLUW9G9Glk thyQ== X-Forwarded-Encrypted: i=1; AHgh+Rr/5XYrcl4749aJe1OoOZjWuLdBVKXvWSmHlcjIdwj30PA8VDJvPj+SL90WiUFb75UXQLamlivXJYpEKQU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9rkVWt5xCuTarhTx7HR0j0gm5Epc06hD4G/lrK2QQCHW/fmNg A0VnCUeTrcxTsPrEY6Co1JNo/3kOdPJguIgyCRy1u6DScn9BMEEc8wbfgH+Wuw== X-Gm-Gg: AfdE7clzbnQeix+OFdBhNRzLxcikInCZgOzMKRdTXy5BKRCnewuIigkY8uQY1m2JLYI vou/zDjPmmRYTqbOj9y1TRp9KxXsiKZ1imPjfjtwGT/xUIdvpfUoJwer/vCJoOmbbrvCy78yx6d pONZs/qLi8x5za3d7ey8OyI+fMvclI5Gek3NsTdM4+yv0EsOv2PFZj47h7Sg4k8jJQM7zuxNZW0 7ZOLrpFqbNZHr5GriC6ZnRdp9wX/sNXjtD0w/wsW8KlxFrspdlYOH0TGH997iBLKdOUOUyw9zJs yYl7IQ6IFh6fAc8P3QfaAE2VKlY58Anstq06j1gxgGtVHxu3om2qXMLGqrgnBqiIsdc86E/i+zU EDfPn5oXb7Td2cnxEZaCDrMT6+WV9XxMSw0I50JoytFgALpJPBeXR+WeQSDZSndYsMDiToGQvTv mKpUm2WxPr9hGyJThRliRIpnNFP5YaAAcHzM4ggWyIevmYVhwxyTAK5bwiJHr8BqHmQiNPrz2R1 4GCN+85d6G81VEOfmGM1KsbH1lWeaRbU5wpx2Sr+DnySApcD1JlnrLHMLVxwTz6Cg== X-Received: by 2002:a05:6a00:448a:b0:848:2f74:1d5e with SMTP id d2e1a72fcca58-8488972ebb9mr1061334b3a.68.1783732318176; Fri, 10 Jul 2026 18:11:58 -0700 (PDT) Received: from [192.168.2.3] ([2403:581e:d87e:0:fc2d:ed31:e80e:412d]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-848530c5a12sm3751929b3a.5.2026.07.10.18.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jul 2026 18:11:57 -0700 (PDT) From: James Calligeros Date: Sat, 11 Jul 2026 11:11:21 +1000 Subject: [PATCH v4 3/7] ASoC: apple: mca: Factor out mca_be_get_fe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260711-apple-audio-redux-v4-3-2994d87c2f24@gmail.com> References: <20260711-apple-audio-redux-v4-0-2994d87c2f24@gmail.com> In-Reply-To: <20260711-apple-audio-redux-v4-0-2994d87c2f24@gmail.com> To: =?utf-8?q?Martin_Povi=C5=A1er?= , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: asahi@lists.linux.dev, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, James Calligeros X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1985; i=jcalligeros99@gmail.com; h=from:subject:message-id; bh=gZo+qAecjsjEu2IDUW/qEj1Tcf3OnB55qMCIoJb2Flk=; b=owGbwMvMwCV2xczoYuD3ygTG02pJDFmBM7yVJ9Zo2iWUT+6+N/80++qjtZbxSdZshU57U+umq akEtgV2TGRhEONisBRTZNnQJOQx24jtZr9I5V6YOaxMIEOkRRoYgICFgS83Ma/USMdIz1TbUM/Q SMdYx4iBi1MApvpQJiPDhsXiuzZGKS176hOaczYz4oVlp/b8vSsSXxdscaw6EOM0i5Hh0PeNawI Wn5bt1+eX2SQUXLPMaFHy162KuY/7bTJnbX7CCAA= X-Developer-Key: i=jcalligeros99@gmail.com; a=openpgp; fpr=B08212489B3206D98F1479BDD43632D151F77960 From: Martin Povišer This is a function that we also want to use from within mca_be_shutdown, so factor it out. Signed-off-by: Martin Povišer Signed-off-by: James Calligeros --- sound/soc/apple/mca.c | 31 ++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/sound/soc/apple/mca.c b/sound/soc/apple/mca.c index 55cdb4e0f0b4..1e9a5c9cfc54 100644 --- a/sound/soc/apple/mca.c +++ b/sound/soc/apple/mca.c @@ -721,30 +721,35 @@ static bool mca_be_clk_started(struct mca_cluster *cl) return false; } -static int mca_be_startup(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) +static struct snd_soc_pcm_runtime *mca_be_get_fe(struct snd_soc_pcm_runtime *be, + int stream) { - struct snd_soc_pcm_runtime *be = snd_soc_substream_to_rtd(substream); - struct snd_soc_pcm_runtime *fe; - struct mca_cluster *cl = mca_dai_to_cluster(dai); - struct mca_cluster *fe_cl; - struct mca_data *mca = cl->host; + struct snd_soc_pcm_runtime *fe = NULL; struct snd_soc_dpcm *dpcm; - fe = NULL; - - for_each_dpcm_fe(be, substream->stream, dpcm) { + for_each_dpcm_fe(be, stream, dpcm) { if (fe && dpcm->fe != fe) { - dev_err(mca->dev, "many FE per one BE unsupported\n"); - return -EINVAL; + dev_err(be->dev, "many FE per one BE unsupported\n"); + return NULL; } fe = dpcm->fe; } + return fe; +} + +static int mca_be_startup(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai) +{ + struct snd_soc_pcm_runtime *be = snd_soc_substream_to_rtd(substream); + struct snd_soc_pcm_runtime *fe = mca_be_get_fe(be, substream->stream); + struct mca_cluster *cl = mca_dai_to_cluster(dai); + struct mca_cluster *fe_cl; + struct mca_data *mca = cl->host; + if (!fe) return -EINVAL; - fe_cl = mca_dai_to_cluster(snd_soc_rtd_to_cpu(fe, 0)); if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { -- 2.55.0