From patchwork Tue Nov 27 14:09:40 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin Ian King X-Patchwork-Id: 202235 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E4E6E2C0091 for ; Wed, 28 Nov 2012 01:09:43 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755297Ab2K0OJm (ORCPT ); Tue, 27 Nov 2012 09:09:42 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:52802 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754886Ab2K0OJl (ORCPT ); Tue, 27 Nov 2012 09:09:41 -0500 Received: from cpc3-craw6-2-0-cust180.croy.cable.virginmedia.com ([77.100.248.181] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1TdLr2-00012I-MV; Tue, 27 Nov 2012 14:09:40 +0000 From: Colin King To: Bjorn Helgaas , linux-pci@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: [PATCH RESEND] PCI: Allow pcie_aspm=force to work even when FADT indicates it is unsupported Date: Tue, 27 Nov 2012 14:09:40 +0000 Message-Id: <1354025380-19092-1-git-send-email-colin.king@canonical.com> X-Mailer: git-send-email 1.8.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Colin Ian King BugLink: http://bugs.launchpad.net/bugs/962038 Right now using pcie_aspm=force will not enable ASPM if the FADT indicates ASPM is unsupported. However, the semantics of force should probably allow for this, especially as they did before the ASPM disable rework with commit 3c076351c4027a56d5005a39a0b518a4ba393ce2 This patch just skips the clearing of any ASPM setup that the firmware has carried out on this bus if pcie_aspm=force is being used. Signed-off-by: Colin Ian King --- drivers/pci/pcie/aspm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 213753b..449f257 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -773,6 +773,9 @@ void pcie_clear_aspm(struct pci_bus *bus) { struct pci_dev *child; + if (aspm_force) + return; + /* * Clear any ASPM setup that the firmware has carried out on this bus */