Re: [RESEND PATCH v2 1/4] PCI: Add setup_platform_service_irq hook to struct pci_host_bridge

Stefan Roese
2022-01-13T08:46:59Z

On 1/12/22 17:20, Bjorn Helgaas wrote:
> On Wed, Jan 12, 2022 at 10:42:48AM +0100, Stefan Roese wrote:
>> From: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
>>
>> As per section 6.2.4.1.2, 6.2.6 in PCIe r4.0 error interrupts can
>> be delivered with platform specific interrupt lines.
>> Add setup_platform_service_irq hook to struct pci_host_bridge.
>> Some platforms have dedicated interrupt line from root complex to
>> interrupt controller for PCIe services like AER.
>> This hook is to register platform IRQ's to PCIe port services.
>>
>> Signed-off-by: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
>> Signed-off-by: Stefan Roese <sr@denx.de>
>> Tested-by: Stefan Roese <sr@denx.de>
>> Cc: Bjorn Helgaas <helgaas@kernel.org>
>> Cc: Pali Rohár <pali@kernel.org>
>> Cc: Michal Simek <michal.simek@xilinx.com>
>
> It would be nice if this included a cover letter like Bharat's
> original posting did [1]. That makes it easier to keep organized.

I wanted to do this, but somehow forgot it when sending the patches.
Will do in the next version for sure.

> The PCIe r6.0 spec just came out, so let's update the spec references
> to that. Conveniently, the section numbers stayed the same as they
> were in r4.0.
>
> Update the language here to use the spec terminology, i.e.,
> "platform-specific System Errors" That helps find the related bits,
> e.g., "System Error on Correctable Error Enable" in the Root Control
> register.
>
> Rewrap this into paragraphs separated by blank lines.
>
> [1] https://lore.kernel.org/all/1542206878-24587-1-git-send-email-bharat.kumar.gogada@xilinx.com/

Okay, I'll try to update these descriptions accordingly in v3.

Thanks,
Stefan

>> ---
>> include/linux/pci.h | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/include/linux/pci.h b/include/linux/pci.h
>> index 18a75c8e615c..291eadade811 100644
>> --- a/include/linux/pci.h
>> +++ b/include/linux/pci.h
>> @@ -554,6 +554,8 @@ struct pci_host_bridge {
>> u8 (*swizzle_irq)(struct pci_dev *, u8 *); /* Platform IRQ swizzler */
>> int (*map_irq)(const struct pci_dev *, u8, u8);
>> void (*release_fn)(struct pci_host_bridge *);
>> + void (*setup_platform_service_irq)(struct pci_host_bridge *, int *,
>> + int);
>> void *release_data;
>> unsigned int ignore_reset_delay:1; /* For entire hierarchy */
>> unsigned int no_ext_tags:1; /* No Extended Tags */
>> --
>> 2.34.1
>>