Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp287825iob; Wed, 18 May 2022 02:10:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwMZns+xoQnn75YL073Pu96WFUnew9GKqXS7k9FOOA5pDYKc+zgokBGYmQDRehNqBvC3y// X-Received: by 2002:a17:902:ba8c:b0:161:5ad4:1800 with SMTP id k12-20020a170902ba8c00b001615ad41800mr18556920pls.9.1652865017117; Wed, 18 May 2022 02:10:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652865017; cv=none; d=google.com; s=arc-20160816; b=PS8sGDsM0nFwQwQUcm4sDFTCWyqKBf4pIibfiGo//HLvLR08MqmlhrQeIHtzeXh6xl QuH60Kj8w8HD6WrW9aDEd8wh9H0yc0F+7+h+L2gpN3DRGZNOC7R9hsH4J1aw6MTTAerw ta5ljCyrQTcruH6JtGsG5ERBjyohJa96T7+P9bxsV13VEjWT1Tw2sOAidjUmc7x8Yx/D ZDlKH4okrXLG5DuKlxlRbrIe8LmCQe7qWAcWTHqA9uW+yay4FvLBOgcIHy6v1edHYqkm 2pXX7MdFOi68qtYCMPSh9cz1+BkvOqthCmUmb/wIOrJEwguPP/I00CThYKMHuPoncuEd tM2g== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=16PwzP1Hc142CzVx5CwZw5vv/jvPbeOv1y1BLkgst7Y=; b=YLm9owkDtNZ6m2aKvEPfrbHiPBQKaYpxX4Hv6041vtoxOS0Qpe6EvnbGcE9gYn+WgS y4AT7KHa/VytpkvuK30HLph0NmdABe5CYyfycMK9bMwSHNRqCNA92TPZx840MC18Xe+T dhyZZi4havjHgKIwE0WShh5sf9Rg5n6ZJmhXJ3fky9sgtc3p6C66BMr8bMalcuvqZMZr 7hfgathNeiTrLu8pRpWiwQrmJ2Rnr3jrzygNKmgWSyiWfk0mA0K36bPq0O53/4BUxYr9 TfIBNs96SJHl0e2MTfKuCXX9jWXkyXfOTe/+BdpR6Aluj3L3mxYr/sDt7gdTG0jPHa9Q nYlw== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id a20-20020a056a001d1400b0050df2e4ba29si2277464pfx.139.2022.05.18.02.10.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 May 2022 02:10:17 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A3B2313FD77; Wed, 18 May 2022 02:09:47 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233831AbiERJJ2 (ORCPT + 99 others); Wed, 18 May 2022 05:09:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35284 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233816AbiERJJY (ORCPT ); Wed, 18 May 2022 05:09:24 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 150CA13F91A; Wed, 18 May 2022 02:09:23 -0700 (PDT) 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 D69351063; Wed, 18 May 2022 02:09:22 -0700 (PDT) Received: from pierre123.arm.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 477973F66F; Wed, 18 May 2022 02:09:20 -0700 (PDT) From: Pierre Gondois To: linux-kernel@vger.kernel.org Cc: Ionela.Voinescu@arm.com, dietmar.eggemann@arm.com, sudeep.holla@arm.com, Pierre Gondois , "Rafael J. Wysocki" , Len Brown , Viresh Kumar , Robert Moore , linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org, devel@acpica.org Subject: [PATCH v2 2/5] ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported Date: Wed, 18 May 2022 11:08:58 +0200 Message-Id: <20220518090901.2724518-2-pierre.gondois@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220518090901.2724518-1-pierre.gondois@arm.com> References: <20220518090901.2724518-1-pierre.gondois@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The _OSC method allows the OS and firmware to communicate about supported features/capabitlities. It also allows the OS to take control of some features. In ACPI 6.4, s6.2.11.2 Platform-Wide OSPM Capabilities, the CPPC (resp. v2) bit should be set by the OS if it 'supports controlling processor performance via the interfaces described in the _CPC object'. The OS supports CPPC and parses the _CPC object only if CONFIG_ACPI_CPPC_LIB is set. Replace the x86 specific boot_cpu_has(X86_FEATURE_HWP) dynamic check with an arch generic CONFIG_ACPI_CPPC_LIB build-time check. Note: CONFIG_X86_INTEL_PSTATE selects CONFIG_ACPI_CPPC_LIB. Signed-off-by: Pierre Gondois Reviewed-by: Sudeep Holla --- drivers/acpi/bus.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 9eca43d1d941..1fc24f4fbcb4 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -329,10 +329,11 @@ static void acpi_bus_osc_negotiate_platform_control(void) #endif #ifdef CONFIG_X86 capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT; - if (boot_cpu_has(X86_FEATURE_HWP)) { - capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_SUPPORT; - capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPCV2_SUPPORT; - } +#endif + +#ifdef CONFIG_ACPI_CPPC_LIB + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_SUPPORT; + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPCV2_SUPPORT; #endif capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_FLEXIBLE_ADR_SPACE; @@ -357,10 +358,9 @@ static void acpi_bus_osc_negotiate_platform_control(void) return; } -#ifdef CONFIG_X86 - if (boot_cpu_has(X86_FEATURE_HWP)) - osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] & - (OSC_SB_CPC_SUPPORT | OSC_SB_CPCV2_SUPPORT)); +#ifdef CONFIG_ACPI_CPPC_LIB + osc_sb_cppc_not_supported = !(capbuf_ret[OSC_SUPPORT_DWORD] & + (OSC_SB_CPC_SUPPORT | OSC_SB_CPCV2_SUPPORT)); #endif /* -- 2.25.1