From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Shtylyov Date: Thu, 25 Feb 2016 22:22:57 +0000 Subject: Re: [PATCH/RFC v4 net-next] ravb: Add dma queue interrupt support Message-Id: <56CF7EC1.901@cogentembedded.com> List-Id: References: <1453650775-19886-1-git-send-email-ykaneko0929@gmail.com> <56AA4674.6020001@cogentembedded.com> <56B77A57.2080902@cogentembedded.com> <56C9DAF1.1030003@cogentembedded.com> <56CA0D1D.2090903@cogentembedded.com> In-Reply-To: <56CA0D1D.2090903@cogentembedded.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Yoshihiro Kaneko Cc: netdev@vger.kernel.org, "David S. Miller" , Simon Horman , Magnus Damm , Linux-sh list , linux-renesas-soc@vger.kernel.org On 02/21/2016 10:16 PM, Sergei Shtylyov wrote: [...] >>>>>>> From: Kazuya Mizuguchi >>>>>>> >>>>>>> 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 >>>>>>> Signed-off-by: Yoshihiro Kaneko > > [...] > >>>>>>> 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Shtylyov Subject: Re: [PATCH/RFC v4 net-next] ravb: Add dma queue interrupt support Date: Fri, 26 Feb 2016 01:22:57 +0300 Message-ID: <56CF7EC1.901@cogentembedded.com> References: <1453650775-19886-1-git-send-email-ykaneko0929@gmail.com> <56AA4674.6020001@cogentembedded.com> <56B77A57.2080902@cogentembedded.com> <56C9DAF1.1030003@cogentembedded.com> <56CA0D1D.2090903@cogentembedded.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, "David S. Miller" , Simon Horman , Magnus Damm , Linux-sh list , linux-renesas-soc@vger.kernel.org To: Yoshihiro Kaneko Return-path: In-Reply-To: <56CA0D1D.2090903@cogentembedded.com> Sender: linux-sh-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 02/21/2016 10:16 PM, Sergei Shtylyov wrote: [...] >>>>>>> From: Kazuya Mizuguchi >>>>>>> >>>>>>> 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 >>>>>>> Signed-off-by: Yoshihiro Kaneko > > [...] > >>>>>>> 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