[PATCH v5 2/6] PCI: uniphier: Add misc interrupt handler to invoke PME and AER

Kunihiko Hayashi hayashi.kunihiko at socionext.com
Fri Aug 7 06:12:12 EDT 2020


On 2020/07/15 19:04, Kunihiko Hayashi wrote:
> Hi Lorenzo,
> 
> On 2020/07/14 22:27, Lorenzo Pieralisi wrote:
>> On Thu, Jun 18, 2020 at 05:38:09PM +0900, Kunihiko Hayashi wrote:
>>> The misc interrupts consisting of PME, AER, and Link event, is handled
>>> by INTx handler, however, these interrupts should be also handled by
>>> MSI handler.
>>
>> Define what you mean please.

[snip]

>> I think this is wrong. pp->irq_domain is the DWC MSI domain, how do
>> you know that hwirq 0 *is* the AER/PME interrupt ?
> 
> When AER/PME drivers are probed, AER/PME interrupts are registered
> as MSI-0.
> 
> The pcie_message_numbers() function refers the following fields of
> PCI registers,
> 
>     - PCI_EXP_FLAGS_IRQ (for PME)
>     - PCI_ERR_ROOT_AER_IRQ (for AER)
> 
> and decides AER/PME interrupts numbers in MSI domain.
> Initial values of both fields are 0, so these interrupts are set to MSI-0.
> 
> However, pcie_uniphier driver doesn't know that these interrupts are MSI-0.
> Surely using 0 here is wrong.
> I think that the method to get virq for AER/PME from pcieport is needed.

To avoid using hard-coded MSI-0, I'll add new function to get a virq number
corresponding to each service (AER/PME) to portdrv.

I'll update the series in v6.

Thank you,
---
Best Regards
Kunihiko Hayashi



More information about the linux-arm-kernel mailing list