Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp2162086rwl; Thu, 13 Apr 2023 02:29:46 -0700 (PDT) X-Google-Smtp-Source: AKy350ZieyhXrcIPGdhNqLfvRWzg3pArX5m6MlAdzOCoTar9B0+snMg1OFZbX2C1fjRm03Ab/5R9 X-Received: by 2002:a17:903:244e:b0:1a1:aa68:7e61 with SMTP id l14-20020a170903244e00b001a1aa687e61mr2098220pls.33.1681378186370; Thu, 13 Apr 2023 02:29:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681378186; cv=none; d=google.com; s=arc-20160816; b=k5NzFM9fR0UghLwAy1cwe4onwKYlxYRHfCDyBiD+wk/mGWsDuQpZ/v7yi9P63bepYj +WiTU0Yo57EEA5IpJ2xMRA/7AEmC8iGh1PepfmWL2Kj2ssFtMObP59JN703ygnZ5RLcM S3mVdZl+9YGC25p55jnBszuyKouHhxhjEiENBHeDZMUtsMhbpotjEMvh9QQpwHO+T21H GF3W6GDXfq5yBvYpmqdW0S5TgIxJMycY22MdKj9guPWbA1er35dsZ1PBE98Fgnn0ZYhP weIOnboBe2DnTYwLule0N+4/pQgICmeVbz8rUmjBR2ofXsIhqUSWRvfVzXBd2GIfyHsZ d1UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:message-id:in-reply-to :subject:cc:to:from:date:dkim-signature; bh=Atb3pvo6GU90KiN8SMUIWnE7XBOaNOl6aGx2O/SZdpA=; b=v25L+MgPTOJfukxN/WUlsaG/qUnNDeGS+yM4QFll5Ow5NNWwhG2a120Kzu39xs5gEp JSyewLQTH9Q4h0gxSsJzYy5gMuaT1Ey2NSUUWBySWv3ZT+IHxfSzjx1S4pV9ktLxkOnk MxV/bfXKssW7zD1reBlFjl5yobmw9PdJGeaULrdXfu593kWqOBCt1vgyBl+gsCNuj99a 8nXr9QNWsuXfeqnELdOxMgPZt7ajr08rmO+0Zqe4UcFbEKkJLeTjSHCCwiIqVOzcIoe3 111PdZu8dnzBX4nhW5xu8rzLwTdrFd75t06z5E6BIxWFY/HX3jSSBxoRzmIXljSo6NNL xSEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GGLHM96V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 143-20020a630395000000b0051418f75569si1784580pgd.425.2023.04.13.02.29.35; Thu, 13 Apr 2023 02:29:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GGLHM96V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230233AbjDMJYC (ORCPT + 99 others); Thu, 13 Apr 2023 05:24:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229773AbjDMJYA (ORCPT ); Thu, 13 Apr 2023 05:24:00 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45A50901B; Thu, 13 Apr 2023 02:23:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681377835; x=1712913835; h=date:from:to:cc:subject:in-reply-to:message-id: references:mime-version; bh=SPDp3hg45JekinIXS1tAfq4DH77ftTaYczfJGUAIIzw=; b=GGLHM96VIl2MVWrCT7Z1sLJugF4xCSe/0VbQLkjQijYnWejcPvhxfTqO AKo7eVTjTp6wD2l3Qn0Y6NmclUIjya6nirUiEKsOxAEiQ6saUqoM3x/13 lqx1YpNd4c0fMZrVovT7EO1+oPN2xP6Uzz/aFQeDIaEZhwWUlN2eyaKLj XcxPflRCh0QLck3zizJbH0ZdmmhJ0XeTySSQP+vI1l4w6psgkhucZ+7e8 83E8WDcpF2g0TLPcLZs3TYD+ShO/duoMEDLL/H401W3ITgd+nyBUiVHgH U9PtpnQXjRwDjGiz4iFm/1ffvsC4WAZ4yxIEWmJAtsCk8bnNVJLnhnWDC A==; X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="344130961" X-IronPort-AV: E=Sophos;i="5.98,341,1673942400"; d="scan'208";a="344130961" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2023 02:23:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10678"; a="682887647" X-IronPort-AV: E=Sophos;i="5.98,341,1673942400"; d="scan'208";a="682887647" Received: from pkudryav-mobl1.ger.corp.intel.com ([10.252.45.220]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2023 02:23:51 -0700 Date: Thu, 13 Apr 2023 12:23:48 +0300 (EEST) From: =?ISO-8859-15?Q?Ilpo_J=E4rvinen?= To: Mario Limonciello cc: Box David E , jstultz@google.com, pavel@ucw.cz, svenva@chromium.org, Rajneesh Bhardwaj , Shyam-sundar.S-k@amd.com, rrangel@chromium.org, Jain Rajat , hdegoede@redhat.com, Mark Gross , platform-driver-x86@vger.kernel.org, LKML Subject: Re: [PATCH v8 4/4] platform/x86/intel/pmc: core: Report duration of time in HW sleep state In-Reply-To: <20230412194917.7164-5-mario.limonciello@amd.com> Message-ID: <5d904d5a-d25e-7d6d-57e4-ca451bcead57@linux.intel.com> References: <20230412194917.7164-1-mario.limonciello@amd.com> <20230412194917.7164-5-mario.limonciello@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,URIBL_BLOCKED autolearn=ham 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 On Wed, 12 Apr 2023, Mario Limonciello wrote: > intel_pmc_core displays a warning when the module parameter > `warn_on_s0ix_failures` is set and a suspend didn't get to a HW sleep > state. > > Report this to the standard kernel reporting infrastructure so that > userspace software can query after the suspend cycle is done. > > Signed-off-by: Mario Limonciello > --- > v7->v8: > * Report max sleep as well > --- > drivers/platform/x86/intel/pmc/core.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/platform/x86/intel/pmc/core.c b/drivers/platform/x86/intel/pmc/core.c > index 925c5d676a43..f9677104353d 100644 > --- a/drivers/platform/x86/intel/pmc/core.c > +++ b/drivers/platform/x86/intel/pmc/core.c > @@ -1153,6 +1153,7 @@ static int pmc_core_probe(struct platform_device *pdev) > pmc_core_do_dmi_quirks(pmcdev); > > pmc_core_dbgfs_register(pmcdev); > + pm_report_max_hw_sleep(((1UL << 32) - 1) * pmc_core_adjust_slp_s0_step(pmcdev, 1)); Technically this is FIELD_MAX(SLP_S0_RES_COUNTER_MASK) * pmc_core_adjust...? Where the define is: #define SLP_S0_RES_COUNTER_MASK GENMASK(31, 0) > > device_initialized = true; > dev_info(&pdev->dev, " initialized\n"); > @@ -1214,6 +1215,8 @@ static inline bool pmc_core_is_s0ix_failed(struct pmc_dev *pmcdev) > if (pmc_core_dev_state_get(pmcdev, &s0ix_counter)) > return false; > > + pm_report_hw_sleep_time((u32)(s0ix_counter - pmcdev->s0ix_counter)); > + > if (s0ix_counter == pmcdev->s0ix_counter) > return true; > > -- i.