Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp36121ybp; Thu, 10 Oct 2019 13:33:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqxhBXIur4Xvkcg5fA31P4n1IwSTzgFgImh+ebE8YYeBweHAk3qA+hrfeHiUnd/hIW/wfGha X-Received: by 2002:a17:906:52d0:: with SMTP id w16mr10133797ejn.206.1570739589798; Thu, 10 Oct 2019 13:33:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570739589; cv=none; d=google.com; s=arc-20160816; b=ojmblzqwUuSz4XhKjte2wOyU9YsmFuXlZKMSX/j9jbT1P6ddeu404xWRYOAA19ttl+ rzEUM7fdStiRaao8rifFyelSPGvHEIgN+3+PHIxZ3joO8kmzw5OPE/TLtWvz0CYsY5m5 qn6lpyMC6szz1SZjrL4a3AadfZzZLDQ6jKxvjvU649v3WYnhEOJUj5IgDxWD/WchoPss 6CWyo2IaM7NDy6gftnT43WlEw5/hdFJ8nbXy4vGkFPv9xcxF3wUnRJ8oxNoulou3XfP3 4Dmabn6I9sdgFZ9dfy2uWe/Qc5J2jpTwX19ooRcDKPlJBXmkKnPO7pwmDXl7FRw63Vo1 Y22A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=kh6KIHpFZxsoVKXsQQT4SITdFdG2wzIsxQEaDy/L8d8=; b=iFpwBG2/AKfXymEX89SXOCJ3GncSwBb1RVi/tz4nj8PgWSMUbzrbZ+0xkvEk+zoDOF /T6DqHqPDtF6CFfZSCpE02NDN4obm3dLvxthAFl27m4fe3iSWm0tbWrMPGNhERjx9fxe C0BrQcRTeTsTuSd4YTHOzqsl4keFW3cFcWua/KVk8cq309ZmW7zJxAVdoAvch8u+W3SU Xz11KwsDVh0/R6o//ReLvaMcDjF6zFF8d+mJH1mpbrH2J6zrP/xOfdtvxGX3dTecYiIE BBT2bh0m+DzpkO+OCEWlodZZVdUfeWMjD/UdkMn0mjDQh/6HEDw5Spy8cNanYqtl7b/l z5cA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id oh20si3840311ejb.323.2019.10.10.13.32.46; Thu, 10 Oct 2019 13:33:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727209AbfJJUaP (ORCPT + 99 others); Thu, 10 Oct 2019 16:30:15 -0400 Received: from mga17.intel.com ([192.55.52.151]:30899 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726944AbfJJU36 (ORCPT ); Thu, 10 Oct 2019 16:29:58 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Oct 2019 13:29:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,281,1566889200"; d="scan'208";a="277902026" Received: from spandruv-desk.jf.intel.com ([10.54.75.31]) by orsmga001.jf.intel.com with ESMTP; 10 Oct 2019 13:29:51 -0700 From: Srinivas Pandruvada To: andriy.shevchenko@intel.com Cc: prarit@redhat.com, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Pandruvada Subject: [RESEND][PATCH 04/10] tools/power/x86/intel-speed-select: Refuse to disable core-power when getting used Date: Thu, 10 Oct 2019 13:29:39 -0700 Message-Id: <20191010202945.73616-5-srinivas.pandruvada@linux.intel.com> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20191010202945.73616-1-srinivas.pandruvada@linux.intel.com> References: <20191010202945.73616-1-srinivas.pandruvada@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The turbo-freq feature is dependent on the core-power feature. If the core-power feature is disabled while the turbo-freq feature is enabled, this will break the turbo-freq feature. This is a firmware limitation, where they can't return error under this scenario. So when trying to disable core-power, make sure that the turbo-freq feature is not enabled. If it enabled, return error if user is trying to disable the core-power feature. Signed-off-by: Srinivas Pandruvada --- .../power/x86/intel-speed-select/isst-core.c | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tools/power/x86/intel-speed-select/isst-core.c b/tools/power/x86/intel-speed-select/isst-core.c index 6dee5332c9d3..67d32f2b9bea 100644 --- a/tools/power/x86/intel-speed-select/isst-core.c +++ b/tools/power/x86/intel-speed-select/isst-core.c @@ -649,6 +649,27 @@ int isst_pm_qos_config(int cpu, int enable_clos, int priority_type) unsigned int req, resp; int ret; + if (!enable_clos) { + struct isst_pkg_ctdp pkg_dev; + struct isst_pkg_ctdp_level_info ctdp_level; + + ret = isst_get_ctdp_levels(cpu, &pkg_dev); + if (ret) { + debug_printf("isst_get_ctdp_levels\n"); + return ret; + } + + ret = isst_get_ctdp_control(cpu, pkg_dev.current_level, + &ctdp_level); + if (ret) + return ret; + + if (ctdp_level.fact_enabled) { + debug_printf("Turbo-freq feature must be disabled first\n"); + return -EINVAL; + } + } + ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0, &resp); if (ret) -- 2.17.2