From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 986FD239E92; Sat, 31 May 2025 10:13:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686401; cv=none; b=ZXGXi+d1hyc8PJkb0bBpQSXl7SluuGNbjD75BC3sfy9Bjt2pqvLpQ++ISLvtOkZVdgmFjmK0QWXgIP93XJ3gmC+bEiMyN/HzBhQpcsOeVnrH2CfL4vX9ZUq0bZ+JDUgfrep5VcgIcRANBUTOfjFzkNVYt0vVrE/gTfXM8cjg/ug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686401; c=relaxed/simple; bh=BVLodL7VonUD/n+bxiZbWGzS0sRhhXUlSQa2zmJciWA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=e6A9KWOQxusFCfWn+fSWIZq3TkWVIxwjKSDjDqciCN84xjxxRDrRikcNUXIBKXyYhzxm8Zs6k/p6LD4BS99ckgZui/Q0v9d9LFL3KqMd1c6zSi88XeZcz1lHE7XK0rjDbAKD1LIXHOCt0zWYZLYO7o7skwHtjEXvVMFu5bw/iiU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=O8wD5uJN; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="O8wD5uJN" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3a4f89c6e61so772092f8f.3; Sat, 31 May 2025 03:13:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686393; x=1749291193; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/4Pr6ng1LZCz94G4fnmML3y/fZWMRy6IyMWJKeqgTNs=; b=O8wD5uJNSg/rSc95PY6rwmkE4qdP6638H+wHTNNKaPFGUcFLXEWl74/ugvi2/XE0BJ 2Hb5jmfanaJwXjER8pzilNyyZQnlySr9sQnHFCox9fDz1st8erXhfjVaZKoWTDqeXDr7 tQqGkODfleX4qeQG97tJ40n+E/T9yxxOH7bJdpE2/HddU6Ro8PmNwJjmORbFnn2UGZIs hF+d0KNcdSSsUzonnRvKBJO50DRfkVcSbwG39p9e0IWtSgi/qP8Ew1Z5UcugcnfsPbZD 7rlmuinYVeTDKpFmoGVHt7f3ZJy1PIHvmRaRbKDk1Yp9quocsiB6iDp3cdme0ABDc1h6 7Plw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686393; x=1749291193; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/4Pr6ng1LZCz94G4fnmML3y/fZWMRy6IyMWJKeqgTNs=; b=N3buXU47yZzjFDAMbtA5Biejo+zODB3jPujJbTY6DP8BOoRhza8oNsB2tP9zBJ3qdr UFiqjodVWEXvGgP77EnrE9y5RI/2BmKXw8tYvTKf93ffRW4YLI83J5tkIKqtoSelo4qa lJ8Gq1Euc74hhiruT56TOmHzcovLDqWcRBL8XYmTxefTQ4Nx0xNjliRqwinNhrPL/74z rFqwkYAOPlmX/2fhWj/kk27Hn+ia16bAst6rZ6NOx+DiToiZHwopEAudOtIHkHbXBUqo G+hHLLTuB/CqnaLSzo8TP7AuKBJAeSuq6cw7C20PDrlGGv5Q05/WVapLk6o40h+nrRdt havw== X-Forwarded-Encrypted: i=1; AJvYcCU3ozZ5Eq6+CjktA1B6Fi0Xk756jFYDY/f/GOZO4gTCk8G7SBaqesAUqRNEzP7e7J6o4OrDc1ik@vger.kernel.org, AJvYcCV/vKLNsqgoBHYGy7ewrs/llUU+3np1Oqy/LhghWreFJJbpkmecd11EtFGQWB0LLg4X9uX9e0NMUmevDcs=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh6RsEF5rVzE3S3iDjj+idxaLmScvj5xdpQgK7gBdGl76jUSHv v4WIy+89rEcZD8xEsHUQydfXgwaopwAp+f1aLITMmu8Kpos7BLyeOUmE X-Gm-Gg: ASbGnctkm3u3gj3sFnl3kqUWC+sPb/NSCTRLtW6sowOEVQw+cqIyzjObOT9C39PSnZ4 jdSKN9hwxku6f87G6UzlTn2P6/V4aq86Mnv1yNvdD1sre1LtZQK80ofw8nU7yR2WCd3hvmfcZUh Ak3EcnNqFT9ztKtYJ1R+y4i1wlbeYK1kqTbrTei5TtJw20VdeRKCKWvvAKkyPcJfimvZo7y+/hB FyL+qOZPhNH/+mEyUtDKzoVV6562YkfufVQLKS1XNsfi5vOy0faIOsmQNRDosZRAAGJBqsgZlrR MDgRQZRrW5r0wyuvihwvvd0CfxvcbcmERB6n9temKUZcFc3u/yTdungIk7tHPYAIuNxvJcM3Wsr jy2LRihvG/uSwfzfvZumiKmTu6R87VJ23x/QQgaO1axLur4n3lKzQ X-Google-Smtp-Source: AGHT+IFCGhKTFhFdMf2cutlReI++c9wjRgdtgVVathqW7ed8loFYorLqGfQW4vQSXJwHu0NeDID06g== X-Received: by 2002:a05:6000:2890:b0:3a4:d02e:84af with SMTP id ffacd0b85a97d-3a4fe3a816fmr1162119f8f.58.1748686393220; Sat, 31 May 2025 03:13:13 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:12 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: Florian Fainelli , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 01/10] net: dsa: b53: add support for FDB operations on 5325/5365 Date: Sat, 31 May 2025 12:12:59 +0200 Message-Id: <20250531101308.155757-2-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Florian Fainelli BCM5325 and BCM5365 are part of a much older generation of switches which, due to their limited number of ports and VLAN entries (up to 256) allowed a single 64-bit register to hold a full ARL entry. This requires a little bit of massaging when reading, writing and converting ARL entries in both directions. Signed-off-by: Florian Fainelli Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 60 +++++++++++++++++++++----------- drivers/net/dsa/b53/b53_priv.h | 57 +++++++++++++++++++++--------- drivers/net/dsa/b53/b53_regs.h | 7 ++-- 3 files changed, 84 insertions(+), 40 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 132683ed3abe..03c1e2e75061 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1760,9 +1760,11 @@ static int b53_arl_read(struct b53_device *dev, u64 = mac, =20 b53_read64(dev, B53_ARLIO_PAGE, B53_ARLTBL_MAC_VID_ENTRY(i), &mac_vid); - b53_read32(dev, B53_ARLIO_PAGE, - B53_ARLTBL_DATA_ENTRY(i), &fwd_entry); - b53_arl_to_entry(ent, mac_vid, fwd_entry); + + if (!is5325(dev) && !is5365(dev)) + b53_read32(dev, B53_ARLIO_PAGE, + B53_ARLTBL_DATA_ENTRY(i), &fwd_entry); + b53_arl_to_entry(dev, ent, mac_vid, fwd_entry); =20 if (!(fwd_entry & ARLTBL_VALID)) { set_bit(i, free_bins); @@ -1795,7 +1797,8 @@ static int b53_arl_op(struct b53_device *dev, int op,= int port, =20 /* Perform a read for the given MAC and VID */ b53_write48(dev, B53_ARLIO_PAGE, B53_MAC_ADDR_IDX, mac); - b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid); + if (!is5325(dev)) + b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid); =20 /* Issue a read operation for this MAC */ ret =3D b53_arl_rw_op(dev, 1); @@ -1846,12 +1849,14 @@ static int b53_arl_op(struct b53_device *dev, int o= p, int port, ent.is_static =3D true; ent.is_age =3D false; memcpy(ent.mac, addr, ETH_ALEN); - b53_arl_from_entry(&mac_vid, &fwd_entry, &ent); + b53_arl_from_entry(dev, &mac_vid, &fwd_entry, &ent); =20 b53_write64(dev, B53_ARLIO_PAGE, B53_ARLTBL_MAC_VID_ENTRY(idx), mac_vid); - b53_write32(dev, B53_ARLIO_PAGE, - B53_ARLTBL_DATA_ENTRY(idx), fwd_entry); + + if (!is5325(dev) && !is5365(dev)) + b53_write32(dev, B53_ARLIO_PAGE, + B53_ARLTBL_DATA_ENTRY(idx), fwd_entry); =20 return b53_arl_rw_op(dev, 0); } @@ -1863,12 +1868,6 @@ int b53_fdb_add(struct dsa_switch *ds, int port, struct b53_device *priv =3D ds->priv; int ret; =20 - /* 5325 and 5365 require some more massaging, but could - * be supported eventually - */ - if (is5325(priv) || is5365(priv)) - return -EOPNOTSUPP; - mutex_lock(&priv->arl_mutex); ret =3D b53_arl_op(priv, 0, port, addr, vid, true); mutex_unlock(&priv->arl_mutex); @@ -1895,10 +1894,15 @@ EXPORT_SYMBOL(b53_fdb_del); static int b53_arl_search_wait(struct b53_device *dev) { unsigned int timeout =3D 1000; - u8 reg; + u8 reg, offset; + + if (is5325(dev) || is5365(dev)) + offset =3D B53_ARL_SRCH_CTL_25; + else + offset =3D B53_ARL_SRCH_CTL; =20 do { - b53_read8(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, ®); + b53_read8(dev, B53_ARLIO_PAGE, offset, ®); if (!(reg & ARL_SRCH_STDN)) return 0; =20 @@ -1917,11 +1921,19 @@ static void b53_arl_search_rd(struct b53_device *de= v, u8 idx, u64 mac_vid; u32 fwd_entry; =20 - b53_read64(dev, B53_ARLIO_PAGE, - B53_ARL_SRCH_RSTL_MACVID(idx), &mac_vid); - b53_read32(dev, B53_ARLIO_PAGE, - B53_ARL_SRCH_RSTL(idx), &fwd_entry); - b53_arl_to_entry(ent, mac_vid, fwd_entry); + if (is5325(dev)) { + b53_read64(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL_0_MACVID_25, + &mac_vid); + } else if (is5365(dev)) { + b53_read64(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL_0_MACVID_65, + &mac_vid); + } else { + b53_read64(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL_MACVID(idx), + &mac_vid); + b53_read32(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL(idx), + &fwd_entry); + } + b53_arl_to_entry(dev, ent, mac_vid, fwd_entry); } =20 static int b53_fdb_copy(int port, const struct b53_arl_entry *ent, @@ -1942,14 +1954,20 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, struct b53_device *priv =3D ds->priv; struct b53_arl_entry results[2]; unsigned int count =3D 0; + u8 offset; int ret; u8 reg; =20 mutex_lock(&priv->arl_mutex); =20 + if (is5325(priv) || is5365(priv)) + offset =3D B53_ARL_SRCH_CTL_25; + else + offset =3D B53_ARL_SRCH_CTL; + /* Start search operation */ reg =3D ARL_SRCH_STDN; - b53_write8(priv, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, reg); + b53_write8(priv, offset, B53_ARL_SRCH_CTL, reg); =20 do { ret =3D b53_arl_search_wait(priv); diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index a5ef7071ba07..05c5b9239bda 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h @@ -286,30 +286,55 @@ struct b53_arl_entry { u8 is_static:1; }; =20 -static inline void b53_arl_to_entry(struct b53_arl_entry *ent, +static inline void b53_arl_to_entry(struct b53_device *dev, + struct b53_arl_entry *ent, u64 mac_vid, u32 fwd_entry) { memset(ent, 0, sizeof(*ent)); - ent->port =3D fwd_entry & ARLTBL_DATA_PORT_ID_MASK; - ent->is_valid =3D !!(fwd_entry & ARLTBL_VALID); - ent->is_age =3D !!(fwd_entry & ARLTBL_AGE); - ent->is_static =3D !!(fwd_entry & ARLTBL_STATIC); - u64_to_ether_addr(mac_vid, ent->mac); - ent->vid =3D mac_vid >> ARLTBL_VID_S; + if (is5325(dev) || is5365(dev)) { + ent->port =3D (mac_vid >> ARLTBL_DATA_PORT_ID_S_25) & + ARLTBL_DATA_PORT_ID_MASK_25; + ent->is_valid =3D !!(mac_vid & ARLTBL_VALID_25); + ent->is_age =3D !!(mac_vid & ARLTBL_AGE_25); + ent->is_static =3D !!(mac_vid & ARLTBL_STATIC_25); + u64_to_ether_addr(mac_vid, ent->mac); + ent->vid =3D mac_vid >> ARLTBL_VID_S_65; + } else { + ent->port =3D fwd_entry & ARLTBL_DATA_PORT_ID_MASK; + ent->is_valid =3D !!(fwd_entry & ARLTBL_VALID); + ent->is_age =3D !!(fwd_entry & ARLTBL_AGE); + ent->is_static =3D !!(fwd_entry & ARLTBL_STATIC); + u64_to_ether_addr(mac_vid, ent->mac); + ent->vid =3D mac_vid >> ARLTBL_VID_S; + } } =20 -static inline void b53_arl_from_entry(u64 *mac_vid, u32 *fwd_entry, +static inline void b53_arl_from_entry(struct b53_device *dev, + u64 *mac_vid, u32 *fwd_entry, const struct b53_arl_entry *ent) { *mac_vid =3D ether_addr_to_u64(ent->mac); - *mac_vid |=3D (u64)(ent->vid & ARLTBL_VID_MASK) << ARLTBL_VID_S; - *fwd_entry =3D ent->port & ARLTBL_DATA_PORT_ID_MASK; - if (ent->is_valid) - *fwd_entry |=3D ARLTBL_VALID; - if (ent->is_static) - *fwd_entry |=3D ARLTBL_STATIC; - if (ent->is_age) - *fwd_entry |=3D ARLTBL_AGE; + if (is5325(dev) || is5365(dev)) { + *mac_vid |=3D (u64)(ent->port & ARLTBL_DATA_PORT_ID_MASK_25) << + ARLTBL_DATA_PORT_ID_S_25; + *mac_vid |=3D (u64)(ent->vid & ARLTBL_VID_MASK_25) << + ARLTBL_VID_S_65; + if (ent->is_valid) + *mac_vid |=3D ARLTBL_VALID_25; + if (ent->is_static) + *mac_vid |=3D ARLTBL_STATIC_25; + if (ent->is_age) + *mac_vid |=3D ARLTBL_AGE_25; + } else { + *mac_vid |=3D (u64)(ent->vid & ARLTBL_VID_MASK) << ARLTBL_VID_S; + *fwd_entry =3D ent->port & ARLTBL_DATA_PORT_ID_MASK; + if (ent->is_valid) + *fwd_entry |=3D ARLTBL_VALID; + if (ent->is_static) + *fwd_entry |=3D ARLTBL_STATIC; + if (ent->is_age) + *fwd_entry |=3D ARLTBL_AGE; + } } =20 #ifdef CONFIG_BCM47XX diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 1fbc5a204bc7..1f15332fb2a7 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -324,9 +324,10 @@ #define ARLTBL_VID_MASK 0xfff #define ARLTBL_DATA_PORT_ID_S_25 48 #define ARLTBL_DATA_PORT_ID_MASK_25 0xf -#define ARLTBL_AGE_25 BIT(61) -#define ARLTBL_STATIC_25 BIT(62) -#define ARLTBL_VALID_25 BIT(63) +#define ARLTBL_VID_S_65 53 +#define ARLTBL_AGE_25 BIT_ULL(61) +#define ARLTBL_STATIC_25 BIT_ULL(62) +#define ARLTBL_VALID_25 BIT_ULL(63) =20 /* ARL Table Data Entry N Registers (32 bit) */ #define B53_ARLTBL_DATA_ENTRY(n) ((0x10 * (n)) + 0x18) --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A86D5EAF9; Sat, 31 May 2025 10:13:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686400; cv=none; b=TGhqS+5LsXgdkIJK5RNE1VqtMr85SBfvpnH7za/Lvm4CYWrYzAv173WW1mXZM259kN20TAyXAItM88hxCE8QyWXbXcuNZWHYM/hmvKpP/anoaeYjP0tipIUFJgMon6KqfhEBeO1o7qBvPDvgh5IkUnu1XzKIbUZpJsF2bn5Crig= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686400; c=relaxed/simple; bh=+TCwMqM29MSzJsKIOwnIu90KDcktq7NRHGr/qWUAZvI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=qCuhrkRYdinL1wrMqvWRYe2uXZaHFIrDld7amlPUpm00iG0rVSKarNo1hsxZ6lV3FtxzTm3gsEEJ1lX8SFU5MESY6wbPCGj/8F4Y+fWobDGuDAua8SWBNtMPaDcKDFANa/yi/SSmG/ca7Kci+B0Yl/XIfaM4kc9IXRAkp/KwWOk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CFnEGWlE; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CFnEGWlE" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-442f4a3a4d6so16757495e9.0; Sat, 31 May 2025 03:13:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686395; x=1749291195; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Q6mdyCUnYClMxKpkumuq3qco0eqhBFAoCt9GF5tCKDQ=; b=CFnEGWlECJs+6u3G10Cs+kIIN/r3HyeYbyca/EoFyjnxr6BTxpVAivYKcfos2EhJcv X/D3oxqoPjKKe+RAyWKjWYGoof0wKmYaj/xWKvv2iVL5EEZa24qbHT6/jkdNJVUG4w0q GFtp3xwrCvMFe+AcEdl9Q2XTEMjjMtzPCqVEgHptSOcjgnttkyjRW5JKzaDodKi2rsw5 T1/RTHtyELQ/HfzojIGT6dWPIzBG8+URYvIJO9P5BoWr9csUWitnyQyE7sxW2wb4rIr1 gQBcFnpsTC43OQVv0jN2pkH/W/MTkHPHVVaqmBYhPj/6adYuIVB3VElyDBw8W1hwJGJi WGOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686395; x=1749291195; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Q6mdyCUnYClMxKpkumuq3qco0eqhBFAoCt9GF5tCKDQ=; b=lLhohFZ8XVtCbSY+BpVqUP+v5ZsJg7k1E0/D0ZFy/rFWShjaA7e0cYTVE7wsVIsRMG pI+y+ljVH5W9lD9+qrElhaNTxHDBdesQGG7g1GClTSKnRiiV2sufoLMwMQdlzmFjw7Pp k7JnJw01IQCcVKQ6mxY46Uh1bX0svILf2CCh8XlbkSv7mWoV35LC/oSIkPZe0+1BALyo R41o5p2OcPbe8fA8cH8/lb/odE0NVGwj9IJxJStZLQSfYguD48D32+44i8RECG23F1UX dk4dyeE6mpj0ZNk1Mx1cvdQjcmLt/uoS+hz3YU26qv7RkJxNr93XC25ThhEURnZh3bwn x4Bw== X-Forwarded-Encrypted: i=1; AJvYcCVPDFrxloCyFIxlmmHDwBkGdBlgZaDj0NFCMfL0ZnBAzkW3bze+Oi0cRrM6995r/g5cJfSU4HMxy7pWUiU=@vger.kernel.org, AJvYcCVwcC8oZ5qQ4mQaY2DhjU7TaqXj0xYikaH4eyw0uXcjs9y/TNWEdtIACli3m9D9H94sRvaotlXK@vger.kernel.org X-Gm-Message-State: AOJu0YzuVtlY21yFs7mQEtGqIQNcZG/w5sk+Rs2KbtPYVHknv/ViKEtY yLXo0y/Rqe8KbIErzuA3C+cxO6FCk//TnfJfLqWv6MGENL4DpXi3X9kK X-Gm-Gg: ASbGncvtYDllQoPt20zt0JZNCrqCSsMyo3UGvKSQ5xnjbUPGlLQrFGds3C2cQXFhTZJ OnNropkHO1WB4k9cVHWgk0HLSkkmEp/+QjMuxBmtA8ngI6CGMAG9IlOdQ0nhq8xizA+UQTd0cgl v8BXS+T8j7q8+MXvy7ZgV50+GT7pGMlxs1hkSBgNX9CkBKW9nwmoUJZyzJa4tt909gNYI7hu3/R sqoqHeL3I905a4RwaBECgoUKjy6rTtYtAGqjGssvVayq5ZwtzBM8FGcolurgjbthVFcSVfxKfSo XVOYazgeJT3uahzxoXwLkepTLehlIPDzvLnyrn+nFD+DqksjS/tZIYV8CBfXahQ9scpkThAt3n2 zarNDAkLum0+fGhME9vN198wHW5KsvyWLq/4yO5OAKqssOIA2XAKozJlo8KP/W20= X-Google-Smtp-Source: AGHT+IEZO+tlyV0y5T3wPmejydYVu6b/z0NuYm+mLVa8S0sl+RrEV/XF03DQ4nSzYlV6FPXlIcB4Xw== X-Received: by 2002:a05:600c:4f46:b0:43d:fa5f:7d30 with SMTP id 5b1f17b1804b1-450d6bd2efbmr48720975e9.16.1748686394491; Sat, 31 May 2025 03:13:14 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:13 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 02/10] net: dsa: b53: prevent FAST_AGE access on BCM5325 Date: Sat, 31 May 2025 12:13:00 +0200 Message-Id: <20250531101308.155757-3-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement FAST_AGE registers so we should avoid reading or writing them. Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 03c1e2e75061..d1249aac6136 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -486,6 +486,9 @@ static int b53_flush_arl(struct b53_device *dev, u8 mas= k) { unsigned int i; =20 + if (is5325(dev)) + return 0; + b53_write8(dev, B53_CTRL_PAGE, B53_FAST_AGE_CTRL, FAST_AGE_DONE | FAST_AGE_DYNAMIC | mask); =20 @@ -510,6 +513,9 @@ static int b53_flush_arl(struct b53_device *dev, u8 mas= k) =20 static int b53_fast_age_port(struct b53_device *dev, int port) { + if (is5325(dev)) + return 0; + b53_write8(dev, B53_CTRL_PAGE, B53_FAST_AGE_PORT_CTRL, port); =20 return b53_flush_arl(dev, FAST_AGE_PORT); @@ -517,6 +523,9 @@ static int b53_fast_age_port(struct b53_device *dev, in= t port) =20 static int b53_fast_age_vlan(struct b53_device *dev, u16 vid) { + if (is5325(dev)) + return 0; + b53_write16(dev, B53_CTRL_PAGE, B53_FAST_AGE_VID_CTRL, vid); =20 return b53_flush_arl(dev, FAST_AGE_VLAN); --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A99B8239E93; Sat, 31 May 2025 10:13:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686401; cv=none; b=tsI6+yAHdGGvYcTRSYK7e+jCK+k7iaXrzxm5IZ3stUBoPJryjRyTNISu7pmA/n/A64wVM65uFOzlisvspdJATs5jeU14q1vUvyyU9glWTYd26NBkEnnZGaOS3+AbNeewL1q8WAH5rxwsEJQKY84mYGdYggeoFwAJ+byM8CCuFzQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686401; c=relaxed/simple; bh=8n3S98UFWmOvMsz5XubR+q5X7g2DT4KTgWdfDMAxh0U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=nkT+2/hPZ4ug6ZROXrhJjSEaa8RfevvQ9xrZgiJ1Cmcz/gFXuEKa9whErpoNCng9hgzJWH3C5MM1v90K4mYR3pxnukunUYQYpJBy4WlJHHNdvHc2wqxkSYZ+SM4geiRpGAUdiVNl8Ay/HPQPlPgJ8dwjHogyl3llP/5NbrqhstM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UOLGSBDf; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UOLGSBDf" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3a4fdc27c4aso198450f8f.3; Sat, 31 May 2025 03:13:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686397; x=1749291197; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MkE4jy2942B4PnMPCXZQ5ZLTCeZc8Bh/eDtFkQLFjmc=; b=UOLGSBDfz8Zn0alCmTaY/hMphhyOf9L/34+wHDxEJxXDmrS5vnFvAVg5Lh7qxR0xmz H96T2+Iz+pAVbY8Eo4/gaZ/mO3qLJPrVbaBtVAFq1zLFT8EX8mhstit8qD6CrGRK/Og9 C9GLb9zmFInI5Th31+Zb+RYtkJ1vU4qy5E2YWb5kmkucu0tas3hluTfmevanoHmdXRGY 1Dxeg7D5b9FyliKiSbJSKd4Eane5jWX17I+DFVGczzu2WP7y0Jj8idmqjiWj960xGeR0 CF7rPtHpWn+exAJXznT7Hx3L/6uOL0AiG7r96vrdqfL/t4kuMjftU0n+mvWo+C/4WBT6 FsEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686397; x=1749291197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MkE4jy2942B4PnMPCXZQ5ZLTCeZc8Bh/eDtFkQLFjmc=; b=J7ZSVzd5C37+Vl0hhxGex8A6hQpXApTZBq/m8ieN3mOnv2h4Zf44X+F6T0rou1JxZ9 y2+XQ4JYsD8CDIzIfS18AUXjoOOKs8Sa8wr5IhbknxqGYsjf6sOrC01KHSAeKVyg+RgD 1gFHLXu/bEvy9EawOxPAnbyijaCJkQssVUg6nX23BPM7yXI/Qk9CuSdH8Vjy4kItZpDL a3B8wGsL8eKjH1mJ4VEB5AtCNKd86C14ZfTxUqi3DdHgAixt+zt21hTl25PPa8CcsqAQ XlAB1s6GuELLMVVwhA48CXQO0KAugKTrKmH0SmpiU9oYGQOGny2P6cXJLC5ypBmJ/AxI NWUQ== X-Forwarded-Encrypted: i=1; AJvYcCWlULyhL5eBucp2hCBF9iJMsAl8eZsYhoGEqC8enhH+8BTuSBXu85BpOOvMCdjJtsSpZFdW5+pxA4OG6rg=@vger.kernel.org, AJvYcCXu4LVcSTkJQWAyGd2jlq/5xKicbsu4gEax53Gj0zST50xG9tfRANWd1brZBtMj8AhIKya8qlgO@vger.kernel.org X-Gm-Message-State: AOJu0YxIGgpqYJEV9ogCSIYdUOc/5eXa3BRsV9bxCxzN+PLoHLpw5YdI gx74ElLPz3rDDHfHGFb9JoHw0b9DysQGtIa6blZk9N2wdFG2DbC9qM+F X-Gm-Gg: ASbGncuvQNz5x25TwxrVVK4gwNEbx1FGvy4IYmcnTsy8MZ+TphOMDNJmxhP9ntoOYiu AF/1GGAAzX/K54avtf9CH6xzN0DvO+MTj4eas4Vb+OXL5oU4UJlPJxvgagu0gTdtrY/jXZ2xSzp s+Z8j+WDi0BoOugRyYVYtQZFZ+GJMeinfgrdDQIVrVvuhf2cDyhfu8Xw3edHvcsKVTBvzQOsctJ j2HGQGO2oMoiLbxsQA4s5zUjuJBnyipC/Nk0yQAF7a1muugauw8WMa9XSO/QxMzHvpGk+rpbqhG Dei+pN30h62zGMFau4nAyGCv9fdz5c3Zv2t6L3jVcsKCriGegjRvIH6NW67UYsrx4laynpRETHC QEfdkHK3ItM7tEKj/fwiFM1TDksXtkFJPT9FgfdvsJbGX67R8CpgEi08EH72hckg= X-Google-Smtp-Source: AGHT+IExHMXwbfE+UDOP1fVswoEhC7rRyPuZatr9IuJMgWYcJJZVvO95zoN3HlOGW5ZuuH/pE6nh3w== X-Received: by 2002:adf:a152:0:b0:3a4:f8fa:9116 with SMTP id ffacd0b85a97d-3a4f8fa9122mr3048641f8f.8.1748686396837; Sat, 31 May 2025 03:13:16 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:16 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 03/10] net: dsa: b53: prevent SWITCH_CTRL access on BCM5325 Date: Sat, 31 May 2025 12:13:01 +0200 Message-Id: <20250531101308.155757-4-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement SWITCH_CTRL register so we should avoid reading or writing it. Fixes: a424f0de6163 ("net: dsa: b53: Include IMP/CPU port in dumb forwardin= g mode") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index d1249aac6136..f314aeb81643 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -360,11 +360,12 @@ static void b53_set_forwarding(struct b53_device *dev= , int enable) =20 b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_MODE, mgmt); =20 - /* Include IMP port in dumb forwarding mode - */ - b53_read8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, &mgmt); - mgmt |=3D B53_MII_DUMB_FWDG_EN; - b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt); + if (!is5325(dev)) { + /* Include IMP port in dumb forwarding mode */ + b53_read8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, &mgmt); + mgmt |=3D B53_MII_DUMB_FWDG_EN; + b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt); + } =20 /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether * frames should be flooded or not. --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3004A23A58E; Sat, 31 May 2025 10:13:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686402; cv=none; b=sCQy+ToX5O65mZcW6BY7RaDF/lF2rfMjt/gCEa/nbx6k+KBzbJg5var5a29D+1JMp4WQK2idg9VZ3ohUV6DPVLuoIHhJ7Bv+Rcnw9vawKBMJnUIM2pTN2wFqvD3/huWGFYsRPubARJQAixuX85WVt7nFZRzf6EKBZd7arFj232M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686402; c=relaxed/simple; bh=iYL0kWo8C57OTblWURhzlRKwScVsjVOvYR5N2tjG1Y8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=LqU20lmKg+Vok4lorrrnK4cnkb4VVkXJ8nTI71LMMgA9nhUtmyuzNxwZOTp7bM3YWTAASSuPnta0iq++Ika3UF04zGkJBnmUH7WvgiBLw1PSl0fAg8AGdGmEMGtaSEq6odixj9+kyHNZl0YIxyeXH7InHfFjYaJM23Oo0rRYxCo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UiEmPxme; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UiEmPxme" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-450dd065828so6688695e9.2; Sat, 31 May 2025 03:13:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686399; x=1749291199; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Vh3R/TzUelfavHKA781XSSQcCKCc2NKqjhPYGHehZcc=; b=UiEmPxmefcd+3NxDM1nA5AN1T2skmC+XamSwR31/qY4tZLG1XSGYDLlR/WQMMnCpDA z/zSPBh2vRrvwgSUht8yL7XFKGuqBTwGDpOcAF/Ww/WZWFVnjl1UsD9sySg1zLPvv1SC 5gRB6bXghyThI6ZOt99P7gbwu3EJTNhUAq7ROYpWXAUjYh9ZOGZYqlBGzP6TI9hl1xb4 aNAtMeycnNhmr0AUX6hgbRNnYbPhS2Ju2Uyy6tPSgNlcf3zhfFdLLCKB1Bl6bMgRDiko 07hy8Moj0k0pnogkzzTaHFQyxHw6KmVXJ5uzCY+Tv/dBDjWy3gjtUp8U0X+POdcG6ys+ xgsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686399; x=1749291199; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Vh3R/TzUelfavHKA781XSSQcCKCc2NKqjhPYGHehZcc=; b=cXrNUmJyNO3zAub3x/SqMxBuVnK5iJzDam2Me4YM2FjH31xqqIp8E09AJcyRwhtOgw 5BMteY2s1lPvZ96Zl962/gIc858AxqW4AG1xDWVgO8Nhiqx2Tws3ZiK0OmbiZ98BMSX2 V0k+h4a/6Bkv1QM0ulVUZKXIrhO4wHiv+FLaaIknBD9jUMJVUSIsEmbqM76aG2UY/LEg gVDyCRi4+CzE6ZwzLySoRhFYc5njPBAwMSQFk9UhBr+Qy9gA6SGrkd8vgFAavpWc0eZw GtQobbXXo3wFqWLy9Q1PWvNydKXedI0u5D3ekyUIv9USTQem3/EUx0XL4Pea57SE5yul CDjg== X-Forwarded-Encrypted: i=1; AJvYcCVD8BIy4qO1DzEIApxyI0LmubzPtd/7P+LCgyQxtYbOAW8Gs6FLiq8CGE/A9T1X/gki43cva+eolf1A+Og=@vger.kernel.org, AJvYcCWnHohYgGBCtxaE+IpnFzJFfbecFLpxG1Tj6dsbHoXlecX7ZCnfTHlJ55/2l/M2/Yj02BCTY/4u@vger.kernel.org X-Gm-Message-State: AOJu0Yx9hnr21u8Rcka72nrX6pW3nSjdxa2hEyhcNtNu3aJYEwlho5M+ xnK92rxj6yg4ssN4tZv8+NK9LDX0h9TEVO17UuujgNR1Nl7vCcxnnBp0 X-Gm-Gg: ASbGnctJUdDvxJv93XxTxLoaW/OWLqjsC56HfavkRDkCacCiwS0oM0vJzAGND+UQU7D Re6OEcD7IM/uLKKSiPcSe6LYK/cpaWtej4fiCqWC0u7FeuYVUWXWWxyKlp0HGgJM2F4QU8Goy45 6dL+4w50KbmYtIfCYLT34Upg44BV/UxyPzCEIIeXBplacpqBBu5yR6p1PpplMSvLrQGJaTCZ7gL XSB86Bp50uuyIDZtR3H/F2tThP8Ewt6FqrtP7nby0h0cFg6vDGL5aCo1zHG823htChZy4WTeSmj hOg+f3Lhwv3OpvzBZRWkNpnY7kz600syaWCEiOgjB2dRttVhm/wbWFJ7ybauzv3wM7d6yR34i1e yuPLHMAxiLyZN87BIC3kcjGVxikW2mC886JEz3vJlwxA13ERyM6cC X-Google-Smtp-Source: AGHT+IGDsr6ifFUyjtVi70suMX9WCC3/QjJkvaQj2LDwz1Cbt6kd6e/IrJ8tt5SNLKqHnQNZc6Y9pQ== X-Received: by 2002:a05:600c:5294:b0:43c:f513:958a with SMTP id 5b1f17b1804b1-450d883b9admr47493285e9.13.1748686398975; Sat, 31 May 2025 03:13:18 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:17 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 04/10] net: dsa: b53: fix IP_MULTICAST_CTRL on BCM5325 Date: Sat, 31 May 2025 12:13:02 +0200 Message-Id: <20250531101308.155757-5-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement B53_UC_FWD_EN, B53_MC_FWD_EN or B53_IPMC_FWD_EN. Fixes: 53568438e381 ("net: dsa: b53: Add support for port_egress_floods cal= lback") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 13 +++++++++---- drivers/net/dsa/b53/b53_regs.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index f314aeb81643..6b2ad82aa95f 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -367,11 +367,16 @@ static void b53_set_forwarding(struct b53_device *dev= , int enable) b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt); } =20 - /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether - * frames should be flooded or not. - */ b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt); - mgmt |=3D B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IPMC_FWD_EN; + if (is5325(dev)) { + /* Enable IP multicast address scheme. */ + mgmt |=3D B53_IP_MCAST_25; + } else { + /* Look at B53_UC_FWD_EN and B53_MC_FWD_EN to decide whether + * frames should be flooded or not. + */ + mgmt |=3D B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IPMC_FWD_EN; + } b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt); } =20 diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 1f15332fb2a7..896684d7f594 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -106,6 +106,7 @@ =20 /* IP Multicast control (8 bit) */ #define B53_IP_MULTICAST_CTRL 0x21 +#define B53_IP_MCAST_25 BIT(0) #define B53_IPMC_FWD_EN BIT(1) #define B53_UC_FWD_EN BIT(6) #define B53_MC_FWD_EN BIT(7) --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E75A23BCF5; Sat, 31 May 2025 10:13:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686403; cv=none; b=ujKK9PnWpfb++T7HRuthB/i4zNP5i59HIoEu5tddE8DWNadnAedntjI1ii2NIMug8zbNWGfefqVLfSM7KmRY2FvQ9utpeJtXjvtNZa5nTfvSuojtvek9xmH/Q71tVTCqSkqfdssUu0+o16D+3JcEerv6n+faqNCIEHzPDuZRZLA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686403; c=relaxed/simple; bh=XVFRmgV0pGlN9XIErmdanh5MPfLR+GksS2fPkb/Rz7s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=ZC7+HFYXAMZQSQAxS2RTGs2DaJwwxOjrCXZZtyNSr9vHVsrRUgA6E1+If0abwEOhnGTWPagNQZlBEDeastydrxM/gUOk3dGTA3HGKC24RW7+INXQ8hrObF9OkvIKVZDlctGtgYPD5Vg43faRP5QMuAQlrgIjXJaBFqQ9GeskrQc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=L78DU7tV; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="L78DU7tV" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-442fda876a6so23338265e9.0; Sat, 31 May 2025 03:13:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686400; x=1749291200; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+zvHYVvOURfl5Z7WOGmCpL3hxIkk/tIzVjNzrR9W/TE=; b=L78DU7tVGFTDGafj6fvSqh4uJ8ritHlqXA7oNcJD1E9Yu15gKj2STfD/yM/Ls965Eg Q1XptTTaGFtZA2uG1ccbSrkyKNscwAziIfQcggw8TndMQnexB+TKKtgNv2EP8t9amHeA Wtd0YHUyPd+C/38V0ceDz5NPj/kZg8oYDK1mrODAswMTtAjya+4xV3bu7AwKjD/pvaFS RXCuBhdirAbr1sMe944KzySaJYjW5wwt0K0TjoZA+sW7VwgPIRlm0+vws/n5LMUGctS4 Dmw3frlMRxGTvlHsDOvnVzuLEwBFShpeXzC3+8vBFFcNMBhhBSVH3YDAcWePUzj8j8pi avyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686400; x=1749291200; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+zvHYVvOURfl5Z7WOGmCpL3hxIkk/tIzVjNzrR9W/TE=; b=tccr9zMJhDDAi24XrYN3x987d5gun2rGVVT9mqvjpU5fgmmhmhZ+FX4P0zc7t7SCJ/ PD06L/8BNEBiNoCnT6aO00fn/I/cwcO+/4dW5a2vxVQJjQo0EopQ/gjsOxXaqhoDlFRF 4jx+YXef44PDqUp7SvH4H64VmUFBhBBtKvfM6HVAD8C+aO7T9yxG6/Qu1p1WeN9Pv9Tx W8R5IL0ii4mRlm5PpTL2sSk+CInnG+PqYMVhSB3NULZIb+q1oLJCGC1quYxXakTjE0OC RTpwNFwyua39376XnTgGZG5pPMzLPOxXa4c//QgwfCDTpXBALeq0iRuPPRQLt3RWEA2y FmxQ== X-Forwarded-Encrypted: i=1; AJvYcCUwH3CZAWH32KmFdYhilha9zwTs/txKVNX3B1YCw/z88LLlU7OQ07y1i45veZryriS2v8TUlDG8@vger.kernel.org, AJvYcCWBtb6jUVitDxz4lbQCsvzMq13FVaMcPn1Rqwf5k/tMcFmt97qvnZzjN/XzMMsYeJYGRHcPH6MRKhH+zrQ=@vger.kernel.org X-Gm-Message-State: AOJu0YycamT4tkG4UCE95g0sYiedGQY/p7IWpCNoEMQAa4KrvfNeZdGs 0i9rTphPSTISscaT2PBp10i2nf3rWKaZ02Bfwy17X1NhEy1cDlV5vMxN X-Gm-Gg: ASbGnctemHd+ik17FkiT4R81+8d/ANoieOti8CEQW6SSVBG0haEychgiUW2se2W0l27 KxL/fL6hPithMroQ72PWoRN6l3prFp8ov7ZTLuSqHgMYZjxgQCN5ODlQrAtO4BXslWQlr/ce3/d sQJXdaIOQc7pkuxo73ct8gIu7shIA81DOYX8uVvJQGi1pAG/K7Gr7rPB7Qp+fJsH39+SNtbGOWp XFZxAddS8TKAluwHv5N1qPdx6gW0NBJuAvgpRHM023JhSIE5A9mBEUhN1MfzPDUOZRR5qFXMtkS 1YESjvgYIJKTeSuqT7OuhRxmFqqiY8IHco98zO6OijW2JN6yLoU9M0dX8a9K/kJhc8/0z6zAk0P ZFptxXsnmCc1sRVvy4mmn+QHFdosd4rdxwvuKKNonXM34OdUBQDO+ X-Google-Smtp-Source: AGHT+IG4SNj2HROMxyKZ9eRynGDDh4tdLTRworQTBkztDD0g8LBmHj9vpDxasmNoOqQFAfXPQubjzw== X-Received: by 2002:a05:600c:8287:b0:43d:878c:7c40 with SMTP id 5b1f17b1804b1-4511ecc26a1mr16471375e9.10.1748686400370; Sat, 31 May 2025 03:13:20 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:19 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 05/10] net: dsa: b53: prevent DIS_LEARNING access on BCM5325 Date: Sat, 31 May 2025 12:13:03 +0200 Message-Id: <20250531101308.155757-6-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement DIS_LEARNING register so we should avoid reading or writing it. Fixes: f9b3827ee66c ("net: dsa: b53: Support setting learning on port") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 6b2ad82aa95f..9667d4107139 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -593,6 +593,9 @@ static void b53_port_set_learning(struct b53_device *de= v, int port, { u16 reg; =20 + if (is5325(dev)) + return; + b53_read16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, ®); if (learning) reg &=3D ~BIT(port); --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9421023CF12; Sat, 31 May 2025 10:13:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686406; cv=none; b=ILbQbVFF04nsuU6p5t7vHPQZ/ifXS8Po6WiUAdyGyOvxth5KF+cFzLOpEU5Y/1j5sLLGzIyoQtk0a19DT+/lilAVz4CxWvKhhAy2lgY1+5dxNxGT7DD7dUn0TZwMDFb7RuQa0llMeJ/XZVFhd8uA2mOjXmMaMJx2E0pzugG2Tbk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686406; c=relaxed/simple; bh=7/YhPWQDvdUVuI/1+XkZrLrSwyD+17gBCz4NIaKyjRo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=qn4kx1pDaGQKnFUj1Lw6YHlSiRy+p9g1QFlQIn3vuZ4vgomeivud24jAqRJv9rtbHa59+cNPqxfsuZrlycW0u5BGBwzeEl6GOD2WFAE6jHgJbmGs88PvFGEgAEoFIprFTLn1TsoIIFH1U7zbNe17ppu/0yOryrgOHV5GXJ1b/4w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=R4oFMm5J; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="R4oFMm5J" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a4dc0f164fso2649642f8f.3; Sat, 31 May 2025 03:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686403; x=1749291203; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ghV/hDhB/JiuYoIk0aNe+BY/iAQV6v1+DxcZO2jXJFU=; b=R4oFMm5J65yYPQMKLWNT5yDs299hsv3rse+tuebDFfkpLjGxYpCtwiJMnOZ8ms7Nv8 axc+dal6q0ohNotnK6jBCiWv1Wq6Zt8PJr6WdgCOEvWIXtXh364DzXKs5sC3riTKTIiS Za46GtYtsGZen0KGV5Z18/anhlIyYd7Pm4KjZBiOwkgd3DMz/u+t2tFzXdiglxt6qGx+ 4k+CwM6ffwVN+xWOuhQYUKa0GscPyIbAQyuwRUif4ktnYDNsmsV8ty0Kj1tPTIvKMt/3 U2H4HwPHGlcF1czuWA5XY9aUtLhYWgkPCxtmEY+g1zDMnAbakCYfs4bKNA3pWSFsaZyg NRQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686403; x=1749291203; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ghV/hDhB/JiuYoIk0aNe+BY/iAQV6v1+DxcZO2jXJFU=; b=Q9uq+NFnzorTF4ktfnrz4/X0NO//oqXdrwHoLgPUEB7i1m4in103Lj7sglsU8Zno6P dAVz/CxGBSIHhoYF2mf8gULqEDyl2wEoxVAkA1PMQru/5uyXsEsyNerS9BvRxRswpRPF 3MdxPPv5MMrynazR+NSE4Bn/02xBDTfW5JHzkbDrVLsadLMDyz1DWOJ1IlNf7RcpZAWr MYxuGTkRaAkjS2goFl5Oww5Bwh3jFCdEST0Ir7xGAdD6XCAdUJxBeb+w40X7We/1Rte9 l3s9coCIzJE28TPrrmSM1vc5XW9rvnexg7TfJcXgKy4Bo2nbjm/mVM6KnXmSlos456Jx EYqg== X-Forwarded-Encrypted: i=1; AJvYcCUuSBfoFr9ASnbKED41iETR6zX3IgUWk7V+/U2pB545JQQI3cc4Z8s/QqBSSsM+eNSZviiAVG6i@vger.kernel.org, AJvYcCVKpR6xNusz4Kcn+3BHDyZKVIAuIbOeEJw4kTXbI+mE7RI3IIin2kBM8cxfb9js+J9aC1+Xry1P2ZDzqa4=@vger.kernel.org X-Gm-Message-State: AOJu0YzIY1tJwj//TnTI99PlKltHH5U6pu7mAh5tiIUU27aw/wP19mpJ LVm5+50rkb1yngFfMqAZjTMAu4m2/GKtxDgsZSheH46VGbs/tehvzGpO X-Gm-Gg: ASbGncv0JJaYJcykzBqo8tHN9W9EgIvaM2TlOyBjubxBiSVHtifccRGPGm6mgVhrZQS cMRqOM7LOoDl0QuIzT1PaWWcpWX+SuSWPR26NiPmt1e9HEwR4d7vO/lIU2KYxMFn8omSlhl3MJK K/MkE8uiRbo3pBAbDYOpTw1gLROymRzeHC32ixe17M708Q0Uegy9YhCiTFQsXlHK+nGY4ZntqNF yThQtgmXfrRQLveRW72bwV5avWNMfgQu9jHUAXv9q0Xei8rq6zU+sH3qiFmlV94m3HLrgWTv13a DPqMkaim77moglNukNnXHtrnQJ8tBRxOb0I+BMUCF52thazFrGzPw9xxbflmvQfu7uP3NI7bwfe AIQjs7VQ+0rs9NH+8tX9wCAMz3F7TCVxJMxfYw6UdQRajDwNSywiXeS2e3LqIRi4= X-Google-Smtp-Source: AGHT+IG/T+QU4syZHvx6Gkj6jYjK8uO5S/YNUbYnYvz0Cibu+su3WnXnTYku6Y+bGL8hnotoT+M47w== X-Received: by 2002:a05:6000:420a:b0:3a4:dd16:b287 with SMTP id ffacd0b85a97d-3a4fe178e98mr997698f8f.19.1748686402763; Sat, 31 May 2025 03:13:22 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:22 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 06/10] net: dsa: b53: prevent BRCM_HDR access on BCM5325 Date: Sat, 31 May 2025 12:13:04 +0200 Message-Id: <20250531101308.155757-7-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement BRCM_HDR register so we should avoid reading or writing it. Fixes: b409a9efa183 ("net: dsa: b53: Move Broadcom header setup to b53") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 9667d4107139..fd0752100df8 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -730,6 +730,10 @@ void b53_brcm_hdr_setup(struct dsa_switch *ds, int por= t) hdr_ctl |=3D GC_FRM_MGMT_PORT_M; b53_write8(dev, B53_MGMT_PAGE, B53_GLOBAL_CONFIG, hdr_ctl); =20 + /* B53_BRCM_HDR not present on BCM5325 */ + if (is5325(dev)) + return; + /* Enable Broadcom tags for IMP port */ b53_read8(dev, B53_MGMT_PAGE, B53_BRCM_HDR, &hdr_ctl); if (tag_en) --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F2A723D2B5; Sat, 31 May 2025 10:13:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686407; cv=none; b=frwrSn82fMpBhSoF4SJ0/58PAQxw5kCw6krHxXp3c4nNQcX+Tq4k30nruw0CMqpRWxtQ597VP+3x75RGlF7hBsegNHk9U50uAgLL8whF69Qnn2EK+jXM2BekAIHW9M28VZindGurzv5UXvtWWfJAx81Y6a+UUy0Zn1aQbY+SgHY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686407; c=relaxed/simple; bh=UPogUaLI9GrsYx9+mRcPUzXyxH5KbPYf6iaCZrW/0jM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=ARITbzg9duGIX+Ou43eG3Ea8aOC7JBnJT1J93dj8fNtT26VYai8Mf/qal3tWaAi93N/x3z0qTWSi3ovFmC7s004JvprRilSEtRCIvWFakPw3sLRRwkHO+i1anT8Mztw1yws1hXZviDIsttihGe2jtGNr3jcv0s8E/CzXYMbJKs8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Gwcmad6X; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Gwcmad6X" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-451d3f72391so225495e9.3; Sat, 31 May 2025 03:13:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686404; x=1749291204; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zFjP+Zg2G7kOQyTgmLTCQiSpHEqYR0UFFWfR0NRaGZ8=; b=Gwcmad6XjjRsW14e/rITfMYfuN2ph3Jc/E7isE+JS0oqcuftMbpI11Hv6VQhS628+K KQOngNrk13AQL1TnNJB2qL9pXkax47rdyDuLkRstGRhW0V2CSulrHFgeeFly24504jU8 gL4jk3XcVd9W/8uimcXX0x2h/v1DeHHc6JGNAW5H2V+ooXJWUjdtlv8GFU2oaCAXAMYH qwcqXGji28TPTIxlpcKb80oTRSu+mWCFYKZzA6r8q/eH+RPvAFGPYjxuM+78K4QspE5X n/RFdTxykJ1QJ/UTd/iubFD/jr2XCMHpi/5cfb3C3iADH3lpiAc3Oqx2S/TgfTZdCF26 7r+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686404; x=1749291204; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zFjP+Zg2G7kOQyTgmLTCQiSpHEqYR0UFFWfR0NRaGZ8=; b=nr9qY339rAb43xUrzVcQB/XJIwfv5M5mV3Tb+2CaryhlwW9Nq/uQs4p6ulnVkkUnDW WLCVdA5m/zVygWqkTyT+UJ4+meshpUtISabRGX6jBoMPYqoUguvwUx8t/vU7yxBGsu2L BkYhCaANSwQcMahWeAkbQlWbN7UIqq+2L73Te4pPfOlX2gF7cK0h7LWtYYjLtUbuPenc +1JrM6IVGO1bw/iimp97BgkbeJeSitAmCTusQCoi68Y0O0690Xxc+1O+7IDtrh07oRt9 m5A16QQWqjY/3MnZj0nkPJmMvhgFWHeNyMaDMhJh6KiKRX/pqh8lXwvAuAdSNpY+riLZ /SSQ== X-Forwarded-Encrypted: i=1; AJvYcCUmviKpqpCvoTx0CJjSuPvKaqTU3XSwVXgeaJB8+SCuBMCYuoV4jUod6P8YNKEXK/tQxRC+5pKTz827+PQ=@vger.kernel.org, AJvYcCW8WBRVYv2etEGDOVzzlAZ3t8PfYXrk+NCRKEOfWJ60WnqsZv7XNR/TXcPz7cdmNMdcoiUu1XNp@vger.kernel.org X-Gm-Message-State: AOJu0YyOKsVNS+si6klrxR3Qm08WoVmHo3lQlRymknks1ynKlzsY6KHr 4XYU0RxdNXpyj2PsDnfanrpfuoymVXjzbfprb5yM51fSy/e27f3e3wS95CJ5+g== X-Gm-Gg: ASbGnctls9CaG1MDsUISsQ7kSORftadx4eb+YbVrFVQSnUf1SQfTnnUk6GRq0VioLWx wfV5fM4Gb3Yio3r4heVPMRyqNr/6Z0JaoBUqF6ch1xbopFG8e8+A97EYA0JRr5alhW6WjdoNofg 8vXdgeaK4Lnc3pWbYXNFPHN+EnLpQ7SHoH4/fYtdphuG9HXIRJ3DvuZxxTv6wvtuffCjfWFEitT t4qM5Hn2H1+TNIG80reHo/CRyjl/p7RWTBM557VDcj5R7Nxt6Ugbh6nHC0K2q6gNTYJ9DYIetTu jyvMVAsPvZPRieXutR3V9a8L9+hWKUNuSBErGQeRfysgW+/69v9qZVcdDrhXg4AXzNFnu4X50l9 J4ckQ3+UeaMzonleLgWX5j4ROz9ql9TyoPz+gJIpKj5YnLNZIeh6r X-Google-Smtp-Source: AGHT+IEOdLROqZFhvh5vTjcQwbtV3FTLF/vN2D5rahFk2RZc1AswBX2qrnbhU0CeB+VezLLn39NS5g== X-Received: by 2002:a05:600c:8206:b0:441:d437:e3b8 with SMTP id 5b1f17b1804b1-450d8867115mr44456465e9.23.1748686404015; Sat, 31 May 2025 03:13:24 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:23 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 07/10] net: dsa: b53: prevent GMII_PORT_OVERRIDE_CTRL access on BCM5325 Date: Sat, 31 May 2025 12:13:05 +0200 Message-Id: <20250531101308.155757-8-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement GMII_PORT_OVERRIDE_CTRL register so we should avoid reading or writing it. PORT_OVERRIDE_RX_FLOW and PORT_OVERRIDE_TX_FLOW aren't defined on BCM5325 and we should use PORT_OVERRIDE_LP_FLOW_25 instead. Fixes: 5e004460f874 ("net: dsa: b53: Add helper to set link parameters") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 21 +++++++++++++++++---- drivers/net/dsa/b53/b53_regs.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index fd0752100df8..387e1e7ec749 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1278,6 +1278,8 @@ static void b53_force_link(struct b53_device *dev, in= t port, int link) if (port =3D=3D dev->imp_port) { off =3D B53_PORT_OVERRIDE_CTRL; val =3D PORT_OVERRIDE_EN; + } else if (is5325(dev)) { + return; } else { off =3D B53_GMII_PORT_OVERRIDE_CTRL(port); val =3D GMII_PO_EN; @@ -1302,6 +1304,8 @@ static void b53_force_port_config(struct b53_device *= dev, int port, if (port =3D=3D dev->imp_port) { off =3D B53_PORT_OVERRIDE_CTRL; val =3D PORT_OVERRIDE_EN; + } else if (is5325(dev)) { + return; } else { off =3D B53_GMII_PORT_OVERRIDE_CTRL(port); val =3D GMII_PO_EN; @@ -1332,10 +1336,19 @@ static void b53_force_port_config(struct b53_device= *dev, int port, return; } =20 - if (rx_pause) - reg |=3D PORT_OVERRIDE_RX_FLOW; - if (tx_pause) - reg |=3D PORT_OVERRIDE_TX_FLOW; + if (rx_pause) { + if (is5325(dev)) + reg |=3D PORT_OVERRIDE_LP_FLOW_25; + else + reg |=3D PORT_OVERRIDE_RX_FLOW; + } + + if (tx_pause) { + if (is5325(dev)) + reg |=3D PORT_OVERRIDE_LP_FLOW_25; + else + reg |=3D PORT_OVERRIDE_TX_FLOW; + } =20 b53_write8(dev, B53_CTRL_PAGE, off, reg); } diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 896684d7f594..ab15f36a135a 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -95,6 +95,7 @@ #define PORT_OVERRIDE_SPEED_10M (0 << PORT_OVERRIDE_SPEED_S) #define PORT_OVERRIDE_SPEED_100M (1 << PORT_OVERRIDE_SPEED_S) #define PORT_OVERRIDE_SPEED_1000M (2 << PORT_OVERRIDE_SPEED_S) +#define PORT_OVERRIDE_LP_FLOW_25 BIT(3) /* BCM5325 only */ #define PORT_OVERRIDE_RV_MII_25 BIT(4) /* BCM5325 only */ #define PORT_OVERRIDE_RX_FLOW BIT(4) #define PORT_OVERRIDE_TX_FLOW BIT(5) --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C76A23E347; Sat, 31 May 2025 10:13:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686409; cv=none; b=Sg8ixCs+IofpJXf5KV34LecfszvbRb3O+zKMHi5rK5lnp3JGy8v8RrxH8pnoXkZ7CwmbI1uvWA23IgxZ6pDjPEgB5Xo3VppsWrqaOIxL3QJzcLxEYHljy40dZJtP8AMBBawxOScHKIvO6iCrYw3QJNMdWo9c7NqXZ0uORJc+A8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686409; c=relaxed/simple; bh=bD4v3rEjOHD7pBG0pLzi4E/mT/KKCwu/auYMdQPIe/o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=ZBuQCkn/x7UbP6JHgEmzZI0PQynceWD58nKS5uhjDC5Txhim9VFOOZmsxZEIBW3hbljsSvwIMy7M4+TIoBkcWpsFhv3lf/ab6JJx8xRku7S7TPY7n/73VV5Wjx+5LoQVwjQ2DQ0EYrFRyA2aY3VfbmQkG/ux2B2jsIZt4/qmdWc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ViTUJIq7; arc=none smtp.client-ip=209.85.221.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ViTUJIq7" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-3a375888297so1662956f8f.1; Sat, 31 May 2025 03:13:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686405; x=1749291205; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zx4iJkMCoRJ2ebLIbOi4KlVLh5jV2VPfAaSVfx0MI7k=; b=ViTUJIq7aUz+bfbL7ehCEljMZw/bfIojsyIcTWQBus/7NPll5Dt5vGncKaTm/TUHK2 /HyGDx/Z7lzd80s2GZeYV7amcoODFjlMr2HywIf4r/j7ia/BbPleh1JJqg+x5AZVFvs5 1/95HhXoWOAjxHzol2OGX4FbSBXnbZ4GFvJVf+0Z6PmT0FGtL5SsGlomrRzEntfpFTeS M9tEzdJRQV3rZ3tSc0I//99ovCDBHugXf4oiJhkHalqWKBr8Q/gicEPqIzvqQTgktKEs VlGHTEOoXmOdNIzucCH6Cf2lhUChzQZ/obxzR0HwV02NS/fHTkiIq58EUHgQ+TK9cCRb cnZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686405; x=1749291205; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zx4iJkMCoRJ2ebLIbOi4KlVLh5jV2VPfAaSVfx0MI7k=; b=Y9NLjpZHbAeTf3/FTA1tQWxmPyNfu9BooCcNpButYeMdBbxl4sFVz0ANb6Sz6olMb1 EDslFzByUO0ET1IhjfiS6QRmhLlSgOzFR35l1lfVf9BQQdnplVDzqDyFQpxOieDqa7+5 Q8YFdRZfMMeRI4m5Qf4aoLThvdINxgJk7hWbWpsKm6G7ClJP0ZVywuw25bQ4YHMO4Rn9 9oFyX/jmtAFNbPv9o4fe6IKc/kdOWpWlnEdSeQLYhLZDHNI+15DxRkuruZRwrJmdjDAm cqotSZ14GJ7QQfWiz1CK1Rl4KLA9zM+HEsr1MGHUCdATD8+P9EtTMl26+D7Hu0SSedIl IYjQ== X-Forwarded-Encrypted: i=1; AJvYcCUNTseXOUk+Bd98JJkCAIZCZ8uNaaYQ94BuNxhgaiB6PreWqrLvy8zZK+L9Xm7cQdKH/LfGLe6C@vger.kernel.org, AJvYcCX+aq5ho/PKrTpE2TdRCHW4t31pn1ETmDf5/n82gdrM+KNWZZnEOF8/TPnmjzj9svU9Liy1P5l9OGbXhYw=@vger.kernel.org X-Gm-Message-State: AOJu0YyZUCB/uHh/T6ewFG+AefbwFox9DBKfzh65Ux2dGYiXE6C7Acfq C9xVNKiJNMZMu1V2NbEZ1kf4BL1nqzeh0kFXMGjlRKlKpL3inqSIyMeY X-Gm-Gg: ASbGnctjOCt2dl1yiSzqjYv6+qjZ0Qx3O0x7FiKYA0tSc016DJS5sj4+/kmBPZFhcwp aMV/UOMalxbwYgJIHNnt2etmFSt1P/+YWqrk/NwCzwc+3rNmH48LIyZkU5YFqenZUTnBo2rOQx/ /4QRWhorLFS4kZpDHp43YU51d+DVNGNg5ln2eInU3GkUWSJ01A/8fC7J7EAHnC/njy2At4L8nCB L5Ep4kui3saFecW5gvvx+AaTCbSXdY2xnadMLLyPcP+244nppHpLxm9ZKR99h5YlrZnJljlTfIP DgIm4fonb2Q1Qq9ggmTlQzKRwzaZtOe6WPvbtSEQIdmhDVpVttf3rfLz/UKb/KpGnr9uZnaKfL2 BdPwniM6RBLp1O3St5N7uU3Z4k1GJLwQiyrQUxjkbaibqaOnsmypDDttSGWitCxw= X-Google-Smtp-Source: AGHT+IGXWYOmOy4eaq+vw7hMeYOgIea4+jZ3G2ejxJrvD3nHs321mTWGMsM/ADWz9C53sBJ8lJSIpA== X-Received: by 2002:a05:6000:18a2:b0:3a3:70ab:b274 with SMTP id ffacd0b85a97d-3a4eed99115mr9109768f8f.12.1748686405345; Sat, 31 May 2025 03:13:25 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:24 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 08/10] net: dsa: b53: fix unicast/multicast flooding on BCM5325 Date: Sat, 31 May 2025 12:13:06 +0200 Message-Id: <20250531101308.155757-9-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable BCM5325 doesn't implement UC_FLOOD_MASK, MC_FLOOD_MASK and IPMC_FLOOD_MASK registers. This has to be handled differently with other pages and registers. Fixes: a8b659e7ff75 ("net: dsa: act as passthrough for bridge port flags") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 85 +++++++++++++++++++++++++------- drivers/net/dsa/b53/b53_regs.h | 38 ++++++++++++++ 2 files changed, 105 insertions(+), 18 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 387e1e7ec749..d5216ea2c984 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -560,12 +560,36 @@ static void b53_port_set_ucast_flood(struct b53_devic= e *dev, int port, { u16 uc; =20 - b53_read16(dev, B53_CTRL_PAGE, B53_UC_FLOOD_MASK, &uc); - if (unicast) - uc |=3D BIT(port); - else - uc &=3D ~BIT(port); - b53_write16(dev, B53_CTRL_PAGE, B53_UC_FLOOD_MASK, uc); + if (is5325(dev)) { + u8 rc; + + if (port =3D=3D B53_CPU_PORT_25) + port =3D B53_CPU_PORT; + + b53_read16(dev, B53_IEEE_PAGE, B53_IEEE_UCAST_DLF, &uc); + if (unicast) + uc |=3D BIT(port) | B53_IEEE_UCAST_DROP_EN; + else + uc &=3D ~BIT(port); + b53_write16(dev, B53_IEEE_PAGE, B53_IEEE_UCAST_DLF, uc); + + if (port >=3D B53_CPU_PORT_25) + return; + + b53_read8(dev, B53_RATE_CTL_PAGE, B53_RATE_CONTROL(port), &rc); + if (unicast) + rc |=3D (RC_DLF_EN | RC_BKT_SIZE_8K | RC_PERCENT_40); + else + rc &=3D ~(RC_DLF_EN); + b53_write8(dev, B53_RATE_CTL_PAGE, B53_RATE_CONTROL(port), rc); + } else { + b53_read16(dev, B53_CTRL_PAGE, B53_UC_FLOOD_MASK, &uc); + if (unicast) + uc |=3D BIT(port); + else + uc &=3D ~BIT(port); + b53_write16(dev, B53_CTRL_PAGE, B53_UC_FLOOD_MASK, uc); + } } =20 static void b53_port_set_mcast_flood(struct b53_device *dev, int port, @@ -573,19 +597,44 @@ static void b53_port_set_mcast_flood(struct b53_devic= e *dev, int port, { u16 mc; =20 - b53_read16(dev, B53_CTRL_PAGE, B53_MC_FLOOD_MASK, &mc); - if (multicast) - mc |=3D BIT(port); - else - mc &=3D ~BIT(port); - b53_write16(dev, B53_CTRL_PAGE, B53_MC_FLOOD_MASK, mc); + if (is5325(dev)) { + u8 rc; =20 - b53_read16(dev, B53_CTRL_PAGE, B53_IPMC_FLOOD_MASK, &mc); - if (multicast) - mc |=3D BIT(port); - else - mc &=3D ~BIT(port); - b53_write16(dev, B53_CTRL_PAGE, B53_IPMC_FLOOD_MASK, mc); + if (port =3D=3D B53_CPU_PORT_25) + port =3D B53_CPU_PORT; + + b53_read16(dev, B53_IEEE_PAGE, B53_IEEE_MCAST_DLF, &mc); + if (multicast) + mc |=3D BIT(port) | B53_IEEE_MCAST_DROP_EN; + else + mc &=3D ~BIT(port); + b53_write16(dev, B53_IEEE_PAGE, B53_IEEE_MCAST_DLF, mc); + + if (port >=3D B53_CPU_PORT_25) + return; + + b53_read8(dev, B53_RATE_CTL_PAGE, B53_RATE_CONTROL(port), &rc); + if (multicast) + rc |=3D (RC_BCAST_EN | RC_MCAST_EN | RC_BKT_SIZE_8K | + RC_PERCENT_40); + else + rc &=3D ~(RC_BCAST_EN | RC_MCAST_EN); + b53_write8(dev, B53_RATE_CTL_PAGE, B53_RATE_CONTROL(port), rc); + } else { + b53_read16(dev, B53_CTRL_PAGE, B53_MC_FLOOD_MASK, &mc); + if (multicast) + mc |=3D BIT(port); + else + mc &=3D ~BIT(port); + b53_write16(dev, B53_CTRL_PAGE, B53_MC_FLOOD_MASK, mc); + + b53_read16(dev, B53_CTRL_PAGE, B53_IPMC_FLOOD_MASK, &mc); + if (multicast) + mc |=3D BIT(port); + else + mc &=3D ~BIT(port); + b53_write16(dev, B53_CTRL_PAGE, B53_IPMC_FLOOD_MASK, mc); + } } =20 static void b53_port_set_learning(struct b53_device *dev, int port, diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index ab15f36a135a..b0a7ba3d9b65 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -29,6 +29,7 @@ #define B53_ARLIO_PAGE 0x05 /* ARL Access */ #define B53_FRAMEBUF_PAGE 0x06 /* Management frame access */ #define B53_MEM_ACCESS_PAGE 0x08 /* Memory access */ +#define B53_IEEE_PAGE 0x0a /* IEEE 802.1X */ =20 /* PHY Registers */ #define B53_PORT_MII_PAGE(i) (0x10 + (i)) /* Port i MII Registers */ @@ -47,6 +48,9 @@ /* VLAN Registers */ #define B53_VLAN_PAGE 0x34 =20 +/* Rate Control Registers */ +#define B53_RATE_CTL_PAGE 0x35 + /* Jumbo Frame Registers */ #define B53_JUMBO_PAGE 0x40 =20 @@ -368,6 +372,18 @@ #define B53_ARL_SRCH_RSTL_MACVID(x) (B53_ARL_SRCH_RSTL_0_MACVID + ((x) * 0= x10)) #define B53_ARL_SRCH_RSTL(x) (B53_ARL_SRCH_RSTL_0 + ((x) * 0x10)) =20 +/************************************************************************* + * IEEE 802.1X Registers + *************************************************************************/ + +/* Multicast DLF Drop Control register (16 bit) */ +#define B53_IEEE_MCAST_DLF 0x94 +#define B53_IEEE_MCAST_DROP_EN BIT(11) + +/* Unicast DLF Drop Control register (16 bit) */ +#define B53_IEEE_UCAST_DLF 0x96 +#define B53_IEEE_UCAST_DROP_EN BIT(11) + /************************************************************************* * Port VLAN Registers *************************************************************************/ @@ -478,6 +494,28 @@ /* VLAN Port Default Tag (16 bit) */ #define B53_VLAN_PORT_DEF_TAG(i) (0x10 + 2 * (i)) =20 +/************************************************************************* + * Rate Control Page Registers + *************************************************************************/ + +#define B53_RATE_CONTROL(i) (0x00 + (i)) +#define RC_PERCENT_S 0 +#define RC_PERCENT_10 (0 << RC_PERCENT_S) +#define RC_PERCENT_20 (1 << RC_PERCENT_S) +#define RC_PERCENT_30 (2 << RC_PERCENT_S) +#define RC_PERCENT_40 (3 << RC_PERCENT_S) +#define RC_PERCENT_MASK (3 << RC_PERCENT_S) +#define RC_BKT_SIZE_S 2 +#define RC_BKT_SIZE_2K (0 << RC_BKT_SIZE_S) +#define RC_BKT_SIZE_4K (1 << RC_BKT_SIZE_S) +#define RC_BKT_SIZE_6K (2 << RC_BKT_SIZE_S) +#define RC_BKT_SIZE_8K (3 << RC_BKT_SIZE_S) +#define RC_BKT_SIZE_MASK (3 << RC_BKT_SIZE_S) +#define RC_DLF_EN BIT(4) +#define RC_BCAST_EN BIT(5) +#define RC_MCAST_EN BIT(6) +#define RC_DROP_FRAME BIT(7) + /************************************************************************* * Jumbo Frame Page Registers *************************************************************************/ --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4982A23F405; Sat, 31 May 2025 10:13:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686409; cv=none; b=aXswev9tVTF0uoYNGmR7WXeTcRCBnht+/sHomYSI9bnZLEe14zJ4z6GJfBMLNY9dYRTq2mof04XpruJyC1TT6GCznDPqA1tdJRapy5UCfhZV4KDEJu4ZFhBYsM71P1Qzi1WXqX/KVogXdquW/T6Y4cLmwT2VcUcl9laFoSZRyyI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686409; c=relaxed/simple; bh=UpNy+T/jEeXU+1/iDHTBtU2p5viCTPkkNk3fmI9mJGc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=q+M7QC5ypCxXHCIxQQ4U04VN+8Vgy0dwZ8McCWykApu16BpYnJIzp7Z8oJjdTbc7R0kXjbLN4jNAW1tM1SuSp1JfvXMqOhMYobUsYxYI7IIRnr1L2un55aUnRN1Y1NeEgY3am0q33x/2Xv2/Cshy4VvWOUAV+oa5yxHNvQ8IUt4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=N2E846Cn; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N2E846Cn" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4508287895dso21790455e9.1; Sat, 31 May 2025 03:13:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686407; x=1749291207; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/UR8qDTsnmdHS6jO91Tr00ab8YJ0mbEjDWTOADy+HJM=; b=N2E846CnP+xfAb1q9MHYWY/VdOlKwVJSq7TUYJIBXebcq+Tj6UrMOAvLBJDyRqx2Y9 XwIxEbqsrZ8u7hrwr6/UtSJWHdnVjpX2bpRFwzU6TkvO/yHwH6SK31RYoctcDmgKkgfl BBjmqtCGRaBDTLaRmCQRjtZdH+mrAZaGr5msjoRfiSuQyRcKl6z6/3FHi3HWnf7Gb+fo HFoi6RNyOhETwv+96Gk7p02fDOKGmVfKM5cN9utl0P1YCh5XJsII2m4zCLFd91MBOf7w pCIVQecIXl9qMfOJDCnVgyGBSVldQ+qXrOYR5YcNNeu9MUMMeyYbZutBxx7pAUEO6y6o mAUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686407; x=1749291207; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/UR8qDTsnmdHS6jO91Tr00ab8YJ0mbEjDWTOADy+HJM=; b=hT36wL9L9E+ullw1lwJYax+YAPHLvtWrPW6J0HUgcSIyZZjwlsB7MkrSNJiTI0iRYZ 3H/Hf3UCmdnFDO+ueuRjzJRooGE/Am00HVLEdw/oej+gY/qsasG7PjhPY4IOh4CySECz hh5UgYbE+S0PIjLfW++B+0G9EnFtvtsTVZRuDDCH7eyhqa5Nnfk3nPGuGB1dSD14HygB Mq76MXJdr4bKiLJfWRAp5sPdttP4QaoRT1Objzzt4a34jmcCryxiBKOLpZnAV8D7T9DL fM6b139huoEVBLu9emMG9NAQ5uwTr2Ab+Ztjq/U2OvpUIlwGgGFUPcV1yYda+lsR6mpu HQYg== X-Forwarded-Encrypted: i=1; AJvYcCUvYIpxdWXHwjNzpoqzcFMK9zwxgMP5p62xVTZxDp2u1/6foDe5+EA4qdWrd3lFG0KfNcQCtPaw@vger.kernel.org, AJvYcCW+Mps6qb7/7x/Q8TspWSsJvSHdj8vhVvvsFqbVxD4qa2/CdYmNWMIJs2qen2ZGHdZDJTPHVsRUJzdWcqw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+TRjau3zQqNIbQJ/5S+YRkgMqh98GW2Hj5m4Fv/LTr+M+lOzS BI+XbeMFf/dA1Ze8O8nB78If05OKI5PLUXlgkJZBqCzisBszTAnLR8K+ X-Gm-Gg: ASbGnctiq6qyOuBUvR/dlaRyfz4pAkb7l+ooAV40vTT6Kze3BH8FGuBLwTlRTuhYD+O mn0DnfxYzEBgpfsHc1E3EPP91dIEJr00WFVGt6rpfIXk7YmyTmVGkNN7zhHEyYS7ZMu49W70oG6 ssgtrickSY5l3+gU+/ybqmmGLiahTHwITn8pNR46isiS8jAf4QFw5qqHgnfaRfi5AOuy3H4A9aq xQ966kCSScICIvoiVHIBUfc5P5eEa0M7dfQ0hD8uGqbqEvRm1xK+1OwzPSV/66PIm54xU7sLXFD 73gbgv5PR4QIOhAL5HiNMtBLKe+2JQhUxUjiwGQXq/8NTzQ0hRtMJK20PBbieuSRqJG70Cnh7D4 ZpdTqsM/72gUm5XeEvZY8D2zO0QP+sDl6Pz2AVxQgn8dWIPKHicgS X-Google-Smtp-Source: AGHT+IHu7dyYTJKj8oSLt/gG35ZMcoa2d/i2amrHpzYkdvrMMnM30Dnc/vOgmcQTBNRJdZD/kUDOXw== X-Received: by 2002:adf:b356:0:b0:3a4:e238:6496 with SMTP id ffacd0b85a97d-3a4eedb8aabmr6875064f8f.18.1748686406581; Sat, 31 May 2025 03:13:26 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:26 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 09/10] net: dsa: b53: fix b53_imp_vlan_setup for BCM5325 Date: Sat, 31 May 2025 12:13:07 +0200 Message-Id: <20250531101308.155757-10-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable CPU port should be B53_CPU_PORT instead of B53_CPU_PORT_25 for B53_PVLAN_PORT_MASK register. Fixes: ff39c2d68679 ("net: dsa: b53: Add bridge support") Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index d5216ea2c984..802020eaea44 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -543,6 +543,10 @@ void b53_imp_vlan_setup(struct dsa_switch *ds, int cpu= _port) unsigned int i; u16 pvlan; =20 + /* BCM5325 CPU port is at 8 */ + if ((is5325(dev) || is5365(dev)) && cpu_port =3D=3D B53_CPU_PORT_25) + cpu_port =3D B53_CPU_PORT; + /* Enable the IMP port to be in the same VLAN as the other ports * on a per-port basis such that we only have Port i and IMP in * the same VLAN. --=20 2.39.5 From nobody Tue Dec 16 22:10:49 2025 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1DBA241664; Sat, 31 May 2025 10:13:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686411; cv=none; b=Y6lUfuHelDD5P1qhSlhYf2V4vx7ao5mhetKp4wpsjEWIc2VssA5xpi7soDYo9J9pyUA8GR8xc1349+vObzn+mAB+iyw1RKEga20LAaAjHfOjPM/jPvIJrzOVlO1s672KlOmKCmofGQS1XdWx7NANzmJ1lcsLEWDNN1r8nHPBHnE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748686411; c=relaxed/simple; bh=LS49dlVCVfhP+stRhRD81356ZmEOJJqyVMdjDTH3+Bs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=rRQeSnvYjK2fDlpZNi5j9mLmdDovs7JIfNBq6RusAdzngcAGh5sJh2SZbCAEd/8xcUwxqcL6NVf+/w38bE/MIR9I+j7bERXELWgDb0CAX/8LxgM9inObVtLLuaw4efqtMBKi9/bPxBGo4l3MHsfMQ2eYZyIRJKVzAb3eLoAx4O4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Xkp0Bo2y; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Xkp0Bo2y" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a36748920cso3102246f8f.2; Sat, 31 May 2025 03:13:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748686408; x=1749291208; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tq1QgWecPXKEOWBa1UyGhmKV+AVmn4AYKr6Ka0MIC54=; b=Xkp0Bo2yNFf/3upmTCzF9bVz3/Vofy2VJokUf2xsrWUheOgwf/uixRKmfFhRyyMgLZ uhSN2ijd7DMDyRkaorbTrux9QVFl4rx6xaG0HxDh9MgoKV5xTtexYRqr1gmx4kTGnA8J ZQQKUZjaBWdOmxtGVkvdFwKZAt7zyoIWa1qzJpCD1gzs3jkPnCkX0HmOW4I1Mm5em5HJ sNw8T1G8Ark4NPEmy8E/fILA5oyDrm0ULCoS+9ZUoHqu3YbTxuZXSmSWTnjBBmJiwLJg znauhsu9X8BpaAaPcGhIGUKedJ9Sg8kQ4NKxVoJ4AuLPuLmZheUjaKQk/5z4uT5jXcuU nl4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748686408; x=1749291208; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tq1QgWecPXKEOWBa1UyGhmKV+AVmn4AYKr6Ka0MIC54=; b=QISP05l9e7jVCLXHDOYDTVeNtRXeMdCo9Vl+KvOm/1o+TFWurqjjSo5Lcyz/oje2Ap l/hmKI1Jq5xdGKwKBcAocy4ajVf288Ml38YOtLA4n9SY/AFNtJpowkjIRBXK/2pxQNwN A0kuKHw/ta1siNLE/H3n43jLc7xxHHgj2vqkQfiy15mArbRXxuDN2I3SgRz603YxoeWq hMevm5oucyuCeKd8GnjkXmlVWRVL+LBO/pMH+6QoPiRhguPk02neN3UeyoNG6POaOq01 wlDBQBdONaZv5dOCg/9MQNdfisJK/avAhfW2h/XrJn4tM0aGtdKkEAW/FacreS19FXts gabQ== X-Forwarded-Encrypted: i=1; AJvYcCUk+wkJQB24VN41Mk7uQGWYmQLnXXlCs65OFZ3Y4dSWiZ2ISoTiURz8eYCx37/Mg2Kl49pnNSZ3NFZ0Ivo=@vger.kernel.org, AJvYcCVy1DPCW00tj5slDCactmm6h5u9TGwUCDWx9TikGni8WKhEzuN3fsSeseH65J+GYrIHFTX9ML9X@vger.kernel.org X-Gm-Message-State: AOJu0YxFd4bJq742bGEe/MS8OE2A+QQzeU8Q85Tv9EpE29hUUeZtt9jV Wc+Ohh4yvi3cEg6c8Vj4T3SkXJRYrYxu1amfHKOspmY9JllLmrt+lcgc X-Gm-Gg: ASbGncsMn80vWaMWCrN+a3q93TxkoFRdcnCXA+F+nRjYNI9fe4syL8RnPHt8yp6jRsX hBmSPx3HK9wO7YVSC2qUEt5I1s/Esz30FnXfJibLjZTirXZ+nV9ubqI9ICueXXxDI+bNK5HYkq4 8lT8vuM5SdURkbYJZf166il2T7vwdpZ2jrn6BoweTDTaOCDJgE6Un0aS0kuOTtOe7Fc5TjoDxrV SKhta/xuJDVXaz23PoofWQ92TpdkoMho8ElG7biMLSfmz2+QyMU/hIlycGfr6yiuyK5VbDwpjPY j8T0AyaevmjaRf4mp05hIADx26z+xzt2YQCTtZ/n1j0OBxA+m7cA8TYyt9VjYmUW21wlWQtiiZ/ W0mtO5WWyRDV1yjyEKC2XA7Y4muP80tBe6torVZo3FmWsf2i5egxK X-Google-Smtp-Source: AGHT+IFq1s/33PU9NhVhaQIXLsSfqaM0L5mQsKy1IdijhQBIKAlU8lKlp8Te8KHbzSrKWn4AeqH/9A== X-Received: by 2002:a05:6000:2dc6:b0:3a4:dc32:6cbb with SMTP id ffacd0b85a97d-3a4f89cd26dmr4137946f8f.31.1748686407933; Sat, 31 May 2025 03:13:27 -0700 (PDT) Received: from skynet.lan (2a02-9142-4580-1200-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. [2a02:9142:4580:1200::8]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450d8000d5dsm44500205e9.26.2025.05.31.03.13.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 May 2025 03:13:27 -0700 (PDT) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: jonas.gorski@gmail.com, florian.fainelli@broadcom.com, andrew@lunn.ch, olteanv@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, vivien.didelot@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dgcbueu@gmail.com Cc: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Subject: [RFC PATCH 10/10] net: dsa: b53: ensure BCM5325 PHYs are enabled Date: Sat, 31 May 2025 12:13:08 +0200 Message-Id: <20250531101308.155757-11-noltari@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250531101308.155757-1-noltari@gmail.com> References: <20250531101308.155757-1-noltari@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable According to the datasheet, BCM5325 uses B53_PD_MODE_CTRL_25 register to disable clocking to individual PHYs. Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas --- drivers/net/dsa/b53/b53_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 802020eaea44..7b786d0d14cd 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1299,6 +1299,9 @@ static int b53_setup(struct dsa_switch *ds) =20 b53_reset_mib(dev); =20 + if (is5325(dev)) + b53_write8(dev, B53_CTRL_PAGE, B53_PD_MODE_CTRL_25, 0); + ret =3D b53_apply_config(dev); if (ret) { dev_err(ds->dev, "failed to apply configuration\n"); --=20 2.39.5