Subject: Re: [PATCH net-next 1/6] net: airoha: Introduce airoha_gdm_dev struct

From: Lorenzo Bianconi <[email-masked]>
Date: Fri, 29 May 2026 18:43:40 +0200

> From: Lorenzo Bianconi <[email-masked]>
> Date: Thu, 28 May 2026 18:09:02 +0200
> 
> > On May 28, Alexander Lobakin wrote:
> >> From: Lorenzo Bianconi <[email-masked]>
> >> Date: Wed, 27 May 2026 12:21:15 +0200
> >>
> >>> EN7581 and AN7583 SoCs support connecting multiple external SerDes to GDM3
> >>> or GDM4 ports via a hw arbiter that manages the traffic in a TDM manner.
> >>> As a result multiple net_devices can connect to the same GDM{3,4} port
> >>> and there is a theoretical "1:n" relation between GDM port and
> >>> net_devices.
> >>> Introduce airoha_gdm_dev struct to collect net_device related info (e.g.
> >>> net_device and external phy pointer). Please note this is just a
> >>> preliminary patch and we are still supporting a single net_device for
> >>> each GDM port. Subsequent patches will add support for multiple net_devices
> >>> connected to the same GDM port.
> >>>
> >>> Tested-by: Xuegang Lu <[email-masked]>
> >>> Signed-off-by: Lorenzo Bianconi <[email-masked]>
> >>
> >> [...]
> >>
> >>> diff --git a/drivers/net/ethernet/airoha/airoha_eth.h b/drivers/net/ethernet/airoha/airoha_eth.h
> >>> index d3781103abb5..c78cabbec753 100644
> >>> --- a/drivers/net/ethernet/airoha/airoha_eth.h
> >>> +++ b/drivers/net/ethernet/airoha/airoha_eth.h
> >>> @@ -535,10 +535,15 @@ struct airoha_qdma {
> >>>  	struct airoha_queue q_rx[AIROHA_NUM_RX_RING];
> >>>  };
> >>>  
> >>> +struct airoha_gdm_dev {
> >>> +	struct airoha_gdm_port *port;
> >>> +	struct net_device *dev;
> >>
> >> Nit: we now have priv_to_netdev() (I hope I remember its name
> >> correctly), so that we no longer need to store a netdev backpointer in
> >> netdev_priv structures.
> >> Just an option, up to you.
> > 
> > I think you mean netdev_from_priv(), right?
> 
> Yep, priv_to_netdev() is something I used in the past locally, it went
> to the kernel as netdev_from_priv() from a different author.

ack

> 
> > I guess I can fix if I need to repost, otherwise I will fix with with a
> > dedicated patch. Agree?
> 
> Sure, up to you anyway whether to use it. Most drivers still use
> backpointers to netdev in their private structures.
> From the optimization PoV, netdev_from_priv() should generate a bit
> better code as it's then clear that it's just a fixed offset from the
> private structure, not a separate piece of memory.

ack, I am fine with that. I will post a dedicated patch when the current series
is merged (if there are no other comments).

Regards,
Lorenzo

> > Regards,
> > Lorenzo
> Thanks,
> Olek