Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp2447633rdb; Mon, 20 Nov 2023 11:00:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IEU4H6CWktwS2vzH+4Jb1/Yst7aPOgDk8UWy0KBxHKf0dWdai3VpRmXtuZvzJ+UwGqL8bb+ X-Received: by 2002:a17:903:230d:b0:1cc:3af4:fac3 with SMTP id d13-20020a170903230d00b001cc3af4fac3mr8513080plh.10.1700506846771; Mon, 20 Nov 2023 11:00:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700506846; cv=none; d=google.com; s=arc-20160816; b=E5HVuyvbh40bXmLCgs0b3CMGeukoNcViQ8xFQ+cpJugBj8jEbDe8ZSXlasBs8aUCXc 5vcnl0HIJE0dMYuNQi3KdTMj3pVSemheDFQsyjpc1gjd8BUEsrbyzXCDt7o33Wy5GIcN +VExEFPxFwJE2D/hJhYz50CHd1fQzV2eU1KRW43PY068/b3+yQ79QYKHuN9tW7muRLcM 9xH7R0wWBnFeBP3FY6rISLBLnoMcuD3rfXYqLT4W6BU1JZC5QefUbvTlQNIBX6DMkvds sP1xMz2aLOEU+Q4M9Z3pLslpXnMbgEqCC7aEx35ceAaEKQhq69foJI0pKhZtWH3r6a62 fsew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=OzLSsNZAQyazXf5GAWqIOFBRCaRYPcR0u/EK81V78mQ=; fh=YRuTcczFk5VuWtjkr6RhJllNtPCFtsUO+CKY3+ZQVDc=; b=BD0JkSOZKEXXKUnv+Q3V7neZG5T4tqjVM7JFCzJN+1Zy4faOEJQv+7MmUU/6xK+oJU fBy2sJMlLkfUhVP7GML23EwR0KLQ3s16qzFfJWMVdWHNMxrQ4O38/AT3WbrHLcS+V43g ulmoyPSpoPzM6ATOOtLnQhIkpNosiWAvsDd+BWzYF//qdlmIdWy6G60HYY5XiHxHYRu+ tNJGFZ6o84VrmvH1GeClCzcZCSe4gl5T+SSxKaU4/gtFlLVy43plOxzS5P/JDupdCbI7 aXJqRBPYSpxtxMQZ3aMT31oWu05AqxgH/R5YQL0d/tmz4BTlw3GRHZSk0DpUwp1mw4Dd MRJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=VClgUoqe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id h9-20020a170902748900b001b86ddfd49bsi8226171pll.6.2023.11.20.11.00.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Nov 2023 11:00:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=VClgUoqe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 488C08072A0A; Mon, 20 Nov 2023 11:00:12 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229721AbjKTS77 (ORCPT + 99 others); Mon, 20 Nov 2023 13:59:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbjKTS76 (ORCPT ); Mon, 20 Nov 2023 13:59:58 -0500 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C59DFCF; Mon, 20 Nov 2023 10:59:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700506794; x=1732042794; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Ye5Zm2pgA7I5UpHkkRalvaMuQWs3i6Zl+XGw5GrzJ/k=; b=VClgUoqeM4Q3xxaQkckQ3SrzIycsQGP276SLRaoOzt8oX2wGEzQ6eOil pjxS4GLSL4RlnpemqiJ8eCu4/d/R2bvoivgvut1SSitdEicd8BRCeNQNr Ebnqi1c1lyqqM+C9qxNUSiTOhZt2KfBjP7h7tq7xuO36OLC0xIwys6VKS ht2NFzbfykEQfBD3T2NwcPD1nIaX3UCnuIfzmKAe8FaSTHshxo33B4R9Y xD3Ix3TvZdu6CHZdRFyqQi0FS7mdWUR06EXabsMesp+I7wasUJ8afe1ot 0CEWnJ2DZtmu7eSa093N82mLTWTI0u4sqcBqj3bxk8IURtKUSrYA0Pd3s A==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="10354829" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="10354829" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2023 10:59:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="1013672570" X-IronPort-AV: E=Sophos;i="6.04,214,1695711600"; d="scan'208";a="1013672570" Received: from spandruv-desk.jf.intel.com ([10.54.75.14]) by fmsmga006.fm.intel.com with ESMTP; 20 Nov 2023 10:59:53 -0800 From: Srinivas Pandruvada To: rafael@kernel.org, viresh.kumar@linaro.org Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Pandruvada Subject: [PATCH] cpufreq: intel_pstate: Allow firmware balance performance EPP without code change Date: Mon, 20 Nov 2023 10:59:42 -0800 Message-Id: <20231120185942.2320424-1-srinivas.pandruvada@linux.intel.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 20 Nov 2023 11:00:12 -0800 (PST) Firmware can specify balance performance EPP value by enabling HWP and set EPP to a desired value. The current implementation requires code change for every generation to add an entry to intel_epp_balance_perf table. Some distributions like Chrome, which uses old kernels should be able to update balance performance EPP, without code change. There is a check to avoid updating EPP when the balance performance EPP is not changed and is power up default of 0x80. Move this check after checking if the HWP is enabled by the firmware and there is a valid EPP value set by the firmware. Signed-off-by: Srinivas Pandruvada --- drivers/cpufreq/intel_pstate.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index a534a1f7f1ee..dd6d23e389f1 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -1691,13 +1691,6 @@ static void intel_pstate_update_epp_defaults(struct cpudata *cpudata) { cpudata->epp_default = intel_pstate_get_epp(cpudata, 0); - /* - * If this CPU gen doesn't call for change in balance_perf - * EPP return. - */ - if (epp_values[EPP_INDEX_BALANCE_PERFORMANCE] == HWP_EPP_BALANCE_PERFORMANCE) - return; - /* * If the EPP is set by firmware, which means that firmware enabled HWP * - Is equal or less than 0x80 (default balance_perf EPP) @@ -1710,6 +1703,13 @@ static void intel_pstate_update_epp_defaults(struct cpudata *cpudata) return; } + /* + * If this CPU gen doesn't call for change in balance_perf + * EPP return. + */ + if (epp_values[EPP_INDEX_BALANCE_PERFORMANCE] == HWP_EPP_BALANCE_PERFORMANCE) + return; + /* * Use hard coded value per gen to update the balance_perf * and default EPP. -- 2.34.1