Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp4133590pxa; Mon, 10 Aug 2020 01:20:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyvo+P2MRJS50n0kBcAAsFhub0MCWBvRzKRC+o48QQ5vtkfxlqSByVv7ft99+APeWoLGi05 X-Received: by 2002:a17:906:5f8f:: with SMTP id a15mr15115106eju.291.1597047601790; Mon, 10 Aug 2020 01:20:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597047601; cv=none; d=google.com; s=arc-20160816; b=jx6ATX59ZF15s+j4mIqpYi/VCxZ7qZxeI5AtCH7wzJjDgY5bxdkyO77GKl2kifSAjN VUmzQUcthFml7W7QpkPOlsMNT3/i25s8hMbU8W202pJ91DqcMYD5QNECHrOCtjkUHw4a WMYETe/l1w9/StYf+iBkgETG+NJygX7A3sVQc0Rtx7ocJ0iDnajsoHBjEKqllCxNyk7S 4ijw6Op7q0x9dcRIyusP5YK+lGRhkF0bLEUcy6K9PZHI9CAqqdCk1s9EuMlKlcHAv7hG jBAD6iHW/K8hQXkSTO/oRTpiB5XmgD/utc5500R2CTBOpa6v3BxPNlJudyWnvbcm012o CUyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from; bh=UAO75uOcDmo0owQZAgpJ0+lCR7N6D+T+LRFe2w+1jSg=; b=AUSg2CQeWaVGU8iGFbOw1tl5G7/yaOEZs9gmJfocAJiqxrGmPRmPE/ncbFi6SevfHV FVS6FoBwJ7mhRhNjozz4Ujh//eZmtlfUBRhEkh16qaQwA/7L7fZrH2bUY0a15AF/hFZN dYTWcOF3JjMT1LUYOAJr1U818DPjYPravjo+mZTgthvFxxCC0yrUqe+eYWHWfr7dOV6t /4YX39ayyge4MXQlSDY2EEab+i8TEiqnehXLqdVaK5R/XWsKt5djI7X/PKMOPj3yDkzu dtJcGk4ziTKf9BGctDV2aHE7P6/lifhTxPz8An8dOwKrGGy9XzDHUb/uRXwTaNhC+gBE r9Bw== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn20si2817370ejc.104.2020.08.10.01.19.38; Mon, 10 Aug 2020 01:20:01 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726398AbgHJIQm (ORCPT + 99 others); Mon, 10 Aug 2020 04:16:42 -0400 Received: from inva021.nxp.com ([92.121.34.21]:43230 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726108AbgHJIQl (ORCPT ); Mon, 10 Aug 2020 04:16:41 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id CAFC3201779; Mon, 10 Aug 2020 10:16:39 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 4E6912011A9; Mon, 10 Aug 2020 10:16:35 +0200 (CEST) Received: from 10.192.242.69 (shlinux2.ap.freescale.net [10.192.224.44]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 7A8A0402D2; Mon, 10 Aug 2020 10:16:29 +0200 (CEST) From: Shengjiu Wang To: timur@kernel.org, nicoleotsuka@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] ASoC: fsl-asoc-card: Get "extal" clock rate by clk_get_rate Date: Mon, 10 Aug 2020 16:11:43 +0800 Message-Id: <1597047103-6863-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On some platform(.e.g. i.MX8QM MEK), the "extal" clock is different with the mclk of codec, then the clock rate is also different. So it is better to get clock rate of "extal" rate by clk_get_rate, don't reuse the clock rate of mclk. Signed-off-by: Shengjiu Wang --- changes in v2 - add defer probe handler sound/soc/fsl/fsl-asoc-card.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c index 52adedc03245..32f8f756e6bb 100644 --- a/sound/soc/fsl/fsl-asoc-card.c +++ b/sound/soc/fsl/fsl-asoc-card.c @@ -696,6 +696,17 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) goto asrc_fail; } } else if (of_node_name_eq(cpu_np, "esai")) { + struct clk *esai_clk = clk_get(&cpu_pdev->dev, "extal"); + + if (!IS_ERR(esai_clk)) { + priv->cpu_priv.sysclk_freq[TX] = clk_get_rate(esai_clk); + priv->cpu_priv.sysclk_freq[RX] = clk_get_rate(esai_clk); + clk_put(esai_clk); + } else if (PTR_ERR(esai_clk) == -EPROBE_DEFER) { + ret = -EPROBE_DEFER; + goto asrc_fail; + } + priv->cpu_priv.sysclk_id[1] = ESAI_HCKT_EXTAL; priv->cpu_priv.sysclk_id[0] = ESAI_HCKR_EXTAL; } else if (of_node_name_eq(cpu_np, "sai")) { -- 2.27.0