mbox series

[v4,0/2] Add support to register platform service IRQ

Message ID 20220114075834.1938409-1-sr@denx.de
Headers show
Series Add support to register platform service IRQ | expand

Message

Stefan Roese Jan. 14, 2022, 7:58 a.m. UTC
Some platforms have dedicated IRQ lines for platform-specific System Errors
like AER/PME etc. The root complex on these platform will use these seperate
IRQ lines to report AER/PME etc., interrupts and will not generate
MSI/MSI-X/INTx interrupts for these services.

These patches will add new method for these kind of platforms to register the
platform IRQ number with respective PCIe services.

Changes in v4 (Stefan):
- Remove 2nd check for PCI_EXP_TYPE_ROOT_PORT
- Change init_platform_service_irqs() from void to return int

Changes in v3 (Stefan):
- Restructure patches from 4 patches in v2 to now 2 patches in v3
- Rename of functions names
- init_platform_service_irqs() now uses "struct pci_dev *" instead of
  "struct pci_host_bridge *"
- pcie_init_platform_service_irqs() is called before pcie_init_service_irqs()
- Use more PCIe spec terminology as suggested by Bjorn (hopefully enough, I
  don't have the spec at hand)

Bharat Kumar Gogada (2):
  PCI/portdrv: Add option to setup IRQs for platform-specific Service
    Errors
  PCI: xilinx-nwl: Add method to init_platform_service_irqs hook

 drivers/pci/controller/pcie-xilinx-nwl.c | 18 +++++++++++
 drivers/pci/pcie/portdrv_core.c          | 39 +++++++++++++++++++++++-
 include/linux/pci.h                      |  2 ++
 3 files changed, 58 insertions(+), 1 deletion(-)

Comments

Stefan Roese March 24, 2022, 4:52 p.m. UTC | #1
On 1/14/22 08:58, Stefan Roese wrote:
> Some platforms have dedicated IRQ lines for platform-specific System Errors
> like AER/PME etc. The root complex on these platform will use these seperate
> IRQ lines to report AER/PME etc., interrupts and will not generate
> MSI/MSI-X/INTx interrupts for these services.
> 
> These patches will add new method for these kind of platforms to register the
> platform IRQ number with respective PCIe services.
> 
> Changes in v4 (Stefan):
> - Remove 2nd check for PCI_EXP_TYPE_ROOT_PORT
> - Change init_platform_service_irqs() from void to return int
> 
> Changes in v3 (Stefan):
> - Restructure patches from 4 patches in v2 to now 2 patches in v3
> - Rename of functions names
> - init_platform_service_irqs() now uses "struct pci_dev *" instead of
>    "struct pci_host_bridge *"
> - pcie_init_platform_service_irqs() is called before pcie_init_service_irqs()
> - Use more PCIe spec terminology as suggested by Bjorn (hopefully enough, I
>    don't have the spec at hand)

Bjorn, what's the status of this patchset? I was under the impression,
that it would make it into v5.18. Please let me know if something is
missing.

Thanks,
Stefan

> Bharat Kumar Gogada (2):
>    PCI/portdrv: Add option to setup IRQs for platform-specific Service
>      Errors
>    PCI: xilinx-nwl: Add method to init_platform_service_irqs hook
> 
>   drivers/pci/controller/pcie-xilinx-nwl.c | 18 +++++++++++
>   drivers/pci/pcie/portdrv_core.c          | 39 +++++++++++++++++++++++-
>   include/linux/pci.h                      |  2 ++
>   3 files changed, 58 insertions(+), 1 deletion(-)
> 

Viele Grüße,
Stefan Roese
Bjorn Helgaas March 31, 2022, 3:30 p.m. UTC | #2
On Thu, Mar 24, 2022 at 05:52:54PM +0100, Stefan Roese wrote:
> On 1/14/22 08:58, Stefan Roese wrote:
> > Some platforms have dedicated IRQ lines for platform-specific System Errors
> > like AER/PME etc. The root complex on these platform will use these seperate
> > IRQ lines to report AER/PME etc., interrupts and will not generate
> > MSI/MSI-X/INTx interrupts for these services.
> > 
> > These patches will add new method for these kind of platforms to register the
> > platform IRQ number with respective PCIe services.
> > 
> > Changes in v4 (Stefan):
> > - Remove 2nd check for PCI_EXP_TYPE_ROOT_PORT
> > - Change init_platform_service_irqs() from void to return int
> > 
> > Changes in v3 (Stefan):
> > - Restructure patches from 4 patches in v2 to now 2 patches in v3
> > - Rename of functions names
> > - init_platform_service_irqs() now uses "struct pci_dev *" instead of
> >    "struct pci_host_bridge *"
> > - pcie_init_platform_service_irqs() is called before pcie_init_service_irqs()
> > - Use more PCIe spec terminology as suggested by Bjorn (hopefully enough, I
> >    don't have the spec at hand)
> 
> Bjorn, what's the status of this patchset? I was under the impression,
> that it would make it into v5.18. Please let me know if something is
> missing.

Sorry, I didn't get to it in time for v5.18, but it's on my list for
v5.19.

I thought maybe it got assigned to Lorenzo because it touches
drivers/pci/controller/, but I can't find it in patchwork
(https://patchwork.kernel.org/project/linux-pci/list/) at all.  

Would you mind posting it again to make sure patchwork picks it up?
If it's not in patchwork, it's very likely to get missed.

Bjorn

> > Bharat Kumar Gogada (2):
> >    PCI/portdrv: Add option to setup IRQs for platform-specific Service
> >      Errors
> >    PCI: xilinx-nwl: Add method to init_platform_service_irqs hook
> > 
> >   drivers/pci/controller/pcie-xilinx-nwl.c | 18 +++++++++++
> >   drivers/pci/pcie/portdrv_core.c          | 39 +++++++++++++++++++++++-
> >   include/linux/pci.h                      |  2 ++
> >   3 files changed, 58 insertions(+), 1 deletion(-)
> > 
> 
> Viele Grüße,
> Stefan Roese
> 
> -- 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
Stefan Roese April 1, 2022, 6:28 a.m. UTC | #3
On 3/31/22 17:30, Bjorn Helgaas wrote:
> On Thu, Mar 24, 2022 at 05:52:54PM +0100, Stefan Roese wrote:
>> On 1/14/22 08:58, Stefan Roese wrote:
>>> Some platforms have dedicated IRQ lines for platform-specific System Errors
>>> like AER/PME etc. The root complex on these platform will use these seperate
>>> IRQ lines to report AER/PME etc., interrupts and will not generate
>>> MSI/MSI-X/INTx interrupts for these services.
>>>
>>> These patches will add new method for these kind of platforms to register the
>>> platform IRQ number with respective PCIe services.
>>>
>>> Changes in v4 (Stefan):
>>> - Remove 2nd check for PCI_EXP_TYPE_ROOT_PORT
>>> - Change init_platform_service_irqs() from void to return int
>>>
>>> Changes in v3 (Stefan):
>>> - Restructure patches from 4 patches in v2 to now 2 patches in v3
>>> - Rename of functions names
>>> - init_platform_service_irqs() now uses "struct pci_dev *" instead of
>>>     "struct pci_host_bridge *"
>>> - pcie_init_platform_service_irqs() is called before pcie_init_service_irqs()
>>> - Use more PCIe spec terminology as suggested by Bjorn (hopefully enough, I
>>>     don't have the spec at hand)
>>
>> Bjorn, what's the status of this patchset? I was under the impression,
>> that it would make it into v5.18. Please let me know if something is
>> missing.
> 
> Sorry, I didn't get to it in time for v5.18, but it's on my list for
> v5.19.
> 
> I thought maybe it got assigned to Lorenzo because it touches
> drivers/pci/controller/, but I can't find it in patchwork
> (https://patchwork.kernel.org/project/linux-pci/list/) at all.

Both patches are in patchwork:

https://patchwork.kernel.org/project/linux-pci/patch/20220114075834.1938409-2-sr@denx.de/
https://patchwork.kernel.org/project/linux-pci/patch/20220114075834.1938409-3-sr@denx.de/

The first one is assigned to you and the 2nd one to Lorenzo.

> Would you mind posting it again to make sure patchwork picks it up?
> If it's not in patchwork, it's very likely to get missed.

Since it's already on patchwork, I did not post the patches again.
Please let me know if I should re-post them nevertheless.

Thanks,
Stefan

> Bjorn
> 
>>> Bharat Kumar Gogada (2):
>>>     PCI/portdrv: Add option to setup IRQs for platform-specific Service
>>>       Errors
>>>     PCI: xilinx-nwl: Add method to init_platform_service_irqs hook
>>>
>>>    drivers/pci/controller/pcie-xilinx-nwl.c | 18 +++++++++++
>>>    drivers/pci/pcie/portdrv_core.c          | 39 +++++++++++++++++++++++-
>>>    include/linux/pci.h                      |  2 ++
>>>    3 files changed, 58 insertions(+), 1 deletion(-)
>>>
>>
>> Viele Grüße,
>> Stefan Roese
>>
>> -- 
>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

Viele Grüße,
Stefan Roese
Bjorn Helgaas April 1, 2022, 12:35 p.m. UTC | #4
On Fri, Apr 01, 2022 at 08:28:51AM +0200, Stefan Roese wrote:
> On 3/31/22 17:30, Bjorn Helgaas wrote:
> > On Thu, Mar 24, 2022 at 05:52:54PM +0100, Stefan Roese wrote:
> > > On 1/14/22 08:58, Stefan Roese wrote:
> > > > Some platforms have dedicated IRQ lines for platform-specific System Errors
> > > > like AER/PME etc. The root complex on these platform will use these seperate
> > > > IRQ lines to report AER/PME etc., interrupts and will not generate
> > > > MSI/MSI-X/INTx interrupts for these services.
> > > > 
> > > > These patches will add new method for these kind of platforms to register the
> > > > platform IRQ number with respective PCIe services.
> > > > 
> > > > Changes in v4 (Stefan):
> > > > - Remove 2nd check for PCI_EXP_TYPE_ROOT_PORT
> > > > - Change init_platform_service_irqs() from void to return int
> > > > 
> > > > Changes in v3 (Stefan):
> > > > - Restructure patches from 4 patches in v2 to now 2 patches in v3
> > > > - Rename of functions names
> > > > - init_platform_service_irqs() now uses "struct pci_dev *" instead of
> > > >     "struct pci_host_bridge *"
> > > > - pcie_init_platform_service_irqs() is called before pcie_init_service_irqs()
> > > > - Use more PCIe spec terminology as suggested by Bjorn (hopefully enough, I
> > > >     don't have the spec at hand)
> > > 
> > > Bjorn, what's the status of this patchset? I was under the impression,
> > > that it would make it into v5.18. Please let me know if something is
> > > missing.
> > 
> > Sorry, I didn't get to it in time for v5.18, but it's on my list for
> > v5.19.
> > 
> > I thought maybe it got assigned to Lorenzo because it touches
> > drivers/pci/controller/, but I can't find it in patchwork
> > (https://patchwork.kernel.org/project/linux-pci/list/) at all.
> 
> Both patches are in patchwork:
> 
> https://patchwork.kernel.org/project/linux-pci/patch/20220114075834.1938409-2-sr@denx.de/
> https://patchwork.kernel.org/project/linux-pci/patch/20220114075834.1938409-3-sr@denx.de/
> 
> The first one is assigned to you and the 2nd one to Lorenzo.
> 
> > Would you mind posting it again to make sure patchwork picks it up?
> > If it's not in patchwork, it's very likely to get missed.
> 
> Since it's already on patchwork, I did not post the patches again.
> Please let me know if I should re-post them nevertheless.

No, that should be enough.  I spent 10 minutes searching patchwork
yesterday; don't know why I couldn't find it.

> > > > Bharat Kumar Gogada (2):
> > > >     PCI/portdrv: Add option to setup IRQs for platform-specific Service
> > > >       Errors
> > > >     PCI: xilinx-nwl: Add method to init_platform_service_irqs hook
> > > > 
> > > >    drivers/pci/controller/pcie-xilinx-nwl.c | 18 +++++++++++
> > > >    drivers/pci/pcie/portdrv_core.c          | 39 +++++++++++++++++++++++-
> > > >    include/linux/pci.h                      |  2 ++
> > > >    3 files changed, 58 insertions(+), 1 deletion(-)
> > > > 
> > > 
> > > Viele Grüße,
> > > Stefan Roese
> > > 
> > > -- 
> > > DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> > > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> > > Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
> 
> Viele Grüße,
> Stefan Roese
> 
> -- 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de