Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1674047pxu; Thu, 17 Dec 2020 16:07:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJy52+KTO0Q62G/vpDYHU+Izp1xEYENdZhEG5ruKl4pZ+2iuaA9oknVa2XJlpqzgDCyXuami X-Received: by 2002:a05:6402:b2f:: with SMTP id bo15mr1936523edb.220.1608250053093; Thu, 17 Dec 2020 16:07:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608250053; cv=none; d=google.com; s=arc-20160816; b=KXSqkh+FUqRHtPKmqAD90kvghjVuJaE7lEloUfyNR3CMTVWNi8ypVXwTc1iisc0g1t AgHIJ3VXnszVvPmUYNTUwsZziGfGrmcdjFHLqLqQKunp4k/mf7sWRHPij7oXj5Q1XZ1v 9QdLNDYcruGd/LuBNUyXTbRYABMt8HAf7aqa/MW00qfb/yd2UCBZvkwvcfkZNCMNeDMd v10eeNmPqCTpJmj5ufDdBea/y5pCO5pzHAaUrsXNUUSukZvJhbtuBr6pkiaVHbPAMwZb 3onpTCa4J7NdX/spRuCIHjbVEOlWygc8frA28CvxvvBPVBqzbZNf00m2r/Q4hoWPhU+4 5ZHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :subject:cc:to:from:message-id:date; bh=UaWfP9lRBOBQ9SVbNioV0QinbB/VgLsl4aGRCU9TzEo=; b=HcT/0uC8B8r8S8u2pVIn3uFP5sn3A4qPCVBzJ6RVBvlFLwNmqUwvxvNC77/ncIxMyR MzRBNmN/yS2LUphcq1Es8Wf4Li1CrS5GyG03r3HARAtbmYSnDj7/TJq05LPJxaANR7Bt +gCdRMBJJw4iNzUNx5hmIL4NLtBFp5Dt60bViG1q422RoFCVKdNML3xKoUIjAQwYRX5p zvRxBYJHz8YRhpu3TfP73fELBkEQzuEh20+hcaooYsKA00At+eZ6YtjwvNNeN3DyB7O/ inqaD69SKPVPrilAXWeWbp/gmqOo+4cPgCf/t2Ri2NQsM2vEodNpEiuXhLJwkH3OITac Z4VQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ga15si3523753ejc.598.2020.12.17.16.07.10; Thu, 17 Dec 2020 16:07:33 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732182AbgLRAEu (ORCPT + 99 others); Thu, 17 Dec 2020 19:04:50 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:55145 "EHLO relmlie6.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732141AbgLRAEt (ORCPT ); Thu, 17 Dec 2020 19:04:49 -0500 Date: 18 Dec 2020 09:03:58 +0900 X-IronPort-AV: E=Sophos;i="5.78,428,1599490800"; d="scan'208";a="66140802" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie6.idc.renesas.com with ESMTP; 18 Dec 2020 09:03:58 +0900 Received: from mercury.renesas.com (unknown [10.166.252.133]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 21CD7413BC93; Fri, 18 Dec 2020 09:03:58 +0900 (JST) Message-ID: <873604gf45.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto To: Richard Fitzgerald Cc: , , , , , , , , , Subject: Re: [PATCH v3 3/6] ASoC: audio-graph-card: Support setting component plls and sysclks In-Reply-To: <20201217154142.24301-4-rf@opensource.cirrus.com> References: <20201217154142.24301-1-rf@opensource.cirrus.com> <20201217154142.24301-4-rf@opensource.cirrus.com> User-Agent: Wanderlust/2.15.9 Emacs/26.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Richard Thank you for your patch. This is v3 patch, but I think this is the first time for me to receive patch... > Some codecs need plls and/or sysclks to be configured using the > snd_soc_component_set_[sysclk|pll] functions. These drivers cannot > necessarily be converted to use the clock framework. If the codec is on > a I2C/SPI bus, a nested clk_get would be needed to enable the bus clock. > But the clock framework does not support nested operations and this would > deadlock. > > This patch adds new dt properties that list phandles of components with > the pll/sysclk settings to be applied. Multiple settings can be given for > the same phandle to allow for components with multiple clocks and plls. > The plls and sysclks are enabled when the card bias level moves to STANDBY > and disabled when it moves to OFF. > > The implementation does not attempt to handle specifying complex clock > ordering interdependencies between components. The plls and sysclks are > applied to a component as it is passed to the card set_bias_level/ > set_bias_level_post callbacks. It follows from this that the order > components are configured is the order that they are passed to those > callbacks. > > Signed-off-by: Richard Fitzgerald > --- > include/sound/simple_card_utils.h | 25 +++ > sound/soc/generic/audio-graph-card.c | 16 +- > sound/soc/generic/simple-card-utils.c | 236 ++++++++++++++++++++++++++ > 3 files changed, 275 insertions(+), 2 deletions(-) I understand that you need sysclk/pll and .set_bias_level_xxx(). But I guess makes it generic code is difficult (?). Thus, as Sameer doing on Tegra, creating custom audio-graph-card is better idea for you ? # Now I'm creating new audio-graph-card2 which also supports # overwriting/customizing each/all functions. # It is not full compatible with audio-graph-card, but almost same if you # uses normal connection. # I hope I can post it next year Thank you for your help !! Best regards --- Kuninori Morimoto