Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4208389rdb; Mon, 11 Dec 2023 11:59:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IEn90CRxWNiBVehAJ36tkwSLHBjFNDJS4sbe4+L3H5JWXXCkiLduKuTcwpUaX0nt4re2xzB X-Received: by 2002:a05:6a00:1ac7:b0:6cb:bb92:1ce6 with SMTP id f7-20020a056a001ac700b006cbbb921ce6mr5274242pfv.18.1702324798511; Mon, 11 Dec 2023 11:59:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702324798; cv=none; d=google.com; s=arc-20160816; b=Gfy4VfoO554q2VC5LRDNVQ4GEBT+eEs12dnQc89hO51I53sjOoPr1gATB6aL0oXfYb yPaPCoqBXbaN1GMBtP4SfhoEs369KTrvmgBWdM23bP1XKmpVlHEdblsZtw8s/OMkWNlY QJzM3g7u+Rkp04950AtFsMiStcYN/WdDvZoetdXUTxYVx83bUsJG1cmJxZfj+04ixh6m rJyFnKZ11NuOQyXByt3e6mLsLtep9qkAGw26nyWQAvDyA/0p/t30tuwOTDWsmn4nOQFW L2NqRmlCsLgCVvET/zv5gKVcvWUtc18iloIYnOFxePr+aIzG6vHZnR2Z0kvzR+mPmPxc Is8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version; bh=aIqRsExV39jVavEwvRHsKKcDO+m2Zm3fCorRHZuN4ug=; fh=Z2cYAdG2A/rtKdFfDbpRQ5JvkP6gW70nY/BL4W17XYI=; b=dRHvBKuofEj1y+2G+45wLyuA6xSZMyfNHtLkrlyAPhLnXwUcEVR+/wGgSEBNys2VOZ pccA8D++C+dYihtTchVl9IFXzUcBhQDrOxQBs+Zj2ebYGC9LbULfVEd1VRztrzL4hd+h zIewhc/hevHTTXkrdzrCdNi7LdKV8jqNpWgx6rsPUyS0RYN4RSOesjRuIKxWJOgge+Yh 8bVz6AALs8ewHFOzgeeWw6CW7CZ3rwpB/ZXZVUYFiALnGD+covJlgbfHsoBH/VWQ8Hj+ Oht5+PBxB9hNdcH4WXGGw0fBY7wiisKSJh1PptLan2mv0NPN7LQqaopU9nxrLJuEWZ3X m56w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id v4-20020a655684000000b005c66d14abd3si6367756pgs.672.2023.12.11.11.59.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 11:59:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 2598A80C35F3; Mon, 11 Dec 2023 11:59:56 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229661AbjLKT7j convert rfc822-to-8bit (ORCPT + 99 others); Mon, 11 Dec 2023 14:59:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229539AbjLKT7i (ORCPT ); Mon, 11 Dec 2023 14:59:38 -0500 Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A017C4; Mon, 11 Dec 2023 11:59:45 -0800 (PST) Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-6d9d6f8485eso699993a34.0; Mon, 11 Dec 2023 11:59:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702324784; x=1702929584; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yc04vqyrnhop0pBe3eCtDLiJ9h8DibF83HgUEMbY2Wc=; b=iW7Su+O7rASe/HwPnYPvXv5DRztGZgaF0MwNyPSDmmmbmdnJRAMKKB46zh2z1XOw4y HmhR/T6Yslr4QlR0MrF+/lgKQpDPJLF4gB0WXFljFxc0mMAYxrM5FLASARZTcgvxw/ov R2oQW95of2QAVjlNxVgHjMtIG0UV5MtFFykiWlCxatGUvb+YWMNXXJux52OyWQEUg/oC fmB56GZCFx+/TaV4xfOn4nPQSEeKk1yE5lNXhIkBsQ1sNyWjx8qGrick9Ye4/q8oI984 OWKLWKEFJH9L52RdbGkqwBmveXkNtRNYvhYoAQhJrPJS5BYkeG7HSoO9gJEsiwjXaYMw kVvg== X-Gm-Message-State: AOJu0YxDTSf1xvMo08G0KEaP+2N/y5kqt1AAhi8DZ/HY0DyiXn6tlgz8 NFjzjNzxMo3CZEcgymvGoMu1q6j1Q8wNpd9CfPE= X-Received: by 2002:a05:6870:f6aa:b0:1fa:f404:b958 with SMTP id el42-20020a056870f6aa00b001faf404b958mr9641994oab.3.1702324784232; Mon, 11 Dec 2023 11:59:44 -0800 (PST) MIME-Version: 1.0 References: <20231201180928.1103797-1-rui.zhang@intel.com> In-Reply-To: <20231201180928.1103797-1-rui.zhang@intel.com> From: "Rafael J. Wysocki" Date: Mon, 11 Dec 2023 20:59:33 +0100 Message-ID: Subject: Re: [PATCH] intel_idle: Add Meteorlake support To: Zhang Rui Cc: rafael.j.wysocki@intel.com, lenb@kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.0 required=5.0 tests=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 morse.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 (morse.vger.email [0.0.0.0]); Mon, 11 Dec 2023 11:59:56 -0800 (PST) On Fri, Dec 1, 2023 at 7:10 PM Zhang Rui wrote: > > Add intel_idle support for MeteorLake. > > C1 and C1E states on Meteorlake are mutually exclusive like Alderlake > and Raptorlake, but they have little latency difference with measureable > power difference. Thus always enable "C1E promotion" bit and expose C1E > only. > > Expose C6 because it has less power compared with C1E, and smaller > latency compared with C8/C10. > > Ignore C8 and expose C10 because C8 does not show latency advantage > compared with C10. > > Signed-off-by: Zhang Rui > --- > drivers/idle/intel_idle.c | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > index dcda0afecfc5..cfd0b24fd7f1 100644 > --- a/drivers/idle/intel_idle.c > +++ b/drivers/idle/intel_idle.c > @@ -923,6 +923,35 @@ static struct cpuidle_state adl_l_cstates[] __initdata = { > .enter = NULL } > }; > > +static struct cpuidle_state mtl_l_cstates[] __initdata = { > + { > + .name = "C1E", > + .desc = "MWAIT 0x01", > + .flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_ALWAYS_ENABLE, > + .exit_latency = 1, > + .target_residency = 1, > + .enter = &intel_idle, > + .enter_s2idle = intel_idle_s2idle, }, > + { > + .name = "C6", > + .desc = "MWAIT 0x20", > + .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, > + .exit_latency = 140, > + .target_residency = 420, > + .enter = &intel_idle, > + .enter_s2idle = intel_idle_s2idle, }, > + { > + .name = "C10", > + .desc = "MWAIT 0x60", > + .flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED, > + .exit_latency = 310, > + .target_residency = 930, > + .enter = &intel_idle, > + .enter_s2idle = intel_idle_s2idle, }, > + { > + .enter = NULL } > +}; > + > static struct cpuidle_state gmt_cstates[] __initdata = { > { > .name = "C1", > @@ -1349,6 +1378,10 @@ static const struct idle_cpu idle_cpu_adl_l __initconst = { > .state_table = adl_l_cstates, > }; > > +static const struct idle_cpu idle_cpu_mtl_l __initconst = { > + .state_table = mtl_l_cstates, > +}; > + > static const struct idle_cpu idle_cpu_gmt __initconst = { > .state_table = gmt_cstates, > }; > @@ -1423,6 +1456,7 @@ static const struct x86_cpu_id intel_idle_ids[] __initconst = { > X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, &idle_cpu_icx), > X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE, &idle_cpu_adl), > X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, &idle_cpu_adl_l), > + X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE_L, &idle_cpu_mtl_l), > X86_MATCH_INTEL_FAM6_MODEL(ATOM_GRACEMONT, &idle_cpu_gmt), > X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, &idle_cpu_spr), > X86_MATCH_INTEL_FAM6_MODEL(EMERALDRAPIDS_X, &idle_cpu_spr), > -- Applied as 6.8 material, thanks!