Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp114893imm; Thu, 10 May 2018 16:39:54 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoD3AXsJYu0RoOqWSUKdHP3ROHMCrE+Ed1R/HoZta43yWy0zCnfPk+D472k0HUZRWBmI60R X-Received: by 2002:a17:902:b78a:: with SMTP id e10-v6mr3239217pls.260.1525995594860; Thu, 10 May 2018 16:39:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525995594; cv=none; d=google.com; s=arc-20160816; b=ax8I/mkbAw9vFXeJDNhu9vdB+4mH6iwJYfI+RXTrQXa0A4R+l4m7UUxc5a+gvtNxqY hhidGNgTlSTTcGgR6reVJhYa/JVMZwVI/2mOQ5G/8sH/r6jNF/TRi/0dX3ocr4qglT99 MtE2zqKdR2LxA3id/NNCgZuw/vIPEKcqLpr2OL/EGrr+UsI6dmLQi6hwYOQpa1hPUbpo bAxJDdPAYUzR4AqTpqyPyxBSmNawdF9hLFRx6R8gV3Y5g7NkTBjSvyZAVTs4gCh+3y5x 2xo/St7tQRzzZsy0drb5EoII6AgsJ6R1MeHXNiJeUcLCNE8t6015IqMX2F8ImieFOsCa DGEQ== 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:dkim-signature:arc-authentication-results; bh=VxVV3NBylbDynk6cha6yTCjWyMJ4wXsVowQ+OTWh2AM=; b=Fu94KOH6fxoK+Cg+jro4eNACTgSh8xCcENE1Hy+3FBDHajsHgXw4xf9x3DgASgdoam Mi3g7K7PCKf5V60V0xzK5J7EkMVDNT3Gi6I7GOAHFMxBzmed9Qb5QzDIa5tk+g9d72TG ybln6Bsud8//opDg8dS1yKwYdT/x0kKabU1D3u5cUaYMhJUgRVpz6/gsccHhev/lGE3c voWuBFFjO7WoqwY11Gz2bNm5cOTl5422q/sWbriDvrcSt9BwUKA3TbzRFxWs2BMW/pLp Yl1Evc+wJlukCb7urZck8Dk5fS89cUAmHBsrh8QiR2Y1XXU4UP6J9ZzgGTKNjfTACqft RD5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=HrZJsj/B; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 7-v6si2009021pff.154.2018.05.10.16.39.40; Thu, 10 May 2018 16:39:54 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=HrZJsj/B; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751370AbeEJXj2 (ORCPT + 99 others); Thu, 10 May 2018 19:39:28 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:37672 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750710AbeEJXj0 (ORCPT ); Thu, 10 May 2018 19:39:26 -0400 Received: by mail-pl0-f65.google.com with SMTP id f7-v6so2188322plr.4 for ; Thu, 10 May 2018 16:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VxVV3NBylbDynk6cha6yTCjWyMJ4wXsVowQ+OTWh2AM=; b=HrZJsj/BNlPjykw0dWk8UH1xB4THGV5YSOK28ut+qbyU4YwHzhP3LsJPG5sbdEeeyM u9tgn5JwOAOrmUL6Hkhu58T3S2KkgHnqW1qSptXaT+XQf7iCkX/pHXFYcmwlT5IpI6b6 oKml7Mcio6Flfk8GoPRHmpWDSQMBv97akTbEbcyeE0gUuE5zP3TZfahIWaTJLiLPYNCU koG34ytJbr9I1NzKHNcr8a9bj7tVphH142nN7kKE86O1ybEIIrfpOxNvLipoYsVF4IfQ n4NXFOiuPBBdPK6Ifw4R1VGEz+6AjlLMxo30TK6Jym5S09YgvcfZQhYhh6iG4qpPjqq7 dHXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VxVV3NBylbDynk6cha6yTCjWyMJ4wXsVowQ+OTWh2AM=; b=hz0bb5h/aXVptJfINe7PKGZI7CaSj46U1zJn6zKoh7Yb41SAFtqYQZmRUPzt8OKHwP PqzwlazaIPVeDm0xmfg/hkFViGMlvIsqORg/SqHZ64cBsEtn2zwAqhcOfL8CHfuQO7wn UZ4vj52j6BD6R5djRVipr6papVwR9ySkgLM4KpGsl8SVnjW69cDNKBgJhaeOVfIYS6kj eYn1g0DyuwRY4uiGZF1bdF5J/Qw3kvMNZnm/7UJiuT3WNiXmXl4oAq1mRQ3WyngXlXCQ 40StQjmxG7lupBpALVO1VYnKDGU3D0m7Mg6pYdkOYBrLxlryMC0/YLf5BzeS/87GUpaj YUTw== X-Gm-Message-State: ALKqPweedHCbDW8jsoCgRvqYsZG0KCkLrEC+zUTtab4UzqQ9USxt6ANa sskT2EWxhlyiCHItuMxGQ9zBWA== X-Received: by 2002:a17:902:322:: with SMTP id 31-v6mr3178342pld.122.1525995565886; Thu, 10 May 2018 16:39:25 -0700 (PDT) Received: from rajat.mtv.corp.google.com ([2620:0:1000:1501:dc81:9a9e:fdee:decf]) by smtp.gmail.com with ESMTPSA id y29-v6sm4720167pff.42.2018.05.10.16.39.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 May 2018 16:39:25 -0700 (PDT) From: Rajat Jain To: Bjorn Helgaas , Rajat Jain , Keith Busch , Vidya Sagar , Philippe Ombredanne , Kees Cook , "Gustavo A. R. Silva" , Ard Biesheuvel , Sinan Kaya , Frederick Lawler , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, mayurkumar.patel@intel.com Cc: rajatxjain@gmail.com Subject: [PATCH v2] pci/aspm: Remove CONFIG_PCIEASPM_DEBUG Date: Thu, 10 May 2018 16:39:12 -0700 Message-Id: <20180510233912.96454-1-rajatja@google.com> X-Mailer: git-send-email 2.17.0.441.gb46fe60e1d-goog In-Reply-To: <20180508230148.121852-1-rajatja@google.com> References: <20180508230148.121852-1-rajatja@google.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, the linux kernel disables ASPM when a device is removed from the kernel. But it is not enabled again when a new device is added on that slot even if it was originally enabled (by the BIOS) when the system booted up (assuming POLICY_DEFAULT). This was earlier discussed here: https://www.spinics.net/lists/linux-pci/msg60212.html And some suggestions from Bjorn here: https://www.spinics.net/lists/linux-pci/msg60541.html This patch picks up one of the suggestion, to remove the CONFIG_PCIEASPM_DEBUG and thus make the code always avilable. This provides control to userspace to control ASPM on a per slot / device basis using sysfs interface. Signed-off-by: Rajat Jain --- v2: provide function definitions for !CONFIG_PCIEASPM case drivers/pci/pci.h | 8 ++------ drivers/pci/pcie/Kconfig | 8 -------- drivers/pci/pcie/aspm.c | 2 -- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 023f7cf25bff..b953b2349ca1 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -358,17 +358,13 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev); void pcie_aspm_exit_link_state(struct pci_dev *pdev); void pcie_aspm_pm_state_change(struct pci_dev *pdev); void pcie_aspm_powersave_config_link(struct pci_dev *pdev); +void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev); +void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev); #else static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { } static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { } static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { } static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } -#endif - -#ifdef CONFIG_PCIEASPM_DEBUG -void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev); -void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev); -#else static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) { } static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) { } #endif diff --git a/drivers/pci/pcie/Kconfig b/drivers/pci/pcie/Kconfig index b12e28b3d8f9..089b9f559d88 100644 --- a/drivers/pci/pcie/Kconfig +++ b/drivers/pci/pcie/Kconfig @@ -46,14 +46,6 @@ config PCIEASPM When in doubt, say Y. -config PCIEASPM_DEBUG - bool "Debug PCI Express ASPM" - depends on PCIEASPM - default n - help - This enables PCI Express ASPM debug support. It will add per-device - interface to control ASPM. - choice prompt "Default ASPM policy" default PCIEASPM_DEFAULT diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index c687c817b47d..8ffc13d42baa 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -1161,7 +1161,6 @@ static int pcie_aspm_get_policy(char *buffer, const struct kernel_param *kp) module_param_call(policy, pcie_aspm_set_policy, pcie_aspm_get_policy, NULL, 0644); -#ifdef CONFIG_PCIEASPM_DEBUG static ssize_t link_state_show(struct device *dev, struct device_attribute *attr, char *buf) @@ -1264,7 +1263,6 @@ void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) sysfs_remove_file_from_group(&pdev->dev.kobj, &dev_attr_clk_ctl.attr, power_group); } -#endif static int __init pcie_aspm_disable(char *str) { -- 2.17.0.441.gb46fe60e1d-goog