Subject: Re: [PATCH/RFC v4 net-next] ravb: Add dma queue interrupt support

From: Sergei Shtylyov <[email-masked]>
Date: Fri, 26 Feb 2016 01:22:57 +0300

On 02/21/2016 10:16 PM, Sergei Shtylyov wrote:

[...]

>>>>>>> From: Kazuya Mizuguchi <[email-masked]>
>>>>>>>
>>>>>>> This patch supports the following interrupts.
>>>>>>>
>>>>>>> - One interrupt for multiple (descriptor, error, management)
>>>>>>> - One interrupt for emac
>>>>>>> - Four interrupts for dma queue (best effort rx/tx, network control
>>>>>>> rx/tx)
>>>>>>>
>>>>>>> This patch improve efficiency of the interrupt handler by adding the
>>>>>>> interrupt handler corresponding to each interrupt source described
>>>>>>> above. Additionally, it reduces the number of times of the access to
>>>>>>> EthernetAVB IF.
>>>>>>>
>>>>>>> Signed-off-by: Kazuya Mizuguchi <[email-masked]>
>>>>>>> Signed-off-by: Yoshihiro Kaneko <[email-masked]>
>
> [...]
>
>>>>>>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c
>>>>>>> b/drivers/net/ethernet/renesas/ravb_main.c
>>>>>>> index ac43ed9..076f25f 100644
>>>>>>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>>>>>>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
> [...]
>>>>>>> +                          struct net_device *ndev, struct device *dev,
>>>>>>> +                          const char *ch)
>>>>>>> +{
>>>>>>> +       char *name;
>>>>>>> +       int error;
>>>>>>> +
>>>>>>> +       name = devm_kasprintf(dev, GFP_KERNEL, "%s:%s", ndev->name, ch);
>>>>>>> +       error = request_irq(irq, handler, IRQF_SHARED, name, ndev);
>>>>>>
>>>>>>      Not sure if we need IRQF_SHARED on those IRQs, they're not really
>>>>>> shareable...
>>>>>
>>>>> I don't know whether this causes something bad.
>>>>> I think this controller is supporting a shared IRQ.
>>>>
>>>>     Based on the high-level trigger, I'd rather suspect not. Anyway, all the
>>>> SoC IRQs are dedicated to a certain (single) source.
>>>
>>> I don't want to change that if there is no fatal issue in the use of
>>> IRQF_SHARED.
>>> However, I will remove the flag if it is simple waste...
>>
>>     It's not a waste but it just shouldn't be needed.
>
>     Actually for RX/TX DMA you're routing 2 interrupts to the same handler, so
> it's needed, sorry.

    Scratch that, it's not multiple handlers, it's multiple IRQs...

> [...]
>>> Thanks,
>>> kaneko

MBR, Sergei