From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753177Ab3FNXAb (ORCPT ); Fri, 14 Jun 2013 19:00:31 -0400 Received: from mail-ie0-f182.google.com ([209.85.223.182]:35934 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751294Ab3FNXA3 (ORCPT ); Fri, 14 Jun 2013 19:00:29 -0400 MIME-Version: 1.0 In-Reply-To: <1371250092.2490.7.camel@x230> References: <20130401235256.GA31966@google.com> <20130614141101.GA29452@google.com> <1371248853.2490.5.camel@x230> <1371250092.2490.7.camel@x230> Date: Fri, 14 Jun 2013 16:00:28 -0700 X-Google-Sender-Auth: 4c5fE9QpNuFN_WdpJ_M2gdeAqaY Message-ID: Subject: Re: [PATCH] PCI: Remove not needed check in disable aspm link From: Yinghai Lu To: Matthew Garrett Cc: Bjorn Helgaas , Roman Yepishev , Jiang Liu , "Rafael J. Wysocki" , "linux-pci@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Linus Torvalds , Andrew Morton , Greg Kroah-Hartman , Maxim Levitsky , Jussi Kivilinna Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 14, 2013 at 3:48 PM, Matthew Garrett wrote: > On Fri, 2013-06-14 at 15:40 -0700, Yinghai Lu wrote: >> On Fri, Jun 14, 2013 at 3:27 PM, Matthew Garrett >> wrote: >> > On Fri, 2013-06-14 at 15:17 -0700, Yinghai Lu wrote: >> > >> >> after those two patches, it aspm_disabled is set, via _osc early, >> >> pre-1.1 devices aspm register will be touched even aspm_force is not specified. >> > >> > I don't follow. We were previously automatically disabling ASPM on >> > pre-1.1 devices even if _OSC didn't give us control. >> >> I don't think so, we just moved _OSC support/control setting before pci scan >> in 3.8 and revert that in v3.9. > > Right, sorry, I don't mean _OSC, I mean the FADT flag. We were > previously automatically disabling ASPM on pre-1.1 devices even if the > FADT flag was set. so in that case aspm_disabled, never get set. booting path: pcie_aspm_init_link_state will not touch aspm on pre-1.1 devices. late, FADT checking will cause pcie_clear_aspm() get called, it will call __pci_disable_link_state, and because following line in pcie_aspm_link() /* Nothing to do if the link is already in the requested state */ state &= (link->aspm_capable & ~link->aspm_disable); if (link->aspm_enabled == state) return; aspm in pre-1.1 devices still does not get touched. Maybe I miss something. Thanks Yinghai