On 2013/4/12 1:29, Bjorn Helgaas wrote: > On Wed, Apr 10, 2013 at 7:50 PM, Yijing Wang <wangyijing@xxxxxxxxxx> wrote: >>>> Hi Bjorn, >>>> Thanks for review. >>>> >>>>> My goal is that a user should never have to specify a kernel boot >>>>> parameter or edit a modules.conf file, but the user did previously >>>>> have some way to influence whether we use pciehp or acpiphp. I know >>>>> we still have some issues, particularly with acpiphp, so I'm a little >>>>> concerned that by removing the CONFIG_HOTPLUG_PCI_ACPI=m, we might be >>>>> removing a way to work around those issues. >>>>> >>>>> A distro that previously used CONFIG_HOTPLUG_PCI_ACPI=m will now have >>>>> to use =y, so modules.conf is no longer applicable. Can you convince >>>>> me that the user still has a way to work around issues? I spent quite >>>>> a while trying to understand the pciehp/acpiphp dependencies, but it's >>>>> pretty tangled web. >>>> I will try my best to explain the relationships between pciehp and acpiphp >>>> as of v3.9-rc6. >>>> >>>> The pciehp driver always have priority over the acpiphp driver. >>>> That is, the acpiphp driver rejects binding to an ACPI PCI hotplug slot if >>>> a) The slot's parent is a PCIe port with native hotplug capability >>>> b) OSPM has taken over PCIe native hotplug control from BIOS. >>>> !(root->osc_control_set & OSC_PCI_EXPRESS_NATIVE_HP_CONTROL) >>>> The above check has no dependency on the loading order of pciehp and acpiphp >>>> drivers. So converting acpiphp driver to builit-in should be ok. >>>> >>>> On the other hand, I remember Yinghai has mentioned that some PCIe ports >>>> with native hotplug capability doesn't work as expected with the pciehp driver >>>> and should be managed by the acpiphp driver. Currently we could achieve that >>>> by using boot param "pcie_ports=compat", but this will disable PCIe port >>>> drivers altogether. And I also remember that Rafael has mentioned that >>>> some BIOSes exhibit strange dependency among PCIe OSC controls, so it's >>>> not feasible to only disable PCIe native hotplug. >>>> >>>> For "pciehp_force", it does only affect the way pciehp to detect a hotplug >>>> slot, it doesn't affect acpiphp at all. >>>> >>>> To sum up, converting acpiphp as built-in should not affect the relationship >>>> between pciehp and acpiphp driver. >>> >>> My concern is that a user used to be able to remove acpiphp from >>> modules.conf. Now removing acpiphp will require a kernel rebuild. >>> But maybe that won't turn out to be a problem. >> >> Hi Bjorn, >> If user don't want to occupy the slot by acpiphp. Conservative approach, what about add a kernel parameter >> to control acpiphp to enumerate slot ? > > Yes, that's what I'm thinking. A "Please report a bug if you have to > use this parameter" chicken switch. Hopefully nobody will need to use > it, but if somebody *does* need it, it's a lot better than having to > tell him to rebuild the kernel. Yes, I agree. We will add this patch to the patchset and resend soon. Thanks! Yijing. > > Bjorn > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html