Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp263380imu; Wed, 12 Dec 2018 16:26:23 -0800 (PST) X-Google-Smtp-Source: AFSGD/UhQhU2AuHJkI+VySDkhWi1PKwYuEN2wAgQdd7LukqvPY0ZiEQYzeR652R8hUdn+mjpL/Qb X-Received: by 2002:a63:2784:: with SMTP id n126mr20578552pgn.48.1544660783275; Wed, 12 Dec 2018 16:26:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544660783; cv=none; d=google.com; s=arc-20160816; b=S/LaeU3XGEK6/FCfKQyaiwLyjYNRVRK6xQ7x6twPE0Nx4Cqb5yGNKHR7zWVS2D2IJo oN/YHDMjUlqbDYo43tSFXYPg9ZBrMvUW3HDP6CzTHSmq6yMOCewNblTmSRu0rYGsY3d1 PABgcDofH3e9hFzFbkTKEA2f9e9N3RoMRLTvtq+3R6551Ox0OT7gQctCrxq21pOVZsC7 RoQWIplK8pElElmnR3/vjkKuSxGBoXZRn0OyiwLYEUbMK4d62zZB1IryjRnTzBuMHRbR Vqa9q/DXXmoI8KMeOmvyXLXfPF9I7P1Kew1hzjDFFFM+mRlMZPlki7/funGU4KLj1RTt goog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:subject:cc:to:from:message-id:date; bh=eKPOkn/wRdgxS4eWMjEuxWYaQ4Rooh86zhZ5SMRnx2I=; b=zTEEjxbB622fR5ih52ugG4qKWstqe9Qa7dHoonQxc8qwgaAMpCWba5A36PIRVFFuKt l6taebL7gjvMq60w9KRi99ixfmbU+xG28ANk/cmP3qR18lv/EDWXDREushJVGR8jNjg9 FktkOt+ut2DFzPoPTQUhw1m8/xe0vrgmgdUOoQJM+eayVfjuffHnPdw7yd+YyXs/fLj3 3mcWB27500C5ORpQz7/r4dA1YkdKXqVLKRnP7+pntSxgT/q4oUdOaVqEP01sYxN7bPed tJUQ1xvjTL69PjMUehoopAug99HNsoLkzBVHHsZdmb9HyYaveFUzUYXGleIC5J3B8/YL X72Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g17si205429pgi.578.2018.12.12.16.26.09; Wed, 12 Dec 2018 16:26:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728523AbeLMAYK (ORCPT + 99 others); Wed, 12 Dec 2018 19:24:10 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:10554 "EHLO relmlie6.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726278AbeLMAYK (ORCPT ); Wed, 12 Dec 2018 19:24:10 -0500 Date: 13 Dec 2018 09:24:06 +0900 X-IronPort-AV: E=Sophos;i="5.56,346,1539615600"; d="scan'208";a="2455728" Received: from unknown (HELO relmlir5.idc.renesas.com) ([10.200.68.151]) by relmlie6.idc.renesas.com with ESMTP; 13 Dec 2018 09:24:06 +0900 Received: from morimoto-PC.renesas.com (unknown [10.166.18.140]) by relmlir5.idc.renesas.com (Postfix) with ESMTP id C3CEE401428E; Thu, 13 Dec 2018 09:24:06 +0900 (JST) Message-ID: <87imzy2sh1.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto To: Tony Lindgren Cc: "alsa-devel@alsa-project.org" , "linux-omap@vger.kernel.org" , Liam Girdwood , "linux-kernel@vger.kernel.org" , Takashi Iwai , Peter Ujfalusi , Mark Brown , Sebastian Reichel , Jarkko Nikula Subject: Re: [alsa-devel] [PATCH 0/2] Graph fixes for using multiple endpoints per port In-Reply-To: <20181212152725.GE6707@atomide.com> References: <8736r4bvf3.wl-kuninori.morimoto.gx@renesas.com> <20181211045220.GI6707@atomide.com> <871s6obqkb.wl-kuninori.morimoto.gx@renesas.com> <20181211053536.GJ6707@atomide.com> <87wooga9an.wl-kuninori.morimoto.gx@renesas.com> <20181211141649.GL6707@atomide.com> <87ftv33bpg.wl-kuninori.morimoto.gx@renesas.com> <20181212001950.GX6707@atomide.com> <877egf33m9.wl-kuninori.morimoto.gx@renesas.com> <87k1kfs0u5.wl-kuninori.morimoto.gx@renesas.com> <20181212152725.GE6707@atomide.com> User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Tony > /* Codec has 1 DAI */ > Codec { > port { > #address-cells = <2>; > #size-cells = <1>; > > ep: endpoint { > remote-endpoint = ; > }; > }; > } (snip) > foo = <&ep 0>; > bar = <&ep 1>; Ahh, it looks nice idea ! but hmm..., it seems dtc doesn't allow us to use #address-cells = <2> for "remote-endpoint". --- ${LINUX}/scripts/dtc/checks.c --- static struct node *get_remote_endpoint(struct check *c, struct dt_info *dti, struct node *endpoint) { ... prop = get_property(endpoint, "remote-endpoint"); if (!prop) return NULL; => phandle = propval_cell(prop); /* Give up if this is an overlay with external references */ ... } I'm not good at dtc, but propval_cell() is assuming it is single address cell. We will have many assert warning on remote-endpoint = <&xxx 0>; Can you please double check it ? And, I'm wonder remote-endpoint need to cross pointing, right ? one way looks nice by address-cells <2>, but other way is ? port { cpu-ep0: endpoint@0 { remote-endpoint = <&codec-ep 0>; }; cpu-ep1: endpoint@1 { remote-endpoint = <&codec-ep 1>; }; }; port { #address-cells = <2>; #size-cells = <1>; codec-ep: endpoint { (*1) remote-endpoint = <&cpu-ep0>; }; }; This case, cpu-epX -> codec-ep are OK. But, codec-ep -> cpu-epX case can point only 1 endpoint (*1). I'm not sure, but maybe this is not a OF graph policy (?) > > Can you agree this ? we need extra patch, > > but it can solve your / my problem. > > Yes it's starting to make sense :) Thanks > > Now I'm posting patches to merging > > "audio-graph-card" and "DPCM ver audio-graph-card". > > If you are OK, I will include above solution patch > > to this patch-set. > > Sure, maybe please first check if the #size-cells = <2> > option would work though? maybe #address-cells, instead of #size-cells ;P But, yeah, please double check it too. > > Current audio-graph doesn't expect your use-case, > > and I want to avoid conflict. > > > > So, "merged" audio-graph should solve your use-case. > > If you can agree about this, I will post patch-set. > > Yeah I agree, just still wondering what might be the best > way to represent 1 DAI vs 2 DAIs. According to OF graph maintainer, he said that counting port / endpoint are not guaranteed, and we need to use "reg". (It is the reason of b6f3fc005a2c8b425d7a0973b43bef05890bf479) If you could double checked, and we could agreed that "reg" is the solution for us. I will post patches. Best regards --- Kuninori Morimoto