Hi Sergey, > -----Original Message----- > From: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxx> > Sent: 06 October 2021 20:46 > To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>; Sergey Shtylyov > <s.shtylyov@xxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Jakub Kicinski > <kuba@xxxxxxxxxx> > Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>; Sergey Shtylyov > <s.shtylyov@xxxxxxxxxxxx>; Adam Ford <aford173@xxxxxxxxx>; Andrew Lunn > <andrew@xxxxxxx>; Yuusuke Ashizuka <ashiduka@xxxxxxxxxxx>; Yoshihiro > Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux- > renesas-soc@xxxxxxxxxxxxxxx; Chris Paterson <Chris.Paterson2@xxxxxxxxxxx>; > Biju Das <biju.das@xxxxxxxxxxxxxx>; Prabhakar Mahadev Lad > <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > Subject: Re: [PATCH 03/10] ravb: Add nc_queue to struct ravb_hw_info > > On 10/3/21 9:58 AM, Biju Das wrote: > > >>> R-Car supports network control queue whereas RZ/G2L does not support > >>> it. Add nc_queue to struct ravb_hw_info, so that NC queue is handled > >>> only by R-Car. > >>> > >>> This patch also renames ravb_rcar_dmac_init to ravb_dmac_init_rcar > >>> to be consistent with the naming convention used in sh_eth driver. > >>> > >>> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > >>> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > >> > >> Reviewed-by: Sergey Shtylyov <s.shtylyov@xxxxxx> > >> > >> One little nit below: > >> > >>> --- > >>> RFC->v1: > >>> * Handled NC queue only for R-Car. > >>> --- > >>> drivers/net/ethernet/renesas/ravb.h | 3 +- > >>> drivers/net/ethernet/renesas/ravb_main.c | 140 > >>> +++++++++++++++-------- > >>> 2 files changed, 94 insertions(+), 49 deletions(-) > >>> > >>> diff --git a/drivers/net/ethernet/renesas/ravb.h > >>> b/drivers/net/ethernet/renesas/ravb.h > >>> index a33fbcb4aac3..c91e93e5590f 100644 > >>> --- a/drivers/net/ethernet/renesas/ravb.h > >>> +++ b/drivers/net/ethernet/renesas/ravb.h > >>> @@ -986,7 +986,7 @@ struct ravb_hw_info { > >>> bool (*receive)(struct net_device *ndev, int *quota, int q); > >>> void (*set_rate)(struct net_device *ndev); > >>> int (*set_feature)(struct net_device *ndev, netdev_features_t > >> features); > >>> - void (*dmac_init)(struct net_device *ndev); > >>> + int (*dmac_init)(struct net_device *ndev); > >>> void (*emac_init)(struct net_device *ndev); > >>> const char (*gstrings_stats)[ETH_GSTRING_LEN]; > >>> size_t gstrings_size; > >>> @@ -1002,6 +1002,7 @@ struct ravb_hw_info { > >>> unsigned multi_irqs:1; /* AVB-DMAC and E-MAC has multiple > >> irqs */ > >>> unsigned gptp:1; /* AVB-DMAC has gPTP support */ > >>> unsigned ccc_gac:1; /* AVB-DMAC has gPTP support active in > >> config mode */ > >>> + unsigned nc_queue:1; /* AVB-DMAC has NC queue */ > >> > >> Rather "queues" as there are RX and TX NC queues, no? > > > > It has NC queue on both RX and TX. > > > > If needed, I can send a follow up patch as RFC with the following > changes. > > > > unsigned nc_queue:1; /* AVB-DMAC has NC queue on both RX and TX > */ > > > > or > > > > unsigned nc_queues:1; /* AVB-DMAC has RX and TX NC queues */ > > > > please let me know. > > Yes, please do it. OK I will go with below, as RX has single NC queue and TX has single NC queue. unsigned nc_queue:1; /* AVB-DMAC has NC queue on both RX and TX */ Cheers, Biju > > > Regards, > > Biju > > MNR, Sergey