mbox series

[RFC,00/12] Add functional support for Gigabit Ethernet driver

Message ID 20211005110642.3744-1-biju.das.jz@bp.renesas.com (mailing list archive)
Headers show
Series Add functional support for Gigabit Ethernet driver | expand

Message

Biju Das Oct. 5, 2021, 11:06 a.m. UTC
The DMAC and EMAC blocks of Gigabit Ethernet IP found on RZ/G2L SoC are
similar to the R-Car Ethernet AVB IP.

The Gigabit Ethernet IP consists of Ethernet controller (E-MAC), Internal
TCP/IP Offload Engine (TOE)  and Dedicated Direct memory access controller
(DMAC).

With a few changes in the driver we can support both IPs.

This patch series is aims to add functional support for Gigabit Ethernet driver
by filling all the stubs.

Ref:-
https://lore.kernel.org/linux-renesas-soc/OS0PR01MB5922240F88E5E0FD989ECDF386AC9@OS0PR01MB5922.jpnprd01.prod.outlook.com/T/#m8dee0a1b14d505d4611cad8c10e4017a30db55d6

RFC changes:
 * used ALIGN macro for calculating the value for max_rx_len.
 * used rx_max_buf_size instead of rx_2k_buffers feature bit.
 * moved struct ravb_rx_desc *gbeth_rx_ring near to ravb_private::rx_ring
   and allocating it for 1 RX queue.
 * Started using gbeth_rx_ring instead of gbeth_rx_ring[q].
 * renamed ravb_alloc_rx_desc to ravb_alloc_rx_desc_rcar
 * renamed ravb_rx_ring_free to ravb_rx_ring_free_rcar
 * renamed ravb_rx_ring_format to ravb_rx_ring_format_rcar
 * renamed ravb_rcar_rx to ravb_rx_rcar
 * renamed "tsrq" variable
 * Updated the comments

Biju Das (12):
  ravb: Use ALIGN macro for max_rx_len
  ravb: Add rx_max_buf_size to struct ravb_hw_info
  ravb: Fillup ravb_set_features_gbeth() stub
  ravb: Fillup ravb_alloc_rx_desc_gbeth() stub
  ravb: Fillup ravb_rx_ring_free_gbeth() stub
  ravb: Fillup ravb_rx_ring_format_gbeth() stub
  ravb: Fillup ravb_rx_gbeth() stub
  ravb: Add carrier_counters to struct ravb_hw_info
  ravb: Add support to retrieve stats for GbEthernet
  ravb: Rename "tsrq" variable
  ravb: Optimize ravb_emac_init_gbeth function
  ravb: Update/Add comments

 drivers/net/ethernet/renesas/ravb.h      |  51 +++-
 drivers/net/ethernet/renesas/ravb_main.c | 349 +++++++++++++++++++++--
 2 files changed, 367 insertions(+), 33 deletions(-)

Comments

Sergey Shtylyov Oct. 5, 2021, 11:54 a.m. UTC | #1
On 10/5/21 2:06 PM, Biju Das wrote:

> The DMAC and EMAC blocks of Gigabit Ethernet IP found on RZ/G2L SoC are
> similar to the R-Car Ethernet AVB IP.
> 
> The Gigabit Ethernet IP consists of Ethernet controller (E-MAC), Internal
> TCP/IP Offload Engine (TOE)  and Dedicated Direct memory access controller
> (DMAC).
> 
> With a few changes in the driver we can support both IPs.
> 
> This patch series is aims to add functional support for Gigabit Ethernet driver
> by filling all the stubs.
> 
> Ref:-
> https://lore.kernel.org/linux-renesas-soc/OS0PR01MB5922240F88E5E0FD989ECDF386AC9@OS0PR01MB5922.jpnprd01.prod.outlook.com/T/#m8dee0a1b14d505d4611cad8c10e4017a30db55d6
> 
> RFC changes:
>  * used ALIGN macro for calculating the value for max_rx_len.
>  * used rx_max_buf_size instead of rx_2k_buffers feature bit.
>  * moved struct ravb_rx_desc *gbeth_rx_ring near to ravb_private::rx_ring
>    and allocating it for 1 RX queue.
>  * Started using gbeth_rx_ring instead of gbeth_rx_ring[q].
>  * renamed ravb_alloc_rx_desc to ravb_alloc_rx_desc_rcar
>  * renamed ravb_rx_ring_free to ravb_rx_ring_free_rcar
>  * renamed ravb_rx_ring_format to ravb_rx_ring_format_rcar
>  * renamed ravb_rcar_rx to ravb_rx_rcar
>  * renamed "tsrq" variable
>  * Updated the comments
> 
> Biju Das (12):
>   ravb: Use ALIGN macro for max_rx_len
>   ravb: Add rx_max_buf_size to struct ravb_hw_info
>   ravb: Fillup ravb_set_features_gbeth() stub
>   ravb: Fillup ravb_alloc_rx_desc_gbeth() stub
>   ravb: Fillup ravb_rx_ring_free_gbeth() stub
>   ravb: Fillup ravb_rx_ring_format_gbeth() stub
>   ravb: Fillup ravb_rx_gbeth() stub
>   ravb: Add carrier_counters to struct ravb_hw_info
>   ravb: Add support to retrieve stats for GbEthernet
>   ravb: Rename "tsrq" variable
>   ravb: Optimize ravb_emac_init_gbeth function
>   ravb: Update/Add comments
> 
>  drivers/net/ethernet/renesas/ravb.h      |  51 +++-
>  drivers/net/ethernet/renesas/ravb_main.c | 349 +++++++++++++++++++++--
>  2 files changed, 367 insertions(+), 33 deletions(-)

   I dodn;'t expect the patchset to be reposted so soon but I'll switch
to reviewing it insted of the previously posted 8-patch series...

MBR, Sergey
Biju Das Oct. 5, 2021, 12:04 p.m. UTC | #2
Hi Sergey,

> Subject: Re: [RFC 00/12] Add functional support for Gigabit Ethernet
> driver
> 
> On 10/5/21 2:06 PM, Biju Das wrote:
> 
> > The DMAC and EMAC blocks of Gigabit Ethernet IP found on RZ/G2L SoC
> > are similar to the R-Car Ethernet AVB IP.
> >
> > The Gigabit Ethernet IP consists of Ethernet controller (E-MAC),
> > Internal TCP/IP Offload Engine (TOE)  and Dedicated Direct memory
> > access controller (DMAC).
> >
> > With a few changes in the driver we can support both IPs.
> >
> > This patch series is aims to add functional support for Gigabit
> > Ethernet driver by filling all the stubs.
> >
> > Ref:-
> > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore
> > .kernel.org%2Flinux-renesas-soc%2FOS0PR01MB5922240F88E5E0FD989ECDF386A
> > C9%40OS0PR01MB5922.jpnprd01.prod.outlook.com%2FT%2F%23m8dee0a1b14d505d
> > 4611cad8c10e4017a30db55d6&data=04%7C01%7Cbiju.das.jz%40bp.renesas.
> > com%7C880ddc38cf254b0a81fc08d987f6ea17%7C53d82571da1947e49cb4625a166a4
> > a2a%7C0%7C0%7C637690316835703147%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL
> > jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata
> > =WmbtErppjUTywkNet%2FtDKw9v5gqaqRlcHGjI3PZ1UN8%3D&reserved=0
> >
> > RFC changes:
> >  * used ALIGN macro for calculating the value for max_rx_len.
> >  * used rx_max_buf_size instead of rx_2k_buffers feature bit.
> >  * moved struct ravb_rx_desc *gbeth_rx_ring near to
> ravb_private::rx_ring
> >    and allocating it for 1 RX queue.
> >  * Started using gbeth_rx_ring instead of gbeth_rx_ring[q].
> >  * renamed ravb_alloc_rx_desc to ravb_alloc_rx_desc_rcar
> >  * renamed ravb_rx_ring_free to ravb_rx_ring_free_rcar
> >  * renamed ravb_rx_ring_format to ravb_rx_ring_format_rcar
> >  * renamed ravb_rcar_rx to ravb_rx_rcar
> >  * renamed "tsrq" variable
> >  * Updated the comments
> >
> > Biju Das (12):
> >   ravb: Use ALIGN macro for max_rx_len
> >   ravb: Add rx_max_buf_size to struct ravb_hw_info
> >   ravb: Fillup ravb_set_features_gbeth() stub
> >   ravb: Fillup ravb_alloc_rx_desc_gbeth() stub
> >   ravb: Fillup ravb_rx_ring_free_gbeth() stub
> >   ravb: Fillup ravb_rx_ring_format_gbeth() stub
> >   ravb: Fillup ravb_rx_gbeth() stub
> >   ravb: Add carrier_counters to struct ravb_hw_info
> >   ravb: Add support to retrieve stats for GbEthernet
> >   ravb: Rename "tsrq" variable
> >   ravb: Optimize ravb_emac_init_gbeth function
> >   ravb: Update/Add comments
> >
> >  drivers/net/ethernet/renesas/ravb.h      |  51 +++-
> >  drivers/net/ethernet/renesas/ravb_main.c | 349
> > +++++++++++++++++++++--
> >  2 files changed, 367 insertions(+), 33 deletions(-)
> 
>    I dodn;'t expect the patchset to be reposted so soon but I'll switch to
> reviewing it insted of the previously posted 8-patch series...

Previous patchset posted as actual patch and there is a suggestion[1] to send it as RFC.
That is the reason I have send it as RFC. I have incorporated your lastest comment from previously
posted 8-patch series in this new RFC patchset.

[1] https://lore.kernel.org/linux-renesas-soc/OS0PR01MB5922240F88E5E0FD989ECDF386AC9@OS0PR01MB5922.jpnprd01.prod.outlook.com/T/#m8dee0a1b14d505d4611cad8c10e4017a30db55d6

Regards,
biju

> 
> MBR, Sergey