Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp1315678pxt; Sat, 7 Aug 2021 07:07:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw5DIRocElLoGCZLO0ewvF7PCaTo1rLrpzi+wMlEl6wXIK7+EUaIgJ5pslJMukbQwqBPtuu X-Received: by 2002:a17:906:eb4b:: with SMTP id mc11mr14978638ejb.474.1628345273237; Sat, 07 Aug 2021 07:07:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628345273; cv=none; d=google.com; s=arc-20160816; b=aqP4B5/FEZAXjkSfARyE+g/Kv8w1E4GcKj2mF0xS/KiDuIvhT+BF1Kx0O6MolAZLqh 8KUxcnR114Ytgmn2btEbzb6ZNbp2o5WaiVV0W0KOYwqW3AwjnKqter2XgNChhvEhww+W Auf081x+YpbtgPnSzzMmyzAnUY4Ct6N70ncmYam3FB7wv12z65zDWuLI0tCJu91K4UmH lG3nxwciqQeSiNx5GzS49dTVumGgM5TE5igiNtO3drkgEaob0BzMQPI4C9ulHPvL9ShM oiaPk2p12eUb7GB7kYkn0l0U1vgHLFPtfE4ofwxiONQ+gORMWoWwWaUhg6Bj22Jt0Imj rcLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=rT+ixTW82nHAk2mO2efre57yHKU0tR7TQIkd/DSriZ8=; b=0wY3oMiSJI4ZQo9g5jyRL1O24PJ9WV9oZHbcnOnC/n2mh+++xz3CU2XfmyL4xD7ph1 BK2q5GO0xLecrItA5v+JM1eF0WGsLQsgO7aAsrtZ7lqQIyDysXsLWrsQxvCNPd7y8nGx TvZUnSUXyp0vLL4Bj2429NgLFAJyVTljoqCqFAWk6Gj/SVwNREb9f8JWc7Y9GTiHIln2 MWkO8GmzSSTHaexcaOV6Y30VxTHi8DMeqD0IvxkiKL8ylOZ5xljfUwdBEp0/CM9QFIkQ y+Sc8uMt+7+SlgmMD429IFWv8XH7iPWIYI5j/I96Z4RI52K4KC9xAv2rwVjAHudlx41l A92Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rere.qmqm.pl header.s=1 header.b=OANZhYoX; 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=REJECT sp=REJECT dis=NONE) header.from=rere.qmqm.pl Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j23si13319493eje.551.2021.08.07.07.07.28; Sat, 07 Aug 2021 07:07:53 -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=@rere.qmqm.pl header.s=1 header.b=OANZhYoX; 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=REJECT sp=REJECT dis=NONE) header.from=rere.qmqm.pl Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232365AbhHGOGD (ORCPT + 99 others); Sat, 7 Aug 2021 10:06:03 -0400 Received: from rere.qmqm.pl ([91.227.64.183]:18975 "EHLO rere.qmqm.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232408AbhHGOFj (ORCPT ); Sat, 7 Aug 2021 10:05:39 -0400 Received: from remote.user (localhost [127.0.0.1]) by rere.qmqm.pl (Postfix) with ESMTPSA id 4Ghkd15NhXzv0; Sat, 7 Aug 2021 16:05:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=rere.qmqm.pl; s=1; t=1628345111; bh=yjEq3HV2DfPBHVHG9IY7O5ScXbWFrd1ZqcOnaYQKWV0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OANZhYoXnB0pxZk0VWPlKQyIOVxzdHKgKP+u1Of1W71Wsb6O7r+LkIGqm/KGZFXDQ TnnYn38eLB3xzp8FiUAlbszgaoLwVuynjrjoebtUIoZ8gxzBn4In5uPLmQhlNlZTXD 6yh+5fH8FdyQZVPLd51yePtL9ceCegcLmI0a9uTdxOnszzwfsZop+KesUdJZKboi1c k3VdDoeBDXsPvvqGJCPftJjhkJ/WhwQPbE7C8mLCqNC77sbBM1fRrBWuxj1VsHc8xj adEqcrmjAwTQCT13H1a4HCB5utjAtdGCD5MT6i33Us0HzP2l9o6Dy3Anb27wswzIoy bIk4PGdOQtc4g== X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.2 at mail Date: Sat, 7 Aug 2021 16:05:06 +0200 From: =?iso-8859-2?Q?Micha=B3_Miros=B3aw?= To: Adrian Hunter Cc: Kevin Liu , Michal Simek , Suneel Garapati , Ulf Hansson , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Al Cooper Subject: Re: [PATCH v4 2/5] mmc: sdhci: always obey programmable clock config in preset value Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 04, 2021 at 01:52:21PM +0300, Adrian Hunter wrote: > On 25/07/21 12:20 pm, Micha? Miros?aw wrote: > > When host controller uses programmable clock presets but doesn't > > advertise programmable clock support, we can only guess what frequency > > it generates. Let's at least return correct SDHCI_PROG_CLOCK_MODE bit > > value in this case. > If the preset value doesn't make sense, why use it at all? If I understand the spec correctly, when the preset value is used the values in Clock Control register are ignored by the module and so the module can also actually use a different clock source than the ones available to the driver directly. So either way the driver can't be sure of the exact frequencu used. This is a cleanup to remove a case when the code ignores a bit's value based on other unspecified assumptions. [...] > > --- a/drivers/mmc/host/sdhci.c > > +++ b/drivers/mmc/host/sdhci.c > > @@ -1859,11 +1859,14 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock, > > > > pre_val = sdhci_get_preset_value(host); > > div = FIELD_GET(SDHCI_PRESET_SDCLK_FREQ_MASK, pre_val); > > - if (host->clk_mul && > > - (pre_val & SDHCI_PRESET_CLKGEN_SEL)) { > > + if (pre_val & SDHCI_PRESET_CLKGEN_SEL) { > > clk = SDHCI_PROG_CLOCK_MODE; > > real_div = div + 1; > > clk_mul = host->clk_mul; > > + if (!clk_mul) { > > + /* The clock frequency is unknown. Assume undivided base. */ > > + clk_mul = 1; > > + } > > } else { > > real_div = max_t(int, 1, div << 1); > > }