[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c0430eb7-d607-acfd-201a-db56db982309@gpxsee.org>
Date: Tue, 27 Sep 2022 18:46:09 +0200
From: Martin Tůma <tumic@...see.org>
To: Lizhi Hou <lizhi.hou@....com>, vkoul@...nel.org,
dmaengine@...r.kernel.org, linux-kernel@...r.kernel.org,
trix@...hat.com
Cc: max.zhen@....com, sonal.santan@....com, larry.liu@....com,
brian.xu@....com
Subject: Re: [PATCH V4 XDMA 2/2] dmaengine: xilinx: xdma: Add user logic
interrupt support
On 27. 09. 22 18:28, Lizhi Hou wrote:
> Okay, I got the point. How about changing request/remove APIs to
> enable/disable APIs as below
>
> xdma_enable_user_irq(struct platform_device *pdev, u32
> user_irq_index, u32 *irq)
>
> user_irq_index: user logic interrupt wire index. (XDMA
> driver determines how system IRQs are mapped to DMA channels and user
> logic wires)
>
> irq: IRQ number returned for registering interrupt handler
> (request_irq()) or passing to existing platform driver.
>
> xdma_disable_user_irq(struct platform_device *pdev, u32
> user_irq_index)
>
> Does this make sense to you?
>
I think even the "irq" parameter in the enable function is surplus as
the parent driver (the driver of the actual PCIe card) knows* what PCI
irq he has to allocate without XDMA providing the number.
xdma_enable_user_irq(struct platform_device *pdev, u32 user_irq_index);
xdma_disable_user_irq(struct platform_device *pdev, u32 user_irq_index);
should be all that is needed.
M.
* something like:
pci_irq_vector((pdev), PCI_BAR_ID) + NUM_C2H_CHANNELS + NUM_H2C_CHANNELS
can be used from the PCIe driver
Powered by blists - more mailing lists