From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.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 F3D342D47E4 for ; Fri, 28 Nov 2025 08:06:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317201; cv=none; b=NvedatJFXxYV9bP5QvyGOEeDJ/v41yLW5CFG+bsp8HcRKuzDTjmOQcxWuFDrkZDP5ex3o3PdYTZ8+xzSTIjnx0bsAGXrmfPzXvKmTenS6cvey15jtZrE+islJXqFl+hvIRa5Xlq6ehPLuztoPpAHWblA+r+pptlnCay1wnnULjc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317201; c=relaxed/simple; bh=VEDn59HYgwSpM5f6SpHVK4Qn6/wZXasQ2aEaJSrhMnI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=o7NCrSIeVaev4UqficV/4mkiP0x8zdsNp85qmEukfbuh6IdfU4sI9PMASIE4HOY0SzCDhP0RP3kAAr2Lx4XH84V/gxGdG2WavposkWhGi35FLho3Bm1nyB1LxidsXDNzaLEwwI2SihedRySlJo6ogaIyZKO3WYys1VKsR1Tw50A= 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=lA3yD3H7; arc=none smtp.client-ip=209.85.218.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="lA3yD3H7" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b72bf7e703fso283225066b.2 for ; Fri, 28 Nov 2025 00:06:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317198; x=1764921998; 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=MCdEW5DYSpMlm0kBp+GwmfbQeNzwRoQFikLTDV4j5ys=; b=lA3yD3H7ee7FYQ6JtBKZjRz/l8MF5fuktU5hsdU7U1JsHPSrY17qKBHmUyAlCHVaQL yhKuGL4ji/jlgmatV/czm6CAoyyNeijl0B6ghzQ/WvmbgwkTlnU42Hwh1/JVz959qhEE pUjbyWWkMzO9XWwQlTDSCzwCBHmR4C+JCW0VQUky5qYp4OcqHLa+a0mwfD4QCkKFfeH7 MYAGUvWen2Ah4v1KFTJR89BOfBFlEGbeMHsyo7ZQl45f3akdMcYFLaUef2MRQkNExNZO n4t7iyoZoVW4/ZOAHVFx0j8E+3ELmLidP1+3c92kqmeILdfkH91l7caacwgJccOAeWZU Mu9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317198; x=1764921998; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MCdEW5DYSpMlm0kBp+GwmfbQeNzwRoQFikLTDV4j5ys=; b=KVguMpvSiBHb1I1FZhn/Hd7dnLWldcGDtTNgHAqGIBwSJMKjBlobkwSsVbX7cGXCfY bBd3QSFcjo4QUPoMApyHkHpgVIH3sgWB2DyFzhmUWo5jDo1Xq9lS2Zf/FH70anqBvwVU zDbH/ystjqpTyPDnueAK84saffU+03QEnKgIGi2nOOYL27xGJpBBwICEsI+YmcIEItAH 4qkLWdOxgAThs1FoDli3gNc80zKu9TYcMGJoVBcegbrtPEKWDxdkUaPhBNI9JUnkLIg7 tNTGOd1Y5bCy9Zn9Eq7n4/zeSILKb8X0fxdeDwWZY+LIKTqd5DPPIQbupck9w/EDrOTs kBNQ== X-Forwarded-Encrypted: i=1; AJvYcCWbN+qfyAX5nYV/j4QOu4gXlvLvvu3SjQ/m/QusxuypS0gvjsl3XJngnWE7EXj5SVuM7SaWL6BecsDf4Jw=@vger.kernel.org X-Gm-Message-State: AOJu0YxYbJ4yw3uHsT1RnWCH3KorQDOHKjIdGZ+orP/hYfR6PgEbjbzH H9UDzpKDruxhy6QBaf+5VbWMmz+cstrg/S+frO+scHPYw9lCuBeRuXJG X-Gm-Gg: ASbGncttXLxIzS8Kmmd4Non+ovQ2zf36piEMsno1GeaxlWZDm+AWNn6CNKiyB6DzsRm 35rTt3+yGlQdWLukxuPPja/VVN7w2VBtS0m9DyWIQv+Z23LlaENAh61DTpSHnFEULgt/y7/rg0x +7mqVkbd3SKzEWG6G5fOSVGw1PRjyvhXAwDfh7t0F5ZR/rrKCoAqVfJnn3wBJlhXT3QRnbRBfLz SzRCNfIcGusgjA/LechQt/Ci2O3ROaId/KNLb86OQV2fPOfJNqinbZnbhywmroY+Gqk5maFd7yz FyjiAfe1+vxPH1DsZaXNp9WE25ycllR0H9J4VymRB3knxU43voVqku03kufyqV317i2Gz7IwYWd w9T9q6OkdA8O5IHqqkTnnBUsEtraTKeiKN+hmpS7XPe12BtDlLaRSaWe4ZTmwG6cVTdWeRNFi4z PGST1feYPEprI0g1pA9z8GftgiKrOUuC/l8eP+8b/oZalJapVxJTnlwy5lRjX30XRUYQ8= X-Google-Smtp-Source: AGHT+IH+UVopUS2x7a795UVxoRCFv7mI1dfXMhCfhcbrk4IUDks2nQnPlAxE/Mp4oB+QM8OFgVwuyw== X-Received: by 2002:a17:907:72c9:b0:b72:9d0b:def4 with SMTP id a640c23a62f3a-b76716fcbaemr3251164166b.18.1764317198097; Fri, 28 Nov 2025 00:06:38 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5a7afb4sm374880866b.70.2025.11.28.00.06.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:37 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 1/7] net: dsa: b53: fix VLAN_ID_IDX write size for BCM5325/65 Date: Fri, 28 Nov 2025 09:06:19 +0100 Message-ID: <20251128080625.27181-2-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@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 Since BCM5325 and BCM5365 only support up to 256 VLANs, the VLAN_ID_IDX register is only 8 bit wide, not 16 bit, so use an appropriate accessor. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Reviewed-by: Florian Fainelli Tested-by: =C3=81lvaro Fern=C3=A1ndez Rojas Signed-off-by: Jonas Gorski --- v1 -> v2: * added Review tag from Florian * added Tested tag from =C3=81lvaro drivers/net/dsa/b53/b53_common.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 72c85cd34a4e..7f24d2d8f938 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1966,8 +1966,12 @@ 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); - if (!is5325m(dev)) - b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid); + if (!is5325m(dev)) { + if (is5325(dev) || is5365(dev)) + b53_write8(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid); + else + 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); --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.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 078242E265A for ; Fri, 28 Nov 2025 08:06:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317204; cv=none; b=EgvGpPdkygIcR+Cc32qmbeGog1cWnqPga8Xt2R4HwwA5FJMdxPMJAAwOHVEQtGZXKPnlEj69bp4mRCJHicv1HPUPtCdnR6aMnzCQ8/szfyuTpPgqNj/wHg54qYjbishKbImSMmPsDelTboRe5fkm4vuv/bWbhKGhEuJLofVgkb4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317204; c=relaxed/simple; bh=ZXITNK4orXkHoe4Ya8LHW9gvkXoq8g5iqaLa1JHKtd4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lbWSOkgnXM4PN9jZme/63DYwLkpRB+3KplIHbE6zeH+NBc26PwhTOlO/M8G+Ncd2dbQrtexDFiMNY0ijvKbTvPHQ6E77hL6I8Wqt6wbRLl8U10OmZW5z6OYxEUqfyRyAg0L58jKH99yGynD1dNj8PbK1UFtUE/7qBxlfSUjt/N0= 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=QWqegR3a; arc=none smtp.client-ip=209.85.218.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="QWqegR3a" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-b736d883ac4so66934066b.2 for ; Fri, 28 Nov 2025 00:06:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317200; x=1764922000; 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=R1e4QIL1rNUNQDu2qhKzyqa3i8lBjekJrTGYyrwgBzE=; b=QWqegR3aDJA36fNQa84X7lTB7SbZ+G39hJDv8Fs2zhCTvhcfwaLH9tRE5n3u4Rr0zf zoJ1e++hlEq+582FLhUh0q62/igugCkmnC5G18RuDuArrkiNt416FFT4lhxzw3ZgsN2Y vhZ4nHeDA3Cthr93ASYawmNfkKlNxEQffgWEunoptRsB/rKSpfAjL5Jb69XKvV2/HnXv AWVoNRkRF1vVJT6UN6nvVRJ442e4B5rKXbwW5WwP24ndgoW6GEo4QJgTvujuMbDGy8Sa asE8a/ozz5r7nsrce1D8VCFkkQLCdyI42zPZ4jE/F3lPcM1uoKRi8eBVVD0ClpdtRbQr jFkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317200; x=1764922000; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=R1e4QIL1rNUNQDu2qhKzyqa3i8lBjekJrTGYyrwgBzE=; b=WceiJOgU6ZY2UME7jZaobZGQs8cOUCKKEBvL9f94AqJrb6hAu10J40zzKLv0QnaumN gQVQEsEbQoSXkSaMtom+ybrkx+JSFcih6LCSGT92pI5Gj8NOaNtv+jhuJ+BX85Slx/R5 jlJcyW6JbPEQFcjXoKCf6+6F/Xocqnx0MUyZKam/5I9s0IcCY/ydnrVblcfsX8zgsJse Na+eKL4ov/bI2Kwt/oQcN1QOV4Fw9VqzqHIsiq8Buam5rRI1fLGKjtj5jvXkAfM857Cb NgP/K966RPTksiEMk/fzLGC9stLK4PbwTMVlHXFAoVzg6yafQIm9YCWrgDWLXuY9r71f gCBg== X-Forwarded-Encrypted: i=1; AJvYcCW/hL817j2UQ06H9zhMHWldumqTdpqToD4kRUeb+kvnmAYNjI7ZQQB2J5DntglaZhpsXr6oTQ9pPrdqB/M=@vger.kernel.org X-Gm-Message-State: AOJu0YwAhb559bpNyyG2vCFtpD8GIX/LJuYxGZMduPRePcIhqY+G20sP Uz0kXXBPWJXH1wFoevNFfSrkirYkzscTsE066qZ4ZW33lSh0K35tH/56 X-Gm-Gg: ASbGncuGdFhI7SHpjIp/CCXsmZvHHkDz6TfnDUK34xkzXougY+iz9sgzWWqqTz1PfSo Y5YdwZROhNpgP+d3IcE6ET5PPfuvDcevu51QyyunNzAxGbWx6FF8Ztxw8NXKw/sDQMmT2Pg+uGa 784xtpevAiWsOVNfurdW6N8yvU62LhdWGCKufXx1cFOYuhiHTIcxPhuK7isPpfv8Cxn4yYZDvoQ 59bdEIgUYBACtCWzG/JjT9F2kK42veA4XKTHhv0IxpRZdPXOBHk29gNIYnZMNS5NHfr5DhBvuzZ kYivwLIQnB93EhRFtraByMHkJoNAn9s86bu1SM9KuGoqoKIVPjvOiZOGgG2stFd9iwWVvaGbDrn j8cfMSg6ua+X2TV8YOriKwhGlxFCmA/GQUiiI+vzm+vflHaIA66ZOooJmUfXn7SsadzkGT9Gg+r EODkS7lul7ZSs8hO86kJIbjE6X8ubBP8EaJji3DZTnX4EWBwzBgxZ8uB/3Dhb6yqOezm0= X-Google-Smtp-Source: AGHT+IEpICKNTFtLVeV5jlCF/yBTwDY+shAqVIBuvL4tQMNocGn61vvL7NPOKUZP43sOD3JS6+9YJQ== X-Received: by 2002:a17:907:1c28:b0:b73:3ced:2f59 with SMTP id a640c23a62f3a-b76715dcc1bmr3064602466b.27.1764317200109; Fri, 28 Nov 2025 00:06:40 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5a4a652sm378485266b.65.2025.11.28.00.06.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:39 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 2/7] net: dsa: b53: fix extracting VID from entry for BCM5325/65 Date: Fri, 28 Nov 2025 09:06:20 +0100 Message-ID: <20251128080625.27181-3-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@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/65's Entry register uses the highest three bits for VALID/STATIC/AGE, so shifting by 53 only will add these to b53_arl_entry::vid. So make sure to mask the vid value as well, to not get invalid VIDs. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Reviewed-by: Florian Fainelli Tested-by: =C3=81lvaro Fern=C3=A1ndez Rojas Signed-off-by: Jonas Gorski --- v1 -> v2: * added Review tag from Florian * added Tested tag from =C3=81lvaro drivers/net/dsa/b53/b53_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index 2bfd0e7c95c9..3b22e817fb28 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h @@ -350,7 +350,7 @@ static inline void b53_arl_to_entry_25(struct b53_arl_e= ntry *ent, 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; + ent->vid =3D (mac_vid >> ARLTBL_VID_S_65) & ARLTBL_VID_MASK_25; } =20 static inline void b53_arl_to_entry_89(struct b53_arl_entry *ent, --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.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 E58622E613A for ; Fri, 28 Nov 2025 08:06:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317206; cv=none; b=Kl/JQVK6gfgwabcWnHZhdweflfalY3z7CmT/wxUjThD67LhjIO1UhNicqjhjl5vj2rTmGyyIdeFYJD4btvwicmGFi068BzPgSpuR3kfyFCvyCt5h06mA+kPCYxEnUKLCwgfe8nLbnCqYZiW3lwUSOE60R6aqrM+YET9CJpoghV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317206; c=relaxed/simple; bh=X1qVuWKg5LC+5uypLN15clhqTXgv9kChaTduyUvJVR8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CJL6tvowGloWscxSDAWq2c+Vtp9D3MqgNmmYzYZZieGqbc8rw0ebCErbsttXyPkLCULjPO14XaHrx+YolC615Ikoz9Fgo6wSoyGWTuaY7A1tJ7VU5s0SrGpliPHMk/CLOl90pDG5BKbaW8JmjxCenD7MFyvWh+iQRJpqziBdMsw= 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=YS5pi9Kh; arc=none smtp.client-ip=209.85.218.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="YS5pi9Kh" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-b739b3fc2a0so239318666b.3 for ; Fri, 28 Nov 2025 00:06:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317203; x=1764922003; 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=TZ47mTHbDublsrTgcLLBlmXBqqs45G74NvDIa1WW3Tk=; b=YS5pi9Khi91V3wfuaLBTv7xyNia1t5ZMI8rjVTLMPd47HH+Sz6vtfo3i16TsRozG66 07CygW8NUNnOd6I6Vk65NnqgTLfU4EN+39KZJqYfI+mA0GDhQgQCrR/rdffBHGvaS9RD lkRwdcAd7h7ReQnBwZM5wLuQ2sNhbZIaxCRhH8r7RXRSZJXBCyJ9Lyqf63/Dl3D4z2og Z85PGttb5yECldl4b85sNyBEEFAK3CyotMUqaTmut6tJtVsLoQQrOj+8PZnfqNhOi6DH MdLOCpct0eVCE24Xi0DmqSQA8S9SztDcCBAIAD8U1wlrTbQrP8Sa7vJqujqDijbIR5rQ 4Bog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317203; x=1764922003; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TZ47mTHbDublsrTgcLLBlmXBqqs45G74NvDIa1WW3Tk=; b=poQzeqStTL70dqACXwVLZfo/RaDYFrE+H+zDjVAPWVkC5ufxc4VJQDEa7aj0bePNQh gF5xK6kkUwMn9K2agpWmVrm1o8/NpFAGqkAQogPtCktB5JFPi24CrD7AJ2SP5rJ+Kjho h9RZFznpAKRDr/9URCVI34ymMTbxMVUNWVHpAF2A12y9+R6f5aHD1alohZO/jZLD0Hsy mnX7VXfBuQnXnYVAX+cYOGY9O5sZq7Bj6yRl3iq0vAgfLv5lLtp450k6V6659hpod5C1 kyzMtaH99+X7rRbcuiOaBGZEgvJGfVdJ/lmNm1lr5FW7YcG88Vtb82pldNQF5Ob3dzH8 DbPQ== X-Forwarded-Encrypted: i=1; AJvYcCVCJKQh1Bdt/C5PtFA2d/TzfRBgXHG1I+qMZ0b9+9MsCzkl2losRscv55BotBCGjKH16QnzEZyrexlEJHQ=@vger.kernel.org X-Gm-Message-State: AOJu0YweDbSYXmvEGqhub2a4BXyz8J7m287+M42F+Eih8rix423lGvkR MgAaBtSEFaTYUFDeGi0KgD20rD2OzeD7+BU2EEM3zqtbWrFzsCYmFCBw X-Gm-Gg: ASbGncuyqFLpAscc3cxLd9mQDaOT95DISFmvMfMuFe3GgVpHqZjhU2opQWZxqoVBVAF DTnYstMe+7gciA0TAqM4HSSL8kSAHnTIHl6r40Xc8FmpRLUENGO9yxVm4TdHvprVNmBqY7tCRED Wld3YfeLMvcjiw3npBilPh55g0Uw9BjS7ObqL+fYebV2A6eaSyxLe8bBq4nnSLe6cxZKiuVnkc2 qibG17DVyrzXJMPS+el7qakhv4nh11fHSfQwGhfR4X1eGkLCsRIew7RWQsAyZ4y2Pd+fKT2umAt T8Lfjd1FZFPK8+dephV94NC8g973eesMom0F6efsOvB5Ozhhyw9WOGOa+AUWXAHpGiNjFmzR5PA O99H9Hb96rkyjLHu22iVPP4FybHssJymODcbbp1EUILQIXk1RdwGjpdGgaucsLiqICtKyyg3+aG GanNcXoWqhfmT2k2iMek9pXxQPdTg2vIdp/PbszJBYhVhVSa/fwBvK+CHZLRtEXAa8jTY= X-Google-Smtp-Source: AGHT+IHW2siV5ckYcc742NVWvgMIg5CmtN8EU9VkV7iP9Ug8rnAA56XOvy1t5p+p5iKICt4JzTZkhA== X-Received: by 2002:a17:907:94c1:b0:b72:de4f:cea6 with SMTP id a640c23a62f3a-b76c555e67cmr1634710866b.48.1764317203063; Fri, 28 Nov 2025 00:06:43 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f59eb3f6sm370860266b.55.2025.11.28.00.06.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:41 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 3/7] net: dsa: b53: use same ARL search result offset for BCM5325/65 Date: Fri, 28 Nov 2025 09:06:21 +0100 Message-ID: <20251128080625.27181-4-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@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 BCM5365's search result is at the same offset as BCM5325's search result, and they (mostly) share the same format, so switch BCM5365 to BCM5325's arl ops. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Reviewed-by: Florian Fainelli Tested-by: =C3=81lvaro Fern=C3=A1ndez Rojas Signed-off-by: Jonas Gorski --- v1 -> v2: * added Review tag from Florian * added Tested tag from =C3=81lvaro drivers/net/dsa/b53/b53_common.c | 18 +----------------- drivers/net/dsa/b53/b53_regs.h | 4 +--- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 7f24d2d8f938..91b0b4de475f 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2125,16 +2125,6 @@ static void b53_arl_search_read_25(struct b53_device= *dev, u8 idx, b53_arl_to_entry_25(ent, mac_vid); } =20 -static void b53_arl_search_read_65(struct b53_device *dev, u8 idx, - struct b53_arl_entry *ent) -{ - u64 mac_vid; - - b53_read64(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL_0_MACVID_65, - &mac_vid); - b53_arl_to_entry_25(ent, mac_vid); -} - static void b53_arl_search_read_89(struct b53_device *dev, u8 idx, struct b53_arl_entry *ent) { @@ -2746,12 +2736,6 @@ static const struct b53_arl_ops b53_arl_ops_25 =3D { .arl_search_read =3D b53_arl_search_read_25, }; =20 -static const struct b53_arl_ops b53_arl_ops_65 =3D { - .arl_read_entry =3D b53_arl_read_entry_25, - .arl_write_entry =3D b53_arl_write_entry_25, - .arl_search_read =3D b53_arl_search_read_65, -}; - static const struct b53_arl_ops b53_arl_ops_89 =3D { .arl_read_entry =3D b53_arl_read_entry_89, .arl_write_entry =3D b53_arl_write_entry_89, @@ -2814,7 +2798,7 @@ static const struct b53_chip_data b53_switch_chips[] = =3D { .arl_buckets =3D 1024, .imp_port =3D 5, .duplex_reg =3D B53_DUPLEX_STAT_FE, - .arl_ops =3D &b53_arl_ops_65, + .arl_ops =3D &b53_arl_ops_25, }, { .chip_id =3D BCM5389_DEVICE_ID, diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 69ebbec932f6..505979102ed5 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -376,10 +376,8 @@ #define B53_ARL_SRCH_RSLT_MACVID_89 0x33 #define B53_ARL_SRCH_RSLT_MACVID_63XX 0x34 =20 -/* Single register search result on 5325 */ +/* Single register search result on 5325/5365 */ #define B53_ARL_SRCH_RSTL_0_MACVID_25 0x24 -/* Single register search result on 5365 */ -#define B53_ARL_SRCH_RSTL_0_MACVID_65 0x30 =20 /* ARL Search Data Result (32 bit) */ #define B53_ARL_SRCH_RSTL_0 0x68 --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 05C892E6CAB for ; Fri, 28 Nov 2025 08:06:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317207; cv=none; b=pNG0pnjU46l7qgf2jxzyMcpwvPaDhJZYrHuB9F4PYifr87Wdn7CsyWEvMKuOfVPPKo6Q2Ph26DxMsmn8+jlCfS6EIN5oV+Grb2zrc8COrW/lyKS3hgYYdMoNJbEU7Z1rSJNFHd4DI2VYq6hrrnSAuk9CP7AHiJ7rRn69hvjqgQE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317207; c=relaxed/simple; bh=Nmo8ZLI6199XNiEIlcuBZ0RadcL5ViBUVaQFBDqqlDE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FGQx4RQ15ICIaJaYxJrSTcelFAPd2eV+SRuxbnhp3IqfelsbrjqoGwKxSGFu6//LvcctADoRRP9SpzhbEuHunaT5VmKaqht3Yg9hVTcfLODnLwg7T613QXGv4VZyZzFAz8iFvG3n9R/t5FmiwgQKubiqtT6zpUX0QSuWFdY32hA= 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=Oh+GuvW3; arc=none smtp.client-ip=209.85.218.54 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="Oh+GuvW3" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b73b24f1784so319363866b.0 for ; Fri, 28 Nov 2025 00:06:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317204; x=1764922004; 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=sjZRXDSVub8tCCZ0/UK52o25z1qku925qGRpjMBIfdg=; b=Oh+GuvW3usITTb3LD+ry4tuXAC0Ahr9+L+3pDRQyPUj62j5SHnBH3INKjx1ANxHeaI 3RqINr9ZH4U4S6BtwC1KwmlhbfBjW216W09CZec54YZLH5cjNyys3kQbhGSJisTdCOhC tiH/MNjBATfv9b8ezwk3qKNO8xXqviO31cOjpdzmX1xtsCKETUb/Dh2ZzN/x9OfR2aik 15iM1RSApirk5FtapJNoRdRDNrZh9NBdPYWxZctvMChSIMg/O1kceyPGRTmHGr0/k9Eq t/sb0LZ6JPw1E1GWQQY7crP6lMdrtNaxMgmnEv40LDj5icIOH4/UVxjIn4N/8nagsXub mLWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317204; x=1764922004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sjZRXDSVub8tCCZ0/UK52o25z1qku925qGRpjMBIfdg=; b=uyFyJ5PC64UOJ1ORfA+eqVfO4dXNPV4xdqkEeio4n7dFxwu5wMv3HxrNJZrvEXRzIr IIZPTsrC7g/qlAn5/x+cLsnFavZryz62pETc95qFhXXRz5TDYSaRCzkMKq0uFMi8KzIT tby5cTWfq6fGgLkzAeIyVYapa9ee47AvJnA18PxRD4YntRSAlP3TnoT1fHqrWDFeBLnR 9wFmzjcsInS8m5qiTCybkoDz482xTq5wX7Ro6+zcazQWqmCcbJxKB5y2JZF5KWmqvXDL rXgsUc64KK54d5bi2+GU8khPkkN40dPMfFdjA1GbVeL4upiTGNgN+ESaqub/IvUU+tgp IF2g== X-Forwarded-Encrypted: i=1; AJvYcCVsK/YOk7bazpWcSNne6LlQ4NpyN6oerJSsqL57rTY+MM57LCvtJ4k5YbHf5nfNCifllXKLJnwzCNUE4aQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yxj6x8rPpnTeHe5jk+UQmv6RA8rwZbOM7k9K2QKd+PG1LQrSO4M i3rGBehUJjyk5Ia16arWGleuJqLZTojKGxmB23XRyPptFrUdZ3jPWaSE X-Gm-Gg: ASbGncv8cPY4/y54vjHKkieHqAhbGrxu96XIp+32nE1Id1rfQDeVjzl7SMnIMVuM+Z1 9RjCOxJhPkWu6TAu6c7rpIqI+g+uSAk4jR3SzUxyijLb8hkA4CaCOVp8VFhToRvLoE9toX6hS5D Ftgn4VDNaUdx7VO+ykWKRBB/KgGbbN4Jn7LRcmHtyv82UntJfXlbb/R5SV1xiSKJiItDjADbPD0 M6BWzvJOg6fbGf/HfSxAaFAI1Hi4rQHGjhNHnXbK54RucS8wFJt42Eeb3Zeh1UCJQFgFrCwx9Zp F4rjCxhFfjcpyzkB32EFb6kKSUVPHn/M3T6xsS20JxsndXS5XRdqxjpJkCRv7N95htE6nYe90kA CwJ8wVMMEJdKei2UJDoM59GAPHLLwEoaY5ow7m5AjVMTxzNpijvV1bJwpekLOEMl7lbk62GJKiK ygW93OeVzf33IsCqITvrbTOUVR6fTclrC/7Zs0tzBWRZC1qSlrH0lqhZuRtvOrHYqH9kfyw3FsG zvi9g== X-Google-Smtp-Source: AGHT+IFY96duyv+vlqfHIde+gmVNd358OanngOWZcQh7EoB022qco1Ij8kgMJjkeZmtUB8/w1LJTSw== X-Received: by 2002:a17:906:c10a:b0:b6d:6650:c3cd with SMTP id a640c23a62f3a-b76572b24cbmr3170973366b.21.1764317204124; Fri, 28 Nov 2025 00:06:44 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64751062261sm4215612a12.33.2025.11.28.00.06.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:43 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 4/7] net: dsa: b53: fix CPU port unicast ARL entries for BCM5325/65 Date: Fri, 28 Nov 2025 09:06:22 +0100 Message-ID: <20251128080625.27181-5-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On BCM5325 and BCM5365, unicast ARL entries use 8 as the value for the CPU port, so we need to translate it to/from 5 as used for the CPU port at most other places. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- v1 -> v2: * use is_unicast_ether_addr() instead of !is_multicast_ether_addr() drivers/net/dsa/b53/b53_priv.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index 3b22e817fb28..ae2c615c088e 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h @@ -344,12 +344,14 @@ static inline void b53_arl_to_entry_25(struct b53_arl= _entry *ent, u64 mac_vid) { memset(ent, 0, sizeof(*ent)); - 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->port =3D (mac_vid >> ARLTBL_DATA_PORT_ID_S_25) & + ARLTBL_DATA_PORT_ID_MASK_25; + if (is_unicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_PORT) + ent->port =3D B53_CPU_PORT_25; ent->vid =3D (mac_vid >> ARLTBL_VID_S_65) & ARLTBL_VID_MASK_25; } =20 @@ -383,8 +385,11 @@ static inline void b53_arl_from_entry_25(u64 *mac_vid, const struct b53_arl_entry *ent) { *mac_vid =3D ether_addr_to_u64(ent->mac); - *mac_vid |=3D (u64)(ent->port & ARLTBL_DATA_PORT_ID_MASK_25) << - ARLTBL_DATA_PORT_ID_S_25; + if (is_unicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_PORT_25) + *mac_vid |=3D (u64)B53_CPU_PORT << ARLTBL_DATA_PORT_ID_S_25; + else + *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) --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.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 0B8A92E7F32 for ; Fri, 28 Nov 2025 08:06:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317209; cv=none; b=suZhl3pfdjOpdkx8gYZgdoWNMW7yS8q8Yvs6pU7//BpmrDbJRhwQg5wUH14pQRCVgkieAeuunCEX+5o8i2/xC0PJnH/M4PnknulYCsP41G6sXc4UO3pbUYEc+r9kyqk64EN0xx7b5j2bibdv8gZ8KoJrY3XQEc326n0h+wwh1r0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317209; c=relaxed/simple; bh=YoEpu4LLgmyvg6uR8vGP8DRlBZ1dUR7rfJAUV0XOx/E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HweK+apARED/zHW2/nuyEPP37Gf82xMtgvLthi0dGPXWTNdPtoHWnwwc/wmczlakLvDj3tlxgLSp79bhndsJwNuGSVt2tSfdgI2QBgmTwVa4cOxLBvujFkcUTzCWFhTdEjTmM/zY39Wc7qEgkY0cfn2ASZS81lOoxJ3+n/a5nio= 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=FMveoSW7; arc=none smtp.client-ip=209.85.218.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="FMveoSW7" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-b72bf7e703fso283244266b.2 for ; Fri, 28 Nov 2025 00:06:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317206; x=1764922006; 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=KTeNK2aPj9lGYXJg2ZeiumJ8UHiV1+byQcRUQv3qjGw=; b=FMveoSW7cjuAV27pfw84g+2ES7E37oyhvymDNDULRlG1prq9ZXUHbkUnQS8CDpEypt q/qwG+7/TSEHUuf3O+6RojWcU4UHaDBVkHD1kYp6y/35YZ1oqwR1LHzIfqBLGl4AUvcc fyyG8rAd2MA1/+qyH37wD2GggPXgOWGYwD3ZKqtopwYjMVCS1aVciYck50glxESbdvb6 OqnELxxmV9K1JcKLte1PbdwQ2yERhc0+oZK7RaU+Tfx+ST6hjrtd5JwcmsmAB51UglbX 9uiR9+Mi/2sKRnyQo+208xYMGlPuxRtQWi/u8aSghY0J9p7a5feDKk/DS4O8JeumSOc0 qz0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317206; x=1764922006; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KTeNK2aPj9lGYXJg2ZeiumJ8UHiV1+byQcRUQv3qjGw=; b=KPCbSlEGEgA5W4Q/vx9BEAeWo+6b+oFa6eb3veBGJtQ2Um1er6H/scwWeH/8fsvhfX f/CeHh9NE0hfphWaL5VsMI7eQLMMviqsNxW1QCUFJXUUwknpdg4IuL77sBoSKZBEsy3v 2r7s5tNFFcqt9p5VT9BNXr5USq//fxMjWuPRbTp94BTxzh78eBQDQOjtEUdLuXXtcDZ7 G7jr+1KlBl9sxAIiLrC5rX+2VMJ9t4OlPAUdSu4oW6ZsfIgiE3CnCCgAYWZ2l7OsrS2Y XWZ3aPh3szCOFhft8/J6H8BF+VK8kxcGd8zjkqfD+Qq9hSLgQ5/gVIXcCHk+ditwAHO7 FVzQ== X-Forwarded-Encrypted: i=1; AJvYcCWMYf8gJlz1FHujACenhUCWwU5rv40hW+1EeqE7ugEKUV4Xtb8ZgFSjozo8o9i9SGL4+5XxWe5zuyANrec=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3zjJbcTv2FEDsZ+AkY7OL3ZWkhrEZ5VSnq+VZ9A/wkt3Zai+9 npgYW4er/9/6tb5vEXcQY4wwsJdvdUJ7pcftUAvj76wp5pT6nU9VdybX X-Gm-Gg: ASbGnctK7zsz4WNu1yjracg6mLci9eEuCFcmQfQ642FTn1+7fJ1Q5WpjokA3LNnBiCH u2ZqNaQoGAOC+Ch4Kw5G6fUJUzIVt6VNQubb+LKRUZVcN3YMVlF8Ak4tpXl4WQUAI5w7mAZP4UP 0kS+YkfyAt8jOJiIzRz1u+nfY4GGVy0uXipZ6bs6xyAAA9VnNkdDZABWOivtaJX/icylthtUb2H qeYBwodT4Q59rReZ5yjRoFVAh3L31znGlp23pUx20EVAhrCwixWePs0W0v7Ps96juXZrW/rjEQY 7krRzHO/erpsq8rYczR+Rc3thHzEvWn9cLRJ2AdXH75r5FuzTEUjkiovyUVL9iAD+Ry3TYPsGM0 G+PMihFdeeWpspdKZ5e4Xqs8Qp1JCriIbmA4v7dQhWa82QEDy4dae5oOplYS7TcS0JB6U6mr2FE YDenmpJv1KLXTfxMLZswn08+s7CCkTFN6DccN4chAMexthHvpHf4k6BTC4OSLH0JrgvPo= X-Google-Smtp-Source: AGHT+IH7nU8AOL5x+a/3Q11acHdLE+U/kwyWxUsIRL445ue9LpTHuAxa2dyVH8VJRBHo6dsCGgbXtg== X-Received: by 2002:a17:907:1b02:b0:b40:b54d:e687 with SMTP id a640c23a62f3a-b7671acc2d5mr2970835666b.47.1764317205840; Fri, 28 Nov 2025 00:06:45 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5162bb6sm389506866b.12.2025.11.28.00.06.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:45 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 5/7] net: dsa: b53: fix BCM5325/65 ARL entry multicast port masks Date: Fri, 28 Nov 2025 09:06:23 +0100 Message-ID: <20251128080625.27181-6-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We currently use the mask 0xf for writing and reading b53_entry::port, but this is only correct for unicast ARL entries. Multicast ARL entries use a bitmask, and 0xf is not enough space for ports > 3, which includes the CPU port. So extend the mask accordingly to also fit port 4 (bit 4) and MII (bit 5). According to the datasheet the multicast port mask is [60:48], making it 12 bit wide, but bits 60-55 are reserved anyway, and collide with the priority field at [60:59], so I am not sure if this is valid. Therefore leave it at the actual used range, [53:48]. The ARL search result register differs a bit, and there the mask is only [52:48], so only spanning the user ports. The MII port bit is contained in the Search Result Extension register. So create a separate search result parse function that properly handles this. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Reviewed-by: Florian Fainelli Signed-off-by: Jonas Gorski --- v1 -> v2: * added Review tag from Florian drivers/net/dsa/b53/b53_common.c | 4 +++- drivers/net/dsa/b53/b53_priv.h | 25 +++++++++++++++++++++---- drivers/net/dsa/b53/b53_regs.h | 8 +++++++- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 91b0b4de475f..09a64812cd84 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2119,10 +2119,12 @@ static void b53_arl_search_read_25(struct b53_devic= e *dev, u8 idx, struct b53_arl_entry *ent) { u64 mac_vid; + u8 ext; =20 + b53_read8(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSLT_EXT_25, &ext); b53_read64(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_RSTL_0_MACVID_25, &mac_vid); - b53_arl_to_entry_25(ent, mac_vid); + b53_arl_search_to_entry_25(ent, mac_vid, ext); } =20 static void b53_arl_search_read_89(struct b53_device *dev, u8 idx, diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index ae2c615c088e..f4afbfcc345e 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h @@ -348,8 +348,8 @@ static inline void b53_arl_to_entry_25(struct b53_arl_e= ntry *ent, 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->port =3D (mac_vid >> ARLTBL_DATA_PORT_ID_S_25) & - ARLTBL_DATA_PORT_ID_MASK_25; + ent->port =3D (mac_vid & ARLTBL_DATA_PORT_ID_MASK_25) >> + ARLTBL_DATA_PORT_ID_S_25; if (is_unicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_PORT) ent->port =3D B53_CPU_PORT_25; ent->vid =3D (mac_vid >> ARLTBL_VID_S_65) & ARLTBL_VID_MASK_25; @@ -388,8 +388,8 @@ static inline void b53_arl_from_entry_25(u64 *mac_vid, if (is_unicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_PORT_25) *mac_vid |=3D (u64)B53_CPU_PORT << ARLTBL_DATA_PORT_ID_S_25; else - *mac_vid |=3D (u64)(ent->port & ARLTBL_DATA_PORT_ID_MASK_25) << - ARLTBL_DATA_PORT_ID_S_25; + *mac_vid |=3D ((u64)ent->port << ARLTBL_DATA_PORT_ID_S_25) & + ARLTBL_DATA_PORT_ID_MASK_25; *mac_vid |=3D (u64)(ent->vid & ARLTBL_VID_MASK_25) << ARLTBL_VID_S_65; if (ent->is_valid) @@ -414,6 +414,23 @@ static inline void b53_arl_from_entry_89(u64 *mac_vid,= u32 *fwd_entry, *fwd_entry |=3D ARLTBL_AGE_89; } =20 +static inline void b53_arl_search_to_entry_25(struct b53_arl_entry *ent, + u64 mac_vid, u8 ext) +{ + memset(ent, 0, sizeof(*ent)); + 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) & ARLTBL_VID_MASK_25; + ent->port =3D (mac_vid & ARL_SRCH_RSLT_PORT_ID_MASK_25) >> + ARL_SRCH_RSLT_PORT_ID_S_25; + if (is_multicast_ether_addr(ent->mac) && (ext & ARL_SRCH_RSLT_EXT_MC_MII)) + ent->port |=3D BIT(B53_CPU_PORT_25); + else if (!is_multicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_P= ORT) + ent->port =3D B53_CPU_PORT_25; +} + static inline void b53_arl_search_to_entry_63xx(struct b53_arl_entry *ent, u64 mac_vid, u16 fwd_entry) { diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 505979102ed5..54b1016eb7eb 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -332,7 +332,7 @@ #define ARLTBL_VID_MASK_25 0xff #define ARLTBL_VID_MASK 0xfff #define ARLTBL_DATA_PORT_ID_S_25 48 -#define ARLTBL_DATA_PORT_ID_MASK_25 0xf +#define ARLTBL_DATA_PORT_ID_MASK_25 GENMASK_ULL(53, 48) #define ARLTBL_VID_S_65 53 #define ARLTBL_AGE_25 BIT_ULL(61) #define ARLTBL_STATIC_25 BIT_ULL(62) @@ -378,6 +378,12 @@ =20 /* Single register search result on 5325/5365 */ #define B53_ARL_SRCH_RSTL_0_MACVID_25 0x24 +#define ARL_SRCH_RSLT_PORT_ID_S_25 48 +#define ARL_SRCH_RSLT_PORT_ID_MASK_25 GENMASK_ULL(52, 48) + +/* BCM5325/5365 Search result extend register (8 bit) */ +#define B53_ARL_SRCH_RSLT_EXT_25 0x2c +#define ARL_SRCH_RSLT_EXT_MC_MII BIT(2) =20 /* ARL Search Data Result (32 bit) */ #define B53_ARL_SRCH_RSTL_0 0x68 --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.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 4247D2DEA80 for ; Fri, 28 Nov 2025 08:06:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317211; cv=none; b=agMX7ske9yxMeHnCZOQ879S0et11OYr7gzPX+ldem3ToUNlifCa2XqugYnGiP9PPN/1ApST8Hm25nQh7+kC/Af4mjux2jNcBYpjSWEYSCWBgS23FAfAY+Lr2eivXZ45YFciYkG2zgBoO22BxWC9sgsN1iuYOuoCaBdpcf58BTE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317211; c=relaxed/simple; bh=Rgs2EQ3Q36rzped/ecsC+M5qqjYWihe5acs+Gfc5BMs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QYeNQX2Tr91DzfA6Sc0mIewiARh1K/4a3RZ6wr0trqd0cQFtMV44yx49zwk0GRjmpUyuca5t3QuCSL0KZAXLFlisrDEw0jWmbPm986XS/mqqesN5n2vxnBDTIUhJpZz/blhdfLEuq7shJ36VbF2QoVN0JiFqzIZo10mUDXiMuy0= 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=J/ThSavi; arc=none smtp.client-ip=209.85.218.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="J/ThSavi" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b73875aa527so241594366b.3 for ; Fri, 28 Nov 2025 00:06:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317208; x=1764922008; 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=lYp7E+XRleF9Ba/rdsGt5FOtJp0XS5WeD2C0kR30ens=; b=J/ThSaviOkr1kCpDo32mtPbPlBAEGL/ytV4/tTjr+GLc2SYEgyAwLTy2yr9ma+aggq akRLWMcq67Q3XwLdOPr/Vtn8BeGK8Y6mXy/gPD3SLkh4A0rVvQIMWrzTpSfSyBYZM6Mt 8Q3tpv7o/Mx0jVdoDNWPnPvobLXD1daC5k8ITBKgMra/zgMMutbZXewwPAqrKXNBY/Di gFBVytBGvUzQnHpSGc9vTA+jKqaY0idWDm4ggzT8y8AfTZDugBpBsXxUN82yt82TKQco N26F4RLEkYznn7RwecURMwbtUMBJF9bK2mSILZu7UL50zy0b8sDcGA5DmhCvetYFulbh Ou7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317208; x=1764922008; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lYp7E+XRleF9Ba/rdsGt5FOtJp0XS5WeD2C0kR30ens=; b=CEq08HElC3mpeplZttKH8fRQwD1x/BdR/4cJTa1XrOUeEinP3UFHiPWN19dXcjBCZ1 a0ZCuFGCHaQhaOuj6r1ty0VBD0+d/zpM5Sxizwt7pcw8fZGlCR6i9Tw4Otl0zE6vh6uU mv+xbglBEZO4uyXBLHuoZ4l0AR3qCL10oOxuOMCgg36DuoPmOG7dNT6WkZfepT0PYCv7 C4xCy9C18gmSMHIwkNWqPnyoRz6a1z40XuiYBAy2oFHs089iLSVmirEwWKKYwf7y7/o2 KqbmLvulmE8Sbz7truENq9T4mnvuC04xwbvSVzNWVYk+EmIhJGbuFKYm3vSNAEg/Z0d8 pd0g== X-Forwarded-Encrypted: i=1; AJvYcCXW5hER+3tFrspQA436VAWH2bDwJPGbtKlIyn8I+M24aB5Rm91By8p05a0+mD95NJ9N0n7TDuWgilsK2OE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+iw9gx6hcl22fsOKWXnY52Zp834TrN3eTxHfHi0mKf8tL8rME w4JCEN57E2pOFuWsrPptacXwWk0TYI8fV6LQ80q0WWX5oZEuzv+Ij05A X-Gm-Gg: ASbGncunsYt+yCANKl5wBiILuDmKqn0hd6liKd2ovbgy+gGTWdpa6SbHcaAwPoNCzhK MXCX3lPRK2HCyV8wxfAeeAHW0OPHBN4i/q5Qs53cX7AvksROzDSDhmcPylYV9zYXbp0Ap/LOnvD zr/CAMPcn3jr6u+tXjoikm2zaVBSAeQ4PqqBR9nO6euiphcsQORYOjtZMOADwo1w/RoPqwuoY9N 6djXwecLqtY00fGiksl8/h9sVcdO5ZUtlrNCpvCGKIhKaYUFOk2dDLTjPU47ad9vQbnvz8aRx/F raOIAiUdfG+nc/NwtswP6MGlPCcNfZJwgDNGWOy2WMzI1VZ4YIAfe6NM/mqirW1a1A/tpxz0oge SCKUCg+xo/7ar/Druo4JgT+bi0pyjVhej+OkJOsMHZHmYOgd1y74QynDoCrRcmd8sfSOgqnZFbP 8Y34w6HTELdLn3ZuFyn6VXOj/uPKQvPJp3WTXP8SeredMTTtLNdrF/Hpv8+4zarKXMsqA= X-Google-Smtp-Source: AGHT+IHlfrMxY5sFsBSX7jadMFZM3qxFUUsTxH86IA5j+iftXghDZIBfXbkK4fd2ZtWlHXEYdAUygQ== X-Received: by 2002:a17:906:478a:b0:b73:42df:29a with SMTP id a640c23a62f3a-b76719ec80fmr2743046266b.59.1764317207486; Fri, 28 Nov 2025 00:06:47 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f59e8fdasm379537966b.51.2025.11.28.00.06.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:47 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 6/7] net: dsa: b53: fix BCM5325/65 ARL entry VIDs Date: Fri, 28 Nov 2025 09:06:24 +0100 Message-ID: <20251128080625.27181-7-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BCM5325/65's ARL entry registers do not contain the VID, only the search result register does. ARL entries have a separate VID entry register for the index into the VLAN table. So make ARL entry accessors use the VID entry registers instead, and move the VLAN ID field definition to the search register definition. Fixes: c45655386e53 ("net: dsa: b53: add support for FDB operations on 5325= /5365") Signed-off-by: Jonas Gorski --- v1 -> v2: * no changes drivers/net/dsa/b53/b53_common.c | 9 +++++++-- drivers/net/dsa/b53/b53_priv.h | 12 ++++++------ drivers/net/dsa/b53/b53_regs.h | 7 +++++-- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 09a64812cd84..ac995f36ed95 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1853,19 +1853,24 @@ static int b53_arl_rw_op(struct b53_device *dev, un= signed int op) static void b53_arl_read_entry_25(struct b53_device *dev, struct b53_arl_entry *ent, u8 idx) { + u8 vid_entry; u64 mac_vid; =20 + b53_read8(dev, B53_ARLIO_PAGE, B53_ARLTBL_VID_ENTRY_25(idx), + &vid_entry); b53_read64(dev, B53_ARLIO_PAGE, B53_ARLTBL_MAC_VID_ENTRY(idx), &mac_vid); - b53_arl_to_entry_25(ent, mac_vid); + b53_arl_to_entry_25(ent, mac_vid, vid_entry); } =20 static void b53_arl_write_entry_25(struct b53_device *dev, const struct b53_arl_entry *ent, u8 idx) { + u8 vid_entry; u64 mac_vid; =20 - b53_arl_from_entry_25(&mac_vid, ent); + b53_arl_from_entry_25(&mac_vid, &vid_entry, ent); + b53_write8(dev, B53_ARLIO_PAGE, B53_ARLTBL_VID_ENTRY_25(idx), vid_entry); b53_write64(dev, B53_ARLIO_PAGE, B53_ARLTBL_MAC_VID_ENTRY(idx), mac_vid); } diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h index f4afbfcc345e..bd6849e5bb93 100644 --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h @@ -341,7 +341,7 @@ static inline void b53_arl_to_entry(struct b53_arl_entr= y *ent, } =20 static inline void b53_arl_to_entry_25(struct b53_arl_entry *ent, - u64 mac_vid) + u64 mac_vid, u8 vid_entry) { memset(ent, 0, sizeof(*ent)); ent->is_valid =3D !!(mac_vid & ARLTBL_VALID_25); @@ -352,7 +352,7 @@ static inline void b53_arl_to_entry_25(struct b53_arl_e= ntry *ent, ARLTBL_DATA_PORT_ID_S_25; if (is_unicast_ether_addr(ent->mac) && ent->port =3D=3D B53_CPU_PORT) ent->port =3D B53_CPU_PORT_25; - ent->vid =3D (mac_vid >> ARLTBL_VID_S_65) & ARLTBL_VID_MASK_25; + ent->vid =3D vid_entry; } =20 static inline void b53_arl_to_entry_89(struct b53_arl_entry *ent, @@ -381,7 +381,7 @@ static inline void b53_arl_from_entry(u64 *mac_vid, u32= *fwd_entry, *fwd_entry |=3D ARLTBL_AGE; } =20 -static inline void b53_arl_from_entry_25(u64 *mac_vid, +static inline void b53_arl_from_entry_25(u64 *mac_vid, u8 *vid_entry, const struct b53_arl_entry *ent) { *mac_vid =3D ether_addr_to_u64(ent->mac); @@ -390,14 +390,13 @@ static inline void b53_arl_from_entry_25(u64 *mac_vid, else *mac_vid |=3D ((u64)ent->port << ARLTBL_DATA_PORT_ID_S_25) & ARLTBL_DATA_PORT_ID_MASK_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; + *vid_entry =3D ent->vid; } =20 static inline void b53_arl_from_entry_89(u64 *mac_vid, u32 *fwd_entry, @@ -422,7 +421,8 @@ static inline void b53_arl_search_to_entry_25(struct b5= 3_arl_entry *ent, 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) & ARLTBL_VID_MASK_25; + ent->vid =3D (mac_vid & ARL_SRCH_RSLT_VID_MASK_25) >> + ARL_SRCH_RSLT_VID_S_25; ent->port =3D (mac_vid & ARL_SRCH_RSLT_PORT_ID_MASK_25) >> ARL_SRCH_RSLT_PORT_ID_S_25; if (is_multicast_ether_addr(ent->mac) && (ext & ARL_SRCH_RSLT_EXT_MC_MII)) diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 54b1016eb7eb..54a278db67c9 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -329,11 +329,9 @@ #define B53_ARLTBL_MAC_VID_ENTRY(n) ((0x10 * (n)) + 0x10) #define ARLTBL_MAC_MASK 0xffffffffffffULL #define ARLTBL_VID_S 48 -#define ARLTBL_VID_MASK_25 0xff #define ARLTBL_VID_MASK 0xfff #define ARLTBL_DATA_PORT_ID_S_25 48 #define ARLTBL_DATA_PORT_ID_MASK_25 GENMASK_ULL(53, 48) -#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) @@ -353,6 +351,9 @@ #define ARLTBL_STATIC_89 BIT(14) #define ARLTBL_VALID_89 BIT(15) =20 +/* BCM5325/BCM565 ARL Table VID Entry N Registers (8 bit) */ +#define B53_ARLTBL_VID_ENTRY_25(n) ((0x2 * (n)) + 0x30) + /* Maximum number of bin entries in the ARL for all switches */ #define B53_ARLTBL_MAX_BIN_ENTRIES 4 =20 @@ -380,6 +381,8 @@ #define B53_ARL_SRCH_RSTL_0_MACVID_25 0x24 #define ARL_SRCH_RSLT_PORT_ID_S_25 48 #define ARL_SRCH_RSLT_PORT_ID_MASK_25 GENMASK_ULL(52, 48) +#define ARL_SRCH_RSLT_VID_S_25 53 +#define ARL_SRCH_RSLT_VID_MASK_25 GENMASK_ULL(60, 53) =20 /* BCM5325/5365 Search result extend register (8 bit) */ #define B53_ARL_SRCH_RSLT_EXT_25 0x2c --=20 2.43.0 From nobody Mon Dec 1 21:30:47 2025 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 7A56E2E8E0E for ; Fri, 28 Nov 2025 08:06:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317213; cv=none; b=QltXAAr/XXAkR61UkvZuh7t/pMukXHhyjWvQuwz6VGedX0qg0B53kSljL8rwyUo4X/Bpf75MpINfYWALfU57vpIwiPqgjUV73dWL36BAlzFXvxDJ+RreKxpABTMb0gEEr7vPW2tnuyQixBJ7Q/Af8jn9L2snsp2GIj+6aCSTxOM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317213; c=relaxed/simple; bh=dVGM7YzgCKLuuKDe4mee+rTwbCjC2sQraxKVJra6rhE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S7zQLq7RAkwtMePeNVz3AhNpz3Fe5E6NIhjfu8c4/K6aGr3gdjJsfMLNntfLSCACZLzACWWT3H49Feo5XJAgy3boc3veKbQVgsffc6uCcQdbVyl6h29hj+WWIgOa8xrcpahbDkH+yZ4qKZauYAGJZnMizfk8Y84yjJzdwZyN6aU= 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=KvZRDNb5; arc=none smtp.client-ip=209.85.218.49 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="KvZRDNb5" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b734fcbf1e3so67269766b.3 for ; Fri, 28 Nov 2025 00:06:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764317210; x=1764922010; 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=pQd3PLzZ8AJbcv65jBMHGIJOzjOGRj9r3Be1kNVC/Ic=; b=KvZRDNb5irA94iilqxfownV+vH9M+4O80BC8bHlybQz8G9u4x1MI9O7FlAwg6AnoIn hXewKpbYIHX522tPwRv2NcIbyooJ1/7R2D5dBOkCmBnfCx+DJSnX6lx5zBVCRp9pTnJz Tlu93ZpcOQO0vgLxaa7n/MPMjX+xqAyUoM4sT0woZPK0gAmR4HfcFqrNh9EDNzQKmOZa XciFLp8NUDR4vNxDqJfZUMQLYd2x+9zTcYWBW0hbHQIcAiWmmBRSZOwd5u0bmtNRTLwl FRrUrJn9WzlPZS9ipmvG8O3GXYn7U/yFjoIRj+lqFijJn6xgtrz/7Zg5M0h3xKBL6f8g xf0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317210; x=1764922010; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pQd3PLzZ8AJbcv65jBMHGIJOzjOGRj9r3Be1kNVC/Ic=; b=R1bocb7VhiwPbV3enZqYuNQZM/he6uuE6EovzTjnW+tuH1gZPPYDpLRWPoDzVrWWmY yOeKte5SP1u3HA9GgGwMFUfgwo32PS5dpHDrxk/mSaKjRhO3d+rjlG+TC7zg2yKc6YVF jfUt4icxEk1rKrpnqlOhiDoSYIikvOqVUZIhR+WDataeiU//cQkMIWntQvHty29W1l/9 qhNmuC+BKtwKO1nGj1hCmU4oLKE/cUmbkyf97zNvpiPlhAt3npO4Kq8rHKxFSGjiQZ6A Zu+doiuy4RH2ezPUG50H3ZN07LzbtCvIBpeGttDdBXxYRwzepWTAzeldNM9BSuld3EOO UIIw== X-Forwarded-Encrypted: i=1; AJvYcCWsH1A8tZxB6yEdwHlFTaFyp5dRNDQWviyuNMbwxLUlbQPApoVFemIkuKtH7ISNIafT/5fS0WKmM8VvqFo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx79XK/gZRWDxHk7UCIEcB3LmGYsr/vhGS0yaBWlXMM6sYPUj3H 0DHo+sfBttm2QYmWsEzQRAoeFHmNye0pZ8wsRDvlFDsh20UAd0DcLfpd X-Gm-Gg: ASbGncsxf65YQ9F9NtqIAcKS+Xo6V58VZ11rOn8L/yIYIzwylPaW4vv2rZFWUri7MEq roJlDt0ZDQ7bpDGDFSsJceoff7Bks/E2JEYRMndwL+xwvMqex9cjU6zMGVxcCSqM0ss36jdFswn YD8LsNURNmp4Z5QR6RrSOvwKR0D6xp1KIWXbIKxg2QVs+JIen43n3SCftdz0sVrKFRKhmxtUTLO nHekXJhwXvmgazLzSHyHD9Q544+OdpFHnKWSLNRzt8vuW0fiP0d2uLo/QuQ5eAnTxiWDHcUeALJ 9SAZLowvFjD5QnwJsMjbFhNpiDBdhFVFjIV4effGPlgbqVoBBcNWc4lwpgJbbnMYdCbDFv5l1gQ HK7vJEceze1tQR7RaXX0nQ0IDnsa+ybEE/HFAcAW9tqD7S2VKk6lPBHPEuh4jGM2Giz4/K/WY8J M5Qti2/Q9Ahuv7RY65c+n8iX8IKCOsAu47W+qoWaiqIm2SEnv8O5lyMEytVDjcksRfukzDaUhIO dxfJA== X-Google-Smtp-Source: AGHT+IEBGcglZmu8UrcQJT0JgBbFxWtKvu+DEkJonDsMZMH6PC17vDq/FnrusP+b1vwXSbsvChKoVg== X-Received: by 2002:a17:907:3e95:b0:b75:7b39:88bc with SMTP id a640c23a62f3a-b76718b286fmr3231326066b.58.1764317209502; Fri, 28 Nov 2025 00:06:49 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5162d31sm385418766b.9.2025.11.28.00.06.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:06:49 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 7/7] net: dsa: b53: allow VID 0 for BCM5325/65 Date: Fri, 28 Nov 2025 09:06:25 +0100 Message-ID: <20251128080625.27181-8-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251128080625.27181-1-jonas.gorski@gmail.com> References: <20251128080625.27181-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now that writing ARL entries works properly, we can actually use VID 0 as the default untagged VLAN for BCM5325 and BCM5365 as well. So use 0 as default PVID for all chips and do not reject VLAN 0 anymore, which we ignored since commit 45e9d59d3950 ("net: dsa: b53: do not allow to configure VLAN 0") anyway. Signed-off-by: Jonas Gorski --- * just let b53_default_pvid() return 0 instead of replacing its call everywhere * drop the explicit rejection of VID 0 for bcm5325/65 * reword and expand the commit message a bit drivers/net/dsa/b53/b53_common.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index ac995f36ed95..a1a177713d99 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -872,10 +872,7 @@ static void b53_enable_stp(struct b53_device *dev) =20 static u16 b53_default_pvid(struct b53_device *dev) { - if (is5325(dev) || is5365(dev)) - return 1; - else - return 0; + return 0; } =20 static bool b53_vlan_port_needs_forced_tagged(struct dsa_switch *ds, int p= ort) @@ -1699,9 +1696,6 @@ static int b53_vlan_prepare(struct dsa_switch *ds, in= t port, { struct b53_device *dev =3D ds->priv; =20 - if ((is5325(dev) || is5365(dev)) && vlan->vid =3D=3D 0) - return -EOPNOTSUPP; - /* Port 7 on 7278 connects to the ASP's UniMAC which is not capable of * receiving VLAN tagged frames at all, we can still allow the port to * be configured for egress untagged. --=20 2.43.0