> From: Lorenzo Bianconi > Date: Thu, 28 May 2026 18:09:02 +0200 > > > On May 28, Alexander Lobakin wrote: > >> From: Lorenzo Bianconi > >> 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 > >>> Signed-off-by: Lorenzo Bianconi > >> > >> [...] > >> > >>> 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