Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp292000lqh; Thu, 28 Mar 2024 02:05:12 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUmy5uq1UZjQdRi5r7JPW1Re5AMNzIOQdJnIKMzp4CgdzLekSdvZ3PSgSOKPc78kfdARpVaEt1uo+oev/Gang4SOdeKj0FjaoTOU9RsXw== X-Google-Smtp-Source: AGHT+IHA46xtFrCAbknWT6Lug3/+NZHuShrgh5lQKINYrz9jURQDIUWPnv75LCEn4Xfv7mKjA5o0 X-Received: by 2002:a05:6a20:7f9b:b0:1a3:c603:61c2 with SMTP id d27-20020a056a207f9b00b001a3c60361c2mr2996861pzj.12.1711616711911; Thu, 28 Mar 2024 02:05:11 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711616711; cv=pass; d=google.com; s=arc-20160816; b=yn4jdGd0kfbyPrR51uSnCoqphTIYIxzMpfHQZY4KT7UdZVepZUs9mEmg42UtBgull0 m/bBq4+Q3qIN00SrODpS6mEMbNDBvttayIgYNk35xrqwM0u/DFsMXoDXeKd+lLjUT+Pw pJUlAk0xXeSaMrUmjJej9n972XINo/343exzZLbIyaJHAEjsxcY8gtnV3nThcUAALIL4 YqCDX6C20+YzV6CSUchh8QXC2KPoSpR0mrOwEYNdHnLSoliKO35ziGRL6GwtsiWOYC2Q Y5/9eixS2O8sjJKFaLb+bnfuOHsXO6pxdFHFRhyFKFNSTbpRvJe/8F5EbUQUlXttVj++ oN5A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=SdjGldcPZPxMS0zls/bPrvPwPFn193dBT3yOh3km2+Q=; fh=FmC2hJpJhN2HT2Kov+KiTeKhNOezP0K1ntHb8ZYpOKY=; b=k4ZxO0bGoyeQLbh5s7/vJlRgoh0WvTnCqmGSmT97z+ovY7ygN5znRfwLVM6bsppsAj 4YaNiPtz2tfKmD/YkLVaEJ45OwpwOKRP1rWXnu7JI+v+NPRXfs2BpoDTpl38CzF+W1cH qHLIG+SsvQmnxXgRqRRvwQZVC1nl4hnu0AfmUPwrCBowEq3ad+dR53y2zOAm+vZZPr8C rvh2g9EU/3tYwF2+tCexRcWwE2wXErYXwN8RKrLS/BZN55OLuaNGCHi/EGRMjCeWBEBv 8R91+LQjJYiNNd1A5iZfcnzJDVN+WqHu9lEq43TPqPB2yJTYh+E7Rvf6SwVTKxcm1wb2 vfPg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-122611-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-122611-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id jw23-20020a056a00929700b006eadf8e8b12si124959pfb.359.2024.03.28.02.05.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 02:05:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-122611-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-122611-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-122611-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 3B7CEB230F1 for ; Thu, 28 Mar 2024 08:52:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 81E147BAF4; Thu, 28 Mar 2024 08:51:33 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 911C66A00E; Thu, 28 Mar 2024 08:51:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711615893; cv=none; b=dmhfkN8sRmEgTZjHSK7LVTaelN8fMO4NUAPV0fhT9/hu9ogOeH0kQ7JZpyEFFJXRTM5XNMzGQxjxWZavFVwgACM7kTyakDicdQ40I3fuea/crZtaj9uPSn8vbezXVu3p2MtmA/UEEpuGjUoB4gjdg1ZPKk3QEntbiVY9OM8zE/k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711615893; c=relaxed/simple; bh=qnN9weQ8zePSFzOoB2/Nqdch/QqBxOvQUT/3iZ1s9A4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NBOxs95oMcMfFFZE5HDcSeNVORY9RbIwEp79BFcn7mCHt1lRhWTV6ECCuOlUoScJ1hOAxSWJ4YS7KrJn0AVEo3fvMTds72DsFvsH5P/IR4trV7wpIS+qDsvnG6NBEcCvRNTkYmmUw26iSy16DbSFdY1DusSqHLx/34gEYokDXgo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E4F0C339; Thu, 28 Mar 2024 01:52:04 -0700 (PDT) Received: from e129166.arm.com (unknown [10.57.73.83]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 838293F7BD; Thu, 28 Mar 2024 01:51:28 -0700 (PDT) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, rafael@kernel.org Cc: lukasz.luba@arm.com, dietmar.eggemann@arm.com, linux-arm-kernel@lists.infradead.org, sboyd@kernel.org, nm@ti.com, linux-samsung-soc@vger.kernel.org, daniel.lezcano@linaro.org, viresh.kumar@linaro.org, krzysztof.kozlowski@linaro.org, alim.akhtar@samsung.com, m.szyprowski@samsung.com, mhiramat@kernel.org Subject: [PATCH v3 4/4] soc: samsung: exynos-asv: Update Energy Model after adjusting voltage Date: Thu, 28 Mar 2024 08:51:12 +0000 Message-Id: <20240328085112.3873050-5-lukasz.luba@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240328085112.3873050-1-lukasz.luba@arm.com> References: <20240328085112.3873050-1-lukasz.luba@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When the voltage for OPPs is adjusted there is a need to also update Energy Model framework. The EM data contains power values which depend on voltage values. The EM structure is used for thermal (IPA governor) and in scheduler task placement (EAS) so it should reflect the real HW model as best as possible to operate properly. Based on data on Exynos5422 ASV tables the maximum power difference might be ~29%. An Odroid-XU4 (with a random sample SoC in this chip lottery) showed power difference for some OPPs ~20%. Therefore, it's worth to update the EM. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Lukasz Luba --- drivers/soc/samsung/exynos-asv.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/soc/samsung/exynos-asv.c b/drivers/soc/samsung/exynos-asv.c index d60af8acc3916..d6d003e3a81ab 100644 --- a/drivers/soc/samsung/exynos-asv.c +++ b/drivers/soc/samsung/exynos-asv.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -97,9 +98,17 @@ static int exynos_asv_update_opps(struct exynos_asv *asv) last_opp_table = opp_table; ret = exynos_asv_update_cpu_opps(asv, cpu); - if (ret < 0) + if (!ret) { + /* + * When the voltage for OPPs could be changed, + * make sure to update the EM power values, to + * reflect the reality and not use stale data. + */ + em_dev_update_chip_binning(cpu); + } else { dev_err(asv->dev, "Couldn't udate OPPs for cpu%d\n", cpuid); + } } dev_pm_opp_put_opp_table(opp_table); -- 2.25.1