[PATCH] PCI: Add pcie_irq=other to enable non MSI/INTx interrupt for port service driver

Kumar Gala galak at kernel.crashing.org
Wed Jul 11 01:49:42 EST 2012


On Jul 10, 2012, at 10:31 AM, Scott Wood wrote:

> On 07/10/2012 01:13 AM, Liu Shengzhou-B36685 wrote:
>> 
>> 
>>> -----Original Message-----
>>> From: Wood Scott-B07421
>>> Sent: Tuesday, July 10, 2012 12:39 AM
>>> To: Liu Shengzhou-B36685
>>> Cc: bhelgaas at google.com; linux-pci at vger.kernel.org; linuxppc-
>>> dev at lists.ozlabs.org
>>> Subject: Re: [PATCH] PCI: Add pcie_irq=other to enable non MSI/INTx interrupt
>>> for port service driver
>>> 
>>> On 07/09/2012 05:49 AM, Shengzhou Liu wrote:
>>>> On some platforms, in RC mode, root port has neither MSI/MSI-X nor
>>>> INTx interrupt generated, which are available only in EP mode on those
>>> platform.
>>>> In this case, we try to use other interrupt if supported (i.e. there
>>>> is the shared error interrupt on platform P1010, P3041, P4080, etc) to
>>>> have AER, Hot-plug, etc, services to work.
>>>> 
>>>> Signed-off-by: Shengzhou Liu <Shengzhou.Liu at freescale.com>
>>>> ---
>>>> Documentation/kernel-parameters.txt |    4 ++++
>>>> drivers/pci/pcie/portdrv_core.c     |   19 +++++++++++++++++++
>>>> 2 files changed, 23 insertions(+), 0 deletions(-)
>>>> 
>>>> diff --git a/Documentation/kernel-parameters.txt
>>>> b/Documentation/kernel-parameters.txt
>>>> index a92c5eb..af97c81 100644
>>>> --- a/Documentation/kernel-parameters.txt
>>>> +++ b/Documentation/kernel-parameters.txt
>>>> @@ -2218,6 +2218,10 @@ bytes respectively. Such letter suffixes can also be
>>> entirely omitted.
>>>> 		nomsi	Do not use MSI for native PCIe PME signaling (this makes
>>>> 			all PCIe root ports use INTx for all services).
>>>> 
>>>> +	pcie_irq=	[PCIE] Native PCIe root port interrupt options:
>>>> +		other	Try to use other interrupt when root port has
>>>> +			neither MSI/MSI-X nor INTx support.
>>> 
>>> Why does the user need to specify this?  Shouldn't this be a matter of
>>> communication between kernel internals?
>>> 
>> 
>> The "other interrupt" appears a non-standard interrupt way compared to MSI/MSI-X and INTx in point of PCIe spec.
> 
> It still shouldn't be the user's responsibility to pass this in.

I agree with Scott, this should be done in board code or as a PCI fixup, not as a command line arg.

>> The intent of specifying this is to have an intervention and
>> confirmation manually to avoid causing unexpected issue on some
>> unknown platforms.
>> 
>> I'm glad to remove the specified kernel parameter if it would be accepted upstream.
> 
> Hopefully someone will comment if there is harm in doing this
> unconditionally.  If there is, then we should handle this via a quirk or
> similar mechanism.
> 
> -Scott

If we need to do it via quirk, wondering if we can use the pci_dev_flags and set the flag in a quirk.

- k


More information about the Linuxppc-dev mailing list