RE: [PATCH V4 net-next 1/8] net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC

From: Salil Mehta
Date: Wed Aug 02 2017 - 12:38:31 EST


Hi Florian,

> -----Original Message-----
> From: Salil Mehta
> Sent: Thursday, July 27, 2017 9:45 PM
> To: 'Florian Fainelli'; davem@xxxxxxxxxxxxx
> Cc: Zhuangyuzeng (Yisen); huangdaode; lipeng (Y);
> mehta.salil.lnk@xxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Linuxarm
> Subject: RE: [PATCH V4 net-next 1/8] net: hns3: Add support of HNS3
> Ethernet Driver for hip08 SoC
>
> Hi Florian,
>
> > -----Original Message-----
> > From: Florian Fainelli [mailto:f.fainelli@xxxxxxxxx]
> > Sent: Sunday, July 23, 2017 6:24 PM
> > To: Salil Mehta; davem@xxxxxxxxxxxxx
> > Cc: Zhuangyuzeng (Yisen); huangdaode; lipeng (Y);
> > mehta.salil.lnk@xxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Linuxarm
> > Subject: Re: [PATCH V4 net-next 1/8] net: hns3: Add support of HNS3
> > Ethernet Driver for hip08 SoC
> >
> >
> >
> > On 07/22/2017 03:09 PM, Salil Mehta wrote:
> > > This patch adds the support of Hisilicon Network Subsystem 3
> > > Ethernet driver to hip08 family of SoCs.
> > >
> > > This driver includes basic Rx/Tx functionality. It also includes
> > > the client registration code with the HNAE3(Hisilicon Network
> > > Acceleration Engine 3) framework.
> > >
> > > This work provides the initial support to the hip08 SoC and
> > > would incrementally add features or enhancements.
> > >
> > > Signed-off-by: Daode Huang <huangdaode@xxxxxxxxxxxxx>
> > > Signed-off-by: lipeng <lipeng321@xxxxxxxxxx>
> > > Signed-off-by: Salil Mehta <salil.mehta@xxxxxxxxxx>
> > > Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx>

[...]

>
> >
> > > + hns3_nic_reclaim_one_desc(ring, &bytes, &pkts);
> > > + /* Issue prefetch for next Tx descriptor */
> > > + prefetch(&ring->desc_cb[ring->next_to_clean]);
> > > + budget--;
> > > + }
> > > +
> > > + ring->tqp_vector->tx_group.total_bytes += bytes;
> > > + ring->tqp_vector->tx_group.total_packets += pkts;
> > > +
> > > + dev_queue = netdev_get_tx_queue(netdev, ring->tqp->tqp_index);
> > > + netdev_tx_completed_queue(dev_queue, pkts, bytes);
> >
> > Where is flow control happening? Should not you wake the transmit
> queue
> > if you had to stop it somehow?
> Forgive me, I could not get this part. Flow control of what?
As discussed with you earlier, I have fixed the queue wakeup part
in Patch V6. Please have a look at it. Thanks!

Best regards
Salil
>
>
> >
> > I kind of stopped reviewing here.
> > --
> > Florian