Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2594211ybt; Mon, 22 Jun 2020 02:18:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZ+lubQ9Uae5U9uzFlZ1XBratEhzXXFdFbxkpGPWCJvZ1sPhd1z8maIPvDxJ9mGmxY8aUT X-Received: by 2002:a05:6402:31bb:: with SMTP id dj27mr16322308edb.156.1592817497010; Mon, 22 Jun 2020 02:18:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592817497; cv=none; d=google.com; s=arc-20160816; b=NQ3kWXkJo2lOje+fH9xsaZLitq3KLar9i3U45KHH49U+sVeBtYapzQ2ZhiPhMjZqk2 YAec6OhCiyiVLOtvpk3JiMs5eCzfSiUzu+CuLVN0mEIfziW9ddH5EY1dUwvY7RqOZSmU 27wNtn1XDs8iK47+MqLlo9oM48Ybrt8BBANTOW9brCEJdSvLkozVWCO4Wd7usPKYEXA0 iznfEtdZL8sf1hOBEYoozC8ip95M7Gg7fEdqhJ8RxeW2yYVFWr3DHI8yRjbGY/S2b+A1 GxjeJ4DF34gTq3rHH8ql87g/iNYZx6YYOM1WjR6Mn+ebM/+kifwZVxED27lNc5D+p43i umgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=NDecMwAQTCegGOg+vSBrgZxDNrHozXoTSFs1bBiYrhQ=; b=ktfuv3lolJfu9wzldRmGN8C8CHAHxtxUWgCCHwPHjWkkpChS2Mqx3TGFsY+xOJ0Bfw bLdrI90p2Ct8Axmdm1mwZycdMLxLzUKrbH4xv/L0FolQXZ/b6U97Cq1438h/pXVDuHHr 7MPI1FEzLDoZ53G/A0llUK04X7eyRKhXMtZRhZxTRvszcVnF1T2lzYjXyz+KWR/B2lfe RKdAANJk6TLQJS8DW98MfCdc1kTdxzaXpoUTnU/AxrmIZMxWTAUY0nD4yL8dGSU9AMiu 2AcKh+aW/W8B3GT8LuvtJuJBQjEU5iIxj8fojgBjexEpEXAXY6qsffZXhZ0Renr63HhD Zwlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=lN91PIUm; 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=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g8si9816113edn.160.2020.06.22.02.17.54; Mon, 22 Jun 2020 02:18:16 -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=@linaro.org header.s=google header.b=lN91PIUm; 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=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726751AbgFVJQJ (ORCPT + 99 others); Mon, 22 Jun 2020 05:16:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726070AbgFVJQJ (ORCPT ); Mon, 22 Jun 2020 05:16:09 -0400 Received: from mail-vk1-xa42.google.com (mail-vk1-xa42.google.com [IPv6:2607:f8b0:4864:20::a42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2FC9CC061795 for ; Mon, 22 Jun 2020 02:16:09 -0700 (PDT) Received: by mail-vk1-xa42.google.com with SMTP id h190so1145745vkh.6 for ; Mon, 22 Jun 2020 02:16:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NDecMwAQTCegGOg+vSBrgZxDNrHozXoTSFs1bBiYrhQ=; b=lN91PIUmbPojW0Q6OFXuhuvKqEvyu68NX4Wp7iVVvAnK7IbEXq2624awvXoLWjd7kj bwnimKaV65S3YO9zHn/ClNN30JziW9PbfGIUxVAj/cGZNsR2wTOyelWrH5stOq1SUATh 8jCvXERB8Jqm+yjZqEbt5+YF78f9oJjY9GlnkfmxCc8rqzwQ8if69gcl8qPvOFccL+hR GL4Y1+iIPnEJ50yIxmUASnFzSe7Fyk5ciAMNEX5YpsdgdALTiKvyDsUQfCPv832nrnHW HhkITyW0ZfbohqF9Fpvf+rpYuHULlPCidRtuXWF5rkNQMXLdMjvhhC6Bw44vnbUggJPo aS9A== 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; bh=NDecMwAQTCegGOg+vSBrgZxDNrHozXoTSFs1bBiYrhQ=; b=hN2qMez9wlOGovUsZYGNF8eoaxQ1Fpwob8aVdQAVwF9Y66ARoPLN0UmxD8HSc7cHl0 JilTaqf1IF+i9FiZZlspkyAmClhoG6KC5A8xAcazRyEzjGKZjTE/i0xlHog/lgp8u3Fh 8kMlk7LpCE7SSHUd33tfy+Hn6p2wxa2DnXt6ZZ7ImlwSKJsxSsBMSskL1O33zwI02wjo z1HsULPm7DpChQXOoDEuD6iqg4CZY5f5tsgyHfj8acMr/44JFuUkEDbwv+nPzZ2UAx3N xwkoUQrH0gdXV8Ei7m8x7GD8vOG2tv+/K25PBlsHfw2SWXLexsv2pyYb7wPYPci+Vrzx NrLg== X-Gm-Message-State: AOAM530QFFhnGA16R0pa115qOKBsHVGhEItGAdLsz/WicsTUKZXizC7e 5+0C2USg/5y0QHgS1KeBm45gR9f45Z7U1K8Mh6I3Mw== X-Received: by 2002:ac5:c189:: with SMTP id z9mr5248794vkb.79.1592817368315; Mon, 22 Jun 2020 02:16:08 -0700 (PDT) MIME-Version: 1.0 References: <20200619015126.15002-1-finley.xiao@rock-chips.com> In-Reply-To: <20200619015126.15002-1-finley.xiao@rock-chips.com> From: Amit Kucheria Date: Mon, 22 Jun 2020 14:45:57 +0530 Message-ID: Subject: Re: [PATCH] thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power To: Finley Xiao Cc: xf@rock-chips.com, Heiko Stuebner , Amit Daniel Kachhap , Daniel Lezcano , Viresh Kumar , Javi Merino , Zhang Rui , linux-rockchip@lists.infradead.org, LKML , Linux PM list , huangtao@rock-chips.com, tony.xie@rock-chips.com, cl@rock-chips.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 19, 2020 at 7:21 AM Finley Xiao wrote: > > The function cpu_power_to_freq is used to find a frequency and set the > cooling device to consume at most the power to be converted. For example, > if the power to be converted is 80mW, and the em table is as follow. > struct em_cap_state table[] = { > /* KHz mW */ > { 1008000, 36, 0 }, > { 1200000, 49, 0 }, > { 1296000, 59, 0 }, > { 1416000, 72, 0 }, > { 1512000, 86, 0 }, > }; > The target frequency should be 1416000KHz, not 1512000KHz. > > Fixes: 349d39dc5739 ("thermal: cpu_cooling: merge frequency and power tables") > Signed-off-by: Finley Xiao Reviewed-by: Amit Kucheria > --- > drivers/thermal/cpufreq_cooling.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c > index 9e124020519f..6c0e1b053126 100644 > --- a/drivers/thermal/cpufreq_cooling.c > +++ b/drivers/thermal/cpufreq_cooling.c > @@ -123,12 +123,12 @@ static u32 cpu_power_to_freq(struct cpufreq_cooling_device *cpufreq_cdev, > { > int i; > > - for (i = cpufreq_cdev->max_level - 1; i >= 0; i--) { > - if (power > cpufreq_cdev->em->table[i].power) > + for (i = cpufreq_cdev->max_level; i >= 0; i--) { > + if (power >= cpufreq_cdev->em->table[i].power) > break; > } > > - return cpufreq_cdev->em->table[i + 1].frequency; > + return cpufreq_cdev->em->table[i].frequency; > } > > /** > -- > 2.11.0 > > >