Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp3371223pxx; Mon, 2 Nov 2020 07:14:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzM/4gxywRZSP00b0r2qeX3d3QbUF/ZR8Js3WHTnfLlOgyfTrSAzguLpC+2obztC+I7QLq0 X-Received: by 2002:aa7:cb4c:: with SMTP id w12mr10659770edt.309.1604330040566; Mon, 02 Nov 2020 07:14:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604330040; cv=none; d=google.com; s=arc-20160816; b=i32Iq9ROB/5wEUW3F9dhhLAyUZ/Tid/h0vVMSBvpZ3ViPYiIk/+1UA30rJ+DZbWGfe KK9HNfXBBns1zZjUn+v7xTi6U9NwSoklkt+AmHs4XxstmFLlQTZSk598sHmysF7gPvzw n6xno4+rTLpE77Ebivr4ZJD0ZN8k3BvlA5EQp8Fjq4WjlQrycYM7Hru7Bg70dfSxaIGx 3xT13vgF4qVKYjl2sMecF712vGJdkpc2nHqBvXXNWA0e+uWooQ/9seskXzoI9UzwV4VY W1s9cySy2Fchl4OFS8I9IWHrrmCwq0s6SGE/bw+OduJcaR9Dx0n8h9is+CDqp9UeqEUS S6XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:dkim-signature:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from; bh=xesz+C4t0YPTEFk/rqoe+zcMPgDi6HPptJd7hjC0VQQ=; b=Hs4p76mrm8mHfA99sXC48LgvGsSNELjgoKQzLitU/UE7LqqTRLQ1lhvLtgCNEoXRS9 2e3nz5mX6uuxiq6nAqzJ364dzCyZpGECjAZtArMt692RywHUJLqjZ3wzXWKxXjQzP3Do qk4z6z02eCCLwe/R5luSL9Phl/lzcr6KrCO23QJW+oz56M+DfuMVhyn7Iy5Nn/HYPC7B xLRsUzAGGNonY6T39EGmXkbZUXqboEJsGgHVMqGmrH7ASO7/XD8GT64C07evdRMfgMxN /4A22yvoCwDJaoGKFP3VX6g4qSDsezuFghQ5udo04IkvM65aFj7NkfGp8ob7rAkza3/A xA1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=qPxYRKPc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h23si10994420edt.81.2020.11.02.07.13.36; Mon, 02 Nov 2020 07:14:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=qPxYRKPc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726433AbgKBPLm (ORCPT + 99 others); Mon, 2 Nov 2020 10:11:42 -0500 Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:7815 "EHLO hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726402AbgKBPLl (ORCPT ); Mon, 2 Nov 2020 10:11:41 -0500 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 02 Nov 2020 07:11:51 -0800 Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 2 Nov 2020 15:11:36 +0000 Received: from audio.nvidia.com (10.124.1.5) by mail.nvidia.com (172.20.187.12) with Microsoft SMTP Server id 15.0.1473.3 via Frontend Transport; Mon, 2 Nov 2020 15:11:33 +0000 From: Sameer Pujar To: , , , , , CC: , , , , , , Sameer Pujar Subject: [PATCH v5 5/7] ASoC: audio-graph: Support empty Codec endpoint Date: Mon, 2 Nov 2020 20:40:12 +0530 Message-ID: <1604329814-24779-6-git-send-email-spujar@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1604329814-24779-1-git-send-email-spujar@nvidia.com> References: <1604329814-24779-1-git-send-email-spujar@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1604329911; bh=xesz+C4t0YPTEFk/rqoe+zcMPgDi6HPptJd7hjC0VQQ=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:In-Reply-To: References:MIME-Version:Content-Type; b=qPxYRKPcTu4iRyAtYj/ydiyHZQ4dJ81Vp/LD1yP1sHbmH+zksJaPph+eZNe+R3xup maWGcfQReaoe7s7AgW7xolUdnG/tA9hxHTzvB+saBNE1fdFYug/ZvuxL/XaalEwegW rMZnSEs/82h0osg7Dp7HrGqwW45pn6hWetvegfWwf5fFPBlXUs077Dv6BG7vMmdyyV OA3oVcCI1nFA7iJ6YzdWPjoj3C5KSwDE3deGw5V2ZFRegFe04xVn87jB2lj3vinY7U daHj06u8DZe/DuIgZtzBtzKp7b5cEeK6gBTjjPrjktiZMkur1zhI05DKlzlKjgChL7 eMNYNGWATpFcg== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For open platforms, which can support pluggable audio cards, Codec endpoint is not fixed always. It actually depends on the compatible HW module that is going to be connected. From SoC side the given I/O interface is always available. Hence such links have fixed CPU endpoint but no Codec endpoint. This patch helps to support such links where user can populate Codec endpoint only and its fields in Platform DT depending on the plugged HW. Signed-off-by: Sameer Pujar Cc: Kuninori Morimoto --- sound/soc/generic/audio-graph-card.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c index 9b06841..0ba50be9 100644 --- a/sound/soc/generic/audio-graph-card.c +++ b/sound/soc/generic/audio-graph-card.c @@ -229,6 +229,14 @@ static int graph_dai_link_of_dpcm(struct asoc_simple_priv *priv, struct snd_soc_dai_link_component *codecs = dai_link->codecs; int ret; + /* + * Codec endpoint can be NULL for pluggable audio HW. + * Platform DT can populate the Codec endpoint depending on the + * plugged HW. + */ + if (!li->cpu && !codec_ep) + return 0; + /* Do it all CPU endpoint, and 1st Codec endpoint */ if (!li->cpu && dup_codec) return 0; @@ -565,7 +573,7 @@ static int graph_count_dpcm(struct asoc_simple_priv *priv, li->link++; /* 1xCPU-dummy */ li->dais++; /* 1xCPU */ - if (!dup_codec) { + if (!dup_codec && codec_ep) { li->link++; /* 1xdummy-Codec */ li->conf++; /* 1xdummy-Codec */ li->dais++; /* 1xCodec */ -- 2.7.4