Skip to content

Commit eca4f59

Browse files
LorenzoBianconikuba-moo
authored andcommitted
net: airoha: Rely on airoha_gdm_dev pointer in airoha_is_lan_gdm_port()
Rename airoha_is_lan_gdm_port in airoha_is_lan_gdm_dev. Moreover, rely on airoha_gdm_dev pointer in airoha_is_lan_gdm_dev() instead of airoha_gdm_port one. This is a preliminary patch to support multiple net_devices connected to the same GDM{3,4} port via an external hw arbiter. Tested-by: Xuegang Lu <xuegang.lu@airoha.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://patch.msgid.link/20260527-airoha-eth-multi-serdes-preliminary-v1-3-ec6ed73ef7fc@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 528c515 commit eca4f59

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

drivers/net/ethernet/airoha/airoha_eth.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,10 @@ static void airoha_qdma_irq_disable(struct airoha_irq_bank *irq_bank,
7373

7474
static void airoha_set_macaddr(struct airoha_gdm_dev *dev, const u8 *addr)
7575
{
76-
struct airoha_gdm_port *port = dev->port;
7776
struct airoha_eth *eth = dev->eth;
7877
u32 val, reg;
7978

80-
reg = airoha_is_lan_gdm_port(port) ? REG_FE_LAN_MAC_H
81-
: REG_FE_WAN_MAC_H;
79+
reg = airoha_is_lan_gdm_dev(dev) ? REG_FE_LAN_MAC_H : REG_FE_WAN_MAC_H;
8280
val = (addr[0] << 16) | (addr[1] << 8) | addr[2];
8381
airoha_fe_wr(eth, reg, val);
8482

@@ -1868,7 +1866,7 @@ static int airoha_dev_init(struct net_device *netdev)
18681866
int i;
18691867

18701868
/* QDMA0 is used for lan ports while QDMA1 is used for WAN ports */
1871-
dev->qdma = &eth->qdma[!airoha_is_lan_gdm_port(port)];
1869+
dev->qdma = &eth->qdma[!airoha_is_lan_gdm_dev(dev)];
18721870
dev->dev->irq = dev->qdma->irq_banks[0].irq;
18731871
airoha_set_macaddr(dev, netdev->dev_addr);
18741872

drivers/net/ethernet/airoha/airoha_eth.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -647,8 +647,10 @@ static inline u16 airoha_qdma_get_txq(struct airoha_qdma *qdma, u16 qid)
647647
return qid % ARRAY_SIZE(qdma->q_tx);
648648
}
649649

650-
static inline bool airoha_is_lan_gdm_port(struct airoha_gdm_port *port)
650+
static inline bool airoha_is_lan_gdm_dev(struct airoha_gdm_dev *dev)
651651
{
652+
struct airoha_gdm_port *port = dev->port;
653+
652654
/* GDM1 port on EN7581 SoC is connected to the lan dsa switch.
653655
* GDM{2,3,4} can be used as wan port connected to an external
654656
* phy module.

drivers/net/ethernet/airoha/airoha_ppe.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ static int airoha_ppe_foe_entry_prepare(struct airoha_eth *eth,
362362
/* For downlink traffic consume SRAM memory for hw
363363
* forwarding descriptors queue.
364364
*/
365-
if (airoha_is_lan_gdm_port(port))
365+
if (airoha_is_lan_gdm_dev(dev))
366366
val |= AIROHA_FOE_IB2_FAST_PATH;
367367
if (dsa_port >= 0)
368368
val |= FIELD_PREP(AIROHA_FOE_IB2_NBQ,

0 commit comments

Comments
 (0)