Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1630771ybh; Mon, 20 Jul 2020 03:22:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxu8IZQF625tax/FJV/61VHmx3HzT2PruVoLmpguD4tE4S/WAup2o+Qfcp48SwC7tbkmZup X-Received: by 2002:a17:906:c24e:: with SMTP id bl14mr19753522ejb.285.1595240531545; Mon, 20 Jul 2020 03:22:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595240531; cv=none; d=google.com; s=arc-20160816; b=Y/SvHwxPPBTrhIukHD/WT5/plXDj3bqXpHaJEa2uTdSBFNOfug2e4d0iZ+W/6XmPqR 4eue3k2faO7hhNiVDKJQvP7OAwG9LOZPFmmjDZAm7sPiSNKfKnl0KfSN4tfcvQ7TAL6g LZV2KL8EaOoK1WAi8d7n5TAAyjiLfzVG6wTQcMQ0fPkBVJTDY6GrtJXsyj3PEXkvYvDn vr88cPcD+uXOKQjPji4i7T6I3xmcC0EYKD9eDGbaq1BQd5bhV0r6a+wktfVQDCvkSFIf YQb01dyh919MDPpqk9SRFUP+DBqF7GWxY9fWxHrjKZjmsZK3ntWYSkNbLeUPRZiEzqq8 y0BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=MhkKfJe2vN50KwqiqlKQ9gFxPDyQEC8YdZGqi/NZNXo=; b=fspt7Ew0LM0bKX49sRYgjZo6XK+bWqYHxLKHD0+hb4QeyogUYnkAcg90sTgLKeQc3M mahakc9ElWkx7oVWLCC0VZP8EgmUBSRfiJxk9wOVwQk43+u0DPLQvEM6YbtJRlCPWeu6 cK6ca1a4cw3gQtu9/Gt1T6F811n4/nj/E6pta/lhErnIGPY4vRNAanL9q0I8Tc8//7Oc 9cBqT9UPaBYZAz+2lDP8QaMmhHRZGcFHwF3TgYSFoGVJ7z1RG5BrL/kR2kp0WvUp6wx0 Po4jTgfMHMmFqGBNoLPT7ZhyCzUKQrq2H/EGH2Hie+FZzQnu/73V7nJWcW47b75RWt4l cupg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=SFWm6Psq; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c4si10222837edq.372.2020.07.20.03.21.48; Mon, 20 Jul 2020 03:22:11 -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=@gmail.com header.s=20161025 header.b=SFWm6Psq; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728381AbgGTKU4 (ORCPT + 99 others); Mon, 20 Jul 2020 06:20:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728376AbgGTKU4 (ORCPT ); Mon, 20 Jul 2020 06:20:56 -0400 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28BDAC061794 for ; Mon, 20 Jul 2020 03:20:56 -0700 (PDT) Received: by mail-qt1-x842.google.com with SMTP id g13so12486135qtv.8 for ; Mon, 20 Jul 2020 03:20:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=MhkKfJe2vN50KwqiqlKQ9gFxPDyQEC8YdZGqi/NZNXo=; b=SFWm6PsqSFR5b1rJnuTYoVeqYWbN2x/nOSAIGXrqH9MsPly4B8p26uO0N/N5d36lYh xMyxG8prCiRCfPsUbu9TnohIxoo+twqSvyI0zw88XksQNZBCTLZ4HsZJ8pIoDkn9qGyh KXd+ht0o2RbNnZrVn1xM0XOVk0mPqtaxmNnkuQkQz6xDaZbsYhqjL3hFLxO4zWyvedTH QTHv+CsdnRCC7FNpU4Sbs0gIz8Aa8mzOLcRjmK9iacF2oHr/dNM0auwBW1Jy49RzwhW1 YqoSZGVIQnOaqVryp4jVT8fRFNUxlw7Avw904PWdl5MEbzr4+fxwsqSOjXsa7UzsxqwM RJWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=MhkKfJe2vN50KwqiqlKQ9gFxPDyQEC8YdZGqi/NZNXo=; b=aYnKzr2Zuo0OsnV/YTgDXKlRCzhPJbjRWBmHVYuOwSC46d2fkn2wc9T7un98ZkPM8p qm6uqZ9yZoD7XP1c/06wrPLu+MK1judXpGhY+AzEOy1llWS+6JCjAHg6+1FaMAjt+ZpX QAN61Gv0qdQbNARSoE/B/MKbH3Cpd9Q3QnHk2R/q8U1Vp8Qt24RnhFeEdlB9b+RYOqav aW1fWWyDoLOxDGV483r6DJa7PVafOKX6E6+ywEL938E0yJB37+aZbt7yIlPucMC0JyFH ayfDPrnq5cF6QBlzfbFw/QUdZnSaEAgg3wJLulxo7A0P5Nq7hK+bGC5YcKJgQG1QBtD4 w+Rw== X-Gm-Message-State: AOAM531/fhJPI8Yf5iijqOw0nF5oLaNDMuJbdSTmDFzyMT+QVYCasS5X 4m3NNmtqPIwA7bzfuxlRl5ev56Qqdja71LPmXzo= X-Received: by 2002:ac8:4316:: with SMTP id z22mr22618788qtm.121.1595240455411; Mon, 20 Jul 2020 03:20:55 -0700 (PDT) MIME-Version: 1.0 References: <20200716145201.186270-1-arnaud.ferraris@collabora.com> <20200716151352.193451-1-arnaud.ferraris@collabora.com> <20200716151352.193451-3-arnaud.ferraris@collabora.com> <20200716233742.GA27376@Asurada-Nvidia> In-Reply-To: From: Shengjiu Wang Date: Mon, 20 Jul 2020 18:20:44 +0800 Message-ID: Subject: Re: [PATCH v2 2/2] ASoC: fsl_asrc: always use internal ratio To: Arnaud Ferraris Cc: Nicolin Chen , Linux-ALSA , Timur Tabi , Xiubo Li , Fabio Estevam , Liam Girdwood , linux-kernel , Mark Brown , kernel@collabora.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 17, 2020 at 5:58 PM Arnaud Ferraris wrote: > > > > Le 17/07/2020 =C3=A0 01:37, Nicolin Chen a =C3=A9crit : > >> @@ -507,8 +507,7 @@ static int fsl_asrc_config_pair(struct fsl_asrc_pa= ir *pair, bool use_ideal_rate) > >> > >> /* Enable Ideal Ratio mode */ > > > > The code is against the comments now -- need to update this line. > > It isn't, the following code still enables "Ideal Ratio" mode (see below) > > >> regmap_update_bits(asrc->regmap, REG_ASRCTR, > >> - ASRCTR_IDRi_MASK(index) | ASRCTR_USRi_MASK(ind= ex), > >> - ASRCTR_IDR(index) | ASRCTR_USR(index)); > >> + ASRCTR_IDRi_MASK(index), ASRCTR_IDR(index); > > > > The driver falls back to ideal ratio mode if there is no matched > > clock source. Your change seems to apply internal ratio mode any > > way? Probably would break the fallback routine. > > Strictly speaking, internal ratio is only enabled when we have matched > clock sources, and is used in addition to the calculated dividers > (allows the ASRC to better adjust to drifting/inaccurate physical > clocks). "Ideal Ratio" mode is different, and still enabled as a > fallback when no clock source is matched. > > Ideal ratio requires both USRi and IDRi bits to be set, and that would > still be the case if there is no matched clock source. > > The only difference my patch introduces is that USRi is always set (was > previously cleared for "normal" mode), and therefore only IDRi needs to > be set in order to enable ideal ratio mode. > In my experience, the USRi =3D 0, no matter the value of IDRi, it is internal ratio mode. USRi=3D1, IDRi=3D0, it is also internal ratio mode. So original code should be ok for internal ratio mode, no need to add this change. could you please double check it? best regards wang shengjiu