Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp656153pxk; Thu, 1 Oct 2020 10:36:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZTUoiTjg7wlsbrG0jiHeYS5H1RxkLeZ8QPcTr7EghQOcgsyShbk/QBLwFnpBDD9Cch/cg X-Received: by 2002:a50:cd14:: with SMTP id z20mr9473893edi.4.1601573800277; Thu, 01 Oct 2020 10:36:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601573800; cv=none; d=google.com; s=arc-20160816; b=kn6ub8h94kjuwy2crhd8IKMZ7n4fTpFtU2b4n83EAXxsDoRbE/Enk7jD9EFW4CRl00 AQ3dIWcW0TFrGpuFYtlPk8F/VdY6eNF2wLRRcto+IIhi/qdJudMi8UZ235Gc+jY/LOze xRUx3GOqXHWN7DTPxJwSGr9JC3fs4K9u4Az31sXEtKWYyp463FrzTewoMb9huhL9o70B aFJACimP6hT519Oyxd0sKdwXbH/16kEA5pb4knZza3CoLl+EQNgHbYAkk26ul/R0jm+k wB9HhXsfLlQFYk5PXoseW0xstrycHtFLoXmvfSwCDuasAuUs88z5iFRxEipxNgcjCdu7 1KZA== 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=KlnZubbH4AjBh3I1yIdbDUeT0Qj+N798MnsQYJdup6X8EyH3UoS3pZAIYyQYemn82i 8PRodsrM949OWFyIjtddQD6W5CVBNxAdW88JnhKGM+6gcxyRZa1wOTszEstePNP4FzMA jtDAhnNWs/OO4JSW4Il+V0D4jbYONRVSx97fCBFOTkKUH7rt+WV5ArY1s9BXooOC5DYY XRs8CYSwpq0aCClCZW67/80qpj0sDgSlf/uWZCD2j7eu8LUjgexmpfynZhtupqB9QKl5 BOabB/UEBe8ixqJOzwegKIvLiamvQNiySfqq2HzjLvRiHXh/hwr602/AvaU9YvaSNHeC 1evg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=JzJBA1Ru; 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 di23si4358378edb.451.2020.10.01.10.36.18; Thu, 01 Oct 2020 10:36:40 -0700 (PDT) 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=JzJBA1Ru; 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 S1733012AbgJAReS (ORCPT + 99 others); Thu, 1 Oct 2020 13:34:18 -0400 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:9986 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732407AbgJAReS (ORCPT ); Thu, 1 Oct 2020 13:34:18 -0400 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Thu, 01 Oct 2020 10:33:26 -0700 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 1 Oct 2020 17:34:14 +0000 Received: from audio.nvidia.com (10.124.1.5) by mail.nvidia.com (172.20.187.18) with Microsoft SMTP Server id 15.0.1473.3 via Frontend Transport; Thu, 1 Oct 2020 17:34:09 +0000 From: Sameer Pujar To: , , , , , , , , CC: , , , , , , , , , , , , , Sameer Pujar Subject: [PATCH v3 05/13] ASoC: audio-graph: Support empty Codec endpoint Date: Thu, 1 Oct 2020 23:02:59 +0530 Message-ID: <1601573587-15288-6-git-send-email-spujar@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1601573587-15288-1-git-send-email-spujar@nvidia.com> References: <1601573587-15288-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=1601573606; bh=xesz+C4t0YPTEFk/rqoe+zcMPgDi6HPptJd7hjC0VQQ=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:In-Reply-To: References:MIME-Version:Content-Type; b=JzJBA1RuXOHgUu2eDrsEpKVQqr8gQFQAInbH/EUxhlR8CkQ1yzLjM2yrPrZhEPndl AOkHtCLO80qIyrijDr5Fi0TEuHZ1eM11//KRjNqEEWlhWr9mat+cf1u3nOL8cxwC52 qKyl0J1l1ZQTzWp2NNQnso2GKnq3GgT0RV91A0HdmU3LN38tK21rqZXaJ4mLRu3pUT m+tcvkxhoYHmOokmmS8V4/ACrpT7Md9P5AscHlTqtCgrQY7oOk1prpDvcdzlveIFUB 5umfj2aXsP8yWkndb0dX+5U8RvqI2E4os/ODUNLpSL7o31CLukbHKFO1u2g8y/Vv60 2pn/AeUdhZmDg== 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