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

Minda Chen minda.chen at starfivetech.com
Tue Aug 15 03:12:07 PDT 2023



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 at starfivetech.com>
>> ---
>>  .../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.



More information about the linux-riscv mailing list