Re: [PATCH v3 06/11] PCI: plda: Add event interrupt codes and IRQ domain ops

From: Minda Chen
Date: Fri Aug 18 2023 - 06:16:31 EST




On 2023/8/15 21:11, Conor Dooley wrote:
> On Tue, Aug 15, 2023 at 06:12:07PM +0800, Minda Chen wrote:
>>
>>
>> On 2023/8/14 21:52, Conor Dooley wrote:
>> > On Mon, Aug 14, 2023 at 04:20:11PM +0800, Minda Chen wrote:
>> >> For PolarFire implements non-PLDA local interrupt events, most of
>> >> event interrupt process codes can not be re-used. PLDA implements
>> >> new codes and IRQ domain ops like PolarFire.
>> >>
>> >> plda_handle_event adds a new IRQ num to event num mapping codes for
>> >> PLDA local event except DMA engine interrupt events. The DMA engine
>> >> interrupt events are implemented by vendors.
>> >>
>> >> Signed-off-by: Minda Chen <minda.chen@xxxxxxxxxxxxxxxx>
>> >> ---
>> >> .../pci/controller/plda/pcie-microchip-host.c | 29 +++---
>> >> drivers/pci/controller/plda/pcie-plda-host.c | 99 +++++++++++++++++++
>> >> drivers/pci/controller/plda/pcie-plda.h | 19 ++++
>> >> 3 files changed, 133 insertions(+), 14 deletions(-)
>> >>
>> >> diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
>> >> index c28840315019..b42f1aac3ec3 100644
>> >> --- a/drivers/pci/controller/plda/pcie-microchip-host.c
>> >> +++ b/drivers/pci/controller/plda/pcie-microchip-host.c
>> >> @@ -96,20 +96,21 @@
>> >> #define EVENT_LOCAL_DMA_END_ENGINE_1 12
>> >> #define EVENT_LOCAL_DMA_ERROR_ENGINE_0 13
>> >> #define EVENT_LOCAL_DMA_ERROR_ENGINE_1 14
>> >> -#define EVENT_LOCAL_A_ATR_EVT_POST_ERR 15
>> >> -#define EVENT_LOCAL_A_ATR_EVT_FETCH_ERR 16
>> >> -#define EVENT_LOCAL_A_ATR_EVT_DISCARD_ERR 17
>> >> -#define EVENT_LOCAL_A_ATR_EVT_DOORBELL 18
>> >> -#define EVENT_LOCAL_P_ATR_EVT_POST_ERR 19
>> >> -#define EVENT_LOCAL_P_ATR_EVT_FETCH_ERR 20
>> >> -#define EVENT_LOCAL_P_ATR_EVT_DISCARD_ERR 21
>> >> -#define EVENT_LOCAL_P_ATR_EVT_DOORBELL 22
>> >> -#define EVENT_LOCAL_PM_MSI_INT_INTX 23
>> >> -#define EVENT_LOCAL_PM_MSI_INT_MSI 24
>> >> -#define EVENT_LOCAL_PM_MSI_INT_AER_EVT 25
>> >> -#define EVENT_LOCAL_PM_MSI_INT_EVENTS 26
>> >> -#define EVENT_LOCAL_PM_MSI_INT_SYS_ERR 27
>> >> -#define NUM_EVENTS 28
>> >> +#define NUM_MC_EVENTS 15
>> >> +#define EVENT_LOCAL_A_ATR_EVT_POST_ERR (NUM_MC_EVENTS + EVENT_A_ATR_EVT_POST_ERR)
>> >> +#define EVENT_LOCAL_A_ATR_EVT_FETCH_ERR (NUM_MC_EVENTS + EVENT_A_ATR_EVT_FETCH_ERR)
>> >> +#define EVENT_LOCAL_A_ATR_EVT_DISCARD_ERR (NUM_MC_EVENTS + EVENT_A_ATR_EVT_DISCARD_ERR)
>> >> +#define EVENT_LOCAL_A_ATR_EVT_DOORBELL (NUM_MC_EVENTS + EVENT_A_ATR_EVT_DOORBELL)
>> >> +#define EVENT_LOCAL_P_ATR_EVT_POST_ERR (NUM_MC_EVENTS + EVENT_P_ATR_EVT_POST_ERR)
>> >> +#define EVENT_LOCAL_P_ATR_EVT_FETCH_ERR (NUM_MC_EVENTS + EVENT_P_ATR_EVT_FETCH_ERR)
>> >> +#define EVENT_LOCAL_P_ATR_EVT_DISCARD_ERR (NUM_MC_EVENTS + EVENT_P_ATR_EVT_DISCARD_ERR)
>> >> +#define EVENT_LOCAL_P_ATR_EVT_DOORBELL (NUM_MC_EVENTS + EVENT_P_ATR_EVT_DOORBELL)
>> >> +#define EVENT_LOCAL_PM_MSI_INT_INTX (NUM_MC_EVENTS + EVENT_PM_MSI_INT_INTX)
>> >> +#define EVENT_LOCAL_PM_MSI_INT_MSI (NUM_MC_EVENTS + EVENT_PM_MSI_INT_MSI)
>> >> +#define EVENT_LOCAL_PM_MSI_INT_AER_EVT (NUM_MC_EVENTS + EVENT_PM_MSI_INT_AER_EVT)
>> >> +#define EVENT_LOCAL_PM_MSI_INT_EVENTS (NUM_MC_EVENTS + EVENT_PM_MSI_INT_EVENTS)
>> >> +#define EVENT_LOCAL_PM_MSI_INT_SYS_ERR (NUM_MC_EVENTS + EVENT_PM_MSI_INT_SYS_ERR)
>> >> +#define NUM_EVENTS (NUM_MC_EVENTS + NUM_PLDA_EVENTS)
>> >
>> > Is this change not in the wrong patch & should be changed alongside the
>> > movement of defines?
>> EVENT_xxx is new added one for PLDA codes and The event num start from 0. This add association to PLDA events.
>> Maybe this can be moved to patch8 or a new patch.
>
> It feels like it should be in patch 3 to me.
OK, thanks. But this need define PLDA events macros in patch3.