Hi Sergei, Thanks for the feedback. > Subject: Re: [PATCH net-next v2 6/8] ravb: Add net_features and > net_hw_features to struct ravb_hw_info > > Hello! > > On 8/5/21 10:18 PM, Biju Das wrote: > > [...] > >>> On R-Car the checksum calculation on RX frames is done by the E-MAC > >>> module, whereas on RZ/G2L it is done by the TOE. > >>> > >>> TOE calculates the checksum of received frames from E-MAC and > >>> outputs it to DMAC. TOE also calculates the checksum of transmission > >>> frames from DMAC and outputs it E-MAC. > >>> > >>> Add net_features and net_hw_features to struct ravb_hw_info, to > >>> support subsequent SoCs without any code changes in the ravb_probe > >> function. > >>> > >>> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > >>> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > >> > >> [...] > >>> diff --git a/drivers/net/ethernet/renesas/ravb.h > >>> b/drivers/net/ethernet/renesas/ravb.h > >>> index b765b2b7d9e9..3df813b2e253 100644 > >>> --- a/drivers/net/ethernet/renesas/ravb.h > >>> +++ b/drivers/net/ethernet/renesas/ravb.h > >>> @@ -991,6 +991,8 @@ enum ravb_chip_id { struct ravb_hw_info { > >>> const char (*gstrings_stats)[ETH_GSTRING_LEN]; > >>> size_t gstrings_size; > >>> + netdev_features_t net_hw_features; > >>> + netdev_features_t net_features; > >> > >> Do we really need both of these here? > > > > R-Car has only Rx Checksum on E-Mac, where as Geth supports Rx Check Sum > on E-Mac or Rx/Tx CheckSum on TOE. > > So there is a hw difference. Please let me know what is the best way to > handle this? > > I meant that we could go with only one field of the net_features... > Alternatively, we could use our own feature bits... Basically are you suggesting some thing like unsigned hwcsum_tx_rx: 1; Then, if (hwcsum_tx_rx) { ndev->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM; } else { ndev->features = NETIF_F_RXCSUM; ndev->hw_features = NETIF_F_RXCSUM; } Cheers, Biju