[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