Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp3431366pxm; Mon, 28 Feb 2022 20:29:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJxXHzD2NUqVrpKNm9o6+0wR9z38w73i/J5D615lQ7ONxCeQDTkK+SmOoQuJX1UA5UhXgKYH X-Received: by 2002:a17:907:3c12:b0:6cf:37d0:a551 with SMTP id gh18-20020a1709073c1200b006cf37d0a551mr17537979ejc.38.1646108984266; Mon, 28 Feb 2022 20:29:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646108984; cv=none; d=google.com; s=arc-20160816; b=Zs4Z5n13mWR64ijf7TDa651HGZuwAohAUTgF3grBco18C/bzV10st3ZyEvliAoRbcX IixwjfDU9dvBbPctnT0Ui6E94Zm5MEXfAW2EU51JOnQ9vIirsNecGOZd+pH8u/+k2qFD IL4iZGQBgvmH7uaihxe6mvfjxuc0FMOxuhLVx/aiWuywjQnnQV0wyXV1phzjLPEYxYAA DVcnnG7so8ev7BPiZUIYnytve4K26AKJnBslV73YPxugEIOCfMDu+HgPHCe9BddWPVYM cWiCi1genDemkxAtjDHiiIuAsqBcFmvBK12BODwc70icYubgM7e3tbtVE5LDhCbVFkPE RPYQ== 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=g/NByjIUZrWDuj2TpRW0AxIqDFtbvlQOADTs99jxE1k=; b=Hz6P6s21507KcpdSSIctdnaVDtj1mBXUI+H60IruaYdJ/1WjOAEybcZCaPyycdVn/u QtGlPgB3k7+SVRXXpRm+o/Lg37aSo18GihgTrCNjJt5aOdJUV8lGGrBcB6t1RUZUMNLg sYVTOJvogOkIMKODoxbwoksphUJv7DagiwyW+/kQDNQICxNgAhtVUomoen3C1Tr4/++z GhlzRsKHkGWV7LfilyUx0ZM0sAfckDuSHcfh1Vt5FldoqpGV77U7kg4JjpYbG0LYegkr AgNUfiZ0ioOTzECMlPbNEMN0X22uUNKM1Krt/F3zC7Kyu3AlKnaWrOLi/ChDN0wxSEKu bQfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ORzT0+sR; 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 i20-20020a05640242d400b00403cd9adfcbsi9704472edc.562.2022.02.28.20.28.57; Mon, 28 Feb 2022 20:29:44 -0800 (PST) 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=ORzT0+sR; 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 S232277AbiCAEUd (ORCPT + 99 others); Mon, 28 Feb 2022 23:20:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232260AbiCAEU1 (ORCPT ); Mon, 28 Feb 2022 23:20:27 -0500 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E62DF2C112; Mon, 28 Feb 2022 20:19:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646108387; x=1677644387; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=gz0E7FcXfjbcqwaw9bcufLle5Xp8B6zhwo30z/ZN+Fo=; b=ORzT0+sRaLD2B1oZYgPOt24EljEmjYuG+3gwOsxvS2NrVK73jTANBFoJ Bjse0DlhRzOos0odj94W8QsVGUk4TOynKCj+JcEYHalPiG8CsRKicjhBJ mUAopVN4TZrxLmDBsuo3bwuQB5Zfhp8VF/acM7cQYSU4h++iYR40c0lSo q1FtBpq4OyLS4lgEyAJ7qajzPT+7F3r+3eI/r/3fYqtb0UTGyD0ClQmnb cq96TGEQ2IIgWes+Ex9f6gk+ChMp5zPau5qCP9LFtvkkeDW2Hs0ilquju m34aeCWU4iF9/I7hS9xPqPJSptIx388gdFdjllxY3mMMrlGbu4ZIyv+3y w==; X-IronPort-AV: E=McAfee;i="6200,9189,10272"; a="240463930" X-IronPort-AV: E=Sophos;i="5.90,144,1643702400"; d="scan'208";a="240463930" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2022 20:19:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,144,1643702400"; d="scan'208";a="641123500" Received: from linux.intel.com ([10.54.29.200]) by orsmga004.jf.intel.com with ESMTP; 28 Feb 2022 20:19:43 -0800 Received: from debox1-desk4.lan (unknown [10.251.9.202]) by linux.intel.com (Postfix) with ESMTP id 852B15805A3; Mon, 28 Feb 2022 20:19:43 -0800 (PST) From: "David E. Box" To: nirmal.patel@linux.intel.com, jonathan.derrick@linux.dev, lorenzo.pieralisi@arm.com, hch@infradead.org, kw@linux.com, robh@kernel.org, bhelgaas@google.com, david.e.box@linux.intel.com, michael.a.bottini@linux.intel.com, rafael@kernel.org, me@adhityamohan.in Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH V6 0/3] PCI: vmd: Enable PCIe ASPM and LTR Date: Mon, 28 Feb 2022 20:19:40 -0800 Message-Id: <20220301041943.2935892-1-david.e.box@linux.intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 This series adds support for enabling PCIe ASPM and for setting PCIe LTR values on devices on root ports reserved by VMD. Configuration of these capabilities is usually done by BIOS. But for VMD ports these capabilities will not be configured because those ports are not visible to BIOS. For future products, post Alder Lake, the hardware team has agreed to do this enabling in BIOS. But this will not apply to current products, so this work around is provided for them. Without this, laptops running in VMD mode will not be able to power gate roots ports, resulting in higher power consumption. Since V4 we have more information from the BIOS team as to why BIOS needs to program device LTRs. This is something that should be done by devices, but there are many that don't provide LTR values causing them to block SoC level power management. BIOS sets an initial default LTR to account for such devices. This SoC specific value is the maximum latency required to allow the SoC to enter the deepest power state. David E. Box (2): PCI: vmd: Add vmd_device_data PCI: vmd: Configure PCIe ASPM and LTR Michael Bottini (1): PCI/ASPM: Add ASPM BIOS override function drivers/pci/controller/vmd.c | 134 ++++++++++++++++++++++++++++------- drivers/pci/pcie/aspm.c | 54 ++++++++++++++ include/linux/pci.h | 7 ++ 3 files changed, 169 insertions(+), 26 deletions(-) base-commit: 754e0b0e35608ed5206d6a67a791563c631cec07 -- 2.25.1