From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932583Ab3FMDvK (ORCPT ); Wed, 12 Jun 2013 23:51:10 -0400 Received: from mail-oa0-f43.google.com ([209.85.219.43]:46215 "EHLO mail-oa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932569Ab3FMDvH (ORCPT ); Wed, 12 Jun 2013 23:51:07 -0400 MIME-Version: 1.0 In-Reply-To: References: <20130329032200.GA11990@google.com> <20130401235256.GA31966@google.com> From: Bjorn Helgaas Date: Wed, 12 Jun 2013 21:50:45 -0600 Message-ID: Subject: Re: [PATCH] PCI: Remove not needed check in disable aspm link To: Yinghai Lu Cc: Jiang Liu , Roman Yepishev , "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 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 Wed, Jun 12, 2013 at 1:41 PM, Yinghai Lu wrote: > On Wed, Jun 12, 2013 at 10:05 AM, Bjorn Helgaas wrote: >>> current code from acpi_pci_root_add we have >>> 1. pci_acpi_scan_root >>> ==> pci devices enumeration and bus scanning. >>> ==> pci_alloc_child_bus >>> ==> pcibios_add_bus >>> ==> acpi_pci_add_bus >>> ==> acpiphp_enumerate_slots >>> ==> ...==> register_slot >>> ==> device_is_managed_by_native_pciehp >>> ==> check osc_set with >>> OSC_PCI_EXPRESS_NATIVE_HP_CONTROL >>> 2. _OSC set request >>> >>> so we always have acpiphp hotplug slot registered at first. >>> >>> so either we need to >>> A. revert reverting about _OSC >>> B. move pcibios_add_bus down to pci_bus_add_devices() >>> as acpiphp and apci pci slot driver are some kind of drivers for pci_bus >>> C. A+B >> >> It doesn't surprise me at all that there are problems in the _OSC code >> and the acpiphp/pciehp interaction. That whole area is a complete >> disaster. It'd really be nice if somebody stepped up and reworked it >> so it makes sense. >> >> But this report is useless to me. I don't have time to work out what >> the problem is and how it affects users and come up with a fix. > > effects: without fix the problem, user can not use pcie native hotplug > if their system's firmware support acpihp and pciehp. > And make it worse, that acpiphp have to be built-in, so they have no > way to blacklist acpiphp in config. > >> >> My advice is to simplify the path first, and worry about fixing the >> bug afterwards. We've already done several iterations of fiddling >> with things, and I think all we're doing is playing "whack-a-mole" and >> pushing the bugs around from one place to another. > > We need to address regression at first. > my suggestion is : revert the reverting and apply my -v3 version that will fix > regression that Roman Yepishev met. > > please check attached two patches, hope it could save your some time. OK, you're right. It's not reasonable to do anything more than a minimal fix when we're at -rc5. Sigh. I'll spend tomorrow trying to understand your patches and write changelogs for you. I think you're saying that in systems that support both acpiphp and pciehp, we should be using pciehp, but we currently use acpiphp. If so, that's certainly a bug. How serious is it? Is it a disaster if we use acpiphp until we can resolve this cleanly? Are there a lot of systems that claim to support acpiphp but it doesn't actually work? Bjorn