From patchwork Wed Apr 16 22:48:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Chen X-Patchwork-Id: 14054537 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.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 4F89924293B for ; Wed, 16 Apr 2025 22:48:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843704; cv=none; b=Js1c7ZvB9dxVjdJEHuO31xN4EXg9D6CyiXDewbBbptRjauYru68Ov2e0IO1YB0loedIk3nTFb+FtHCyOjPN1lK5CBCZNWb+Qi7K6oiV0CBEKMcCqH6px2H3lzPRwEEhpPiGjsFG0uVU7XRy6d4vSPdDEigwybTn0Q3A9EVlOmjE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843704; c=relaxed/simple; bh=tIoNp0u0+/MgLeeMVnT0Z0rVAy7QhMVNSR9UBw1UjFI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CRaVKQysp7QeMj/Utuwxh6uKp8wvjzWmS51u4tTHZNxjjh+1u+eGiTWyPkV3BDtnAHZ2bBHrsXJe2CCWYqe7+/JKj62bdvdoracHiVASQYCQ0ESxH6L/J9wVKUd7c3mhnoaYI94P/QsHmroBz/p/pzCYd8LYqWj4o0Km8CxyHjM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=g5+XidPy; arc=none smtp.client-ip=209.85.210.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="g5+XidPy" Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-72bd5f25ea6so34685a34.1 for ; Wed, 16 Apr 2025 15:48:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1744843702; x=1745448502; 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=sPIFkDdLhdqw2hTOoYJMb3YuEHJ4LG/DjDPvYsRlTeI=; b=g5+XidPyKgohsY+ODbRXYhIVKaadVrruige0QDZJ5MW4rrV0c8FDbBi2suYvBwYIi+ 8UFk36X/QC1PqDhMSnzM597FGf7EQZPavILldf6O6J5wtimCIRuDR2aXU3H+zdjiWY5T fhaa4NXO+XBmPa8M05/3TXoirhKj7PlsmW0+E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744843702; x=1745448502; 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=sPIFkDdLhdqw2hTOoYJMb3YuEHJ4LG/DjDPvYsRlTeI=; b=X3GLrXdlIdVhOc4h5s8qqtPDiCYT1wnlu54DiPh/uBePx7fabLhdboB2bNJ6s4316t tpvGc6H/KIQzXgyoybFJpcMIA7VPPv4yFEEobjP88bszqHrqkvwnuNTxJqoXDlJm5IKz ryAi8ocMRHTSudaYrqpoYZRG6RmhccrEDoXk/0ZTubMnzYGmF9YqS8ufeEu/af2u9R5W 5ivzT5FoRgoFtbm9rMaV1xxVxIlqG7tdadodXqRDi2RCz908qclku+3DMoal9/dun8cg baJLNO8kjuchvKYlPyHbLOQNDbhfsVsy/gnK9UcpiGDgCO+lHIiEmZcXut2o8QsmSvg+ x3aw== X-Gm-Message-State: AOJu0YyHMMoYs1TqH4ENa9QwiMLIc3XvPP25vPtlC6tbFlaGVUmvz3EF JEq+LndsVDTqVUFfXSrMfYS1A69aKhj+AKMoBJpxhz1v519jFla23511sueMzsMoFV5N3yocVh6 I6RaUdqs44Ig4I2XS7fvNePPVbdUJAsK8w5gqmpece2Z85IkDBBbQRs74facgm4aYsHZqnZ0T8i ELzIZuqvkTZpOowl6LNv4qaBtzfNpKs6n8D6tJmh0= X-Gm-Gg: ASbGncuqFkC2YhfpsKd+cv3njYlVlG+Ee2MimRat1kTZNUPYlh58ak4WrYOlG4lXsOi sBnfwbVO78Vg5KryVfYrqoELFOGWzoDW04O0eXTEDb5F5arV0QkJyjwxwLKIH49Sxq1Y6ksNhB1 7QxEDa5pnBom156Jzfdq0y0V5S0o8IA8BidGQrDJUGgi9Vx4dYqH/u0hksDi/LJrClENZLNhk10 oTZDP1ehFuIieJu6wP2ouy4veK9RIVCKV+CLPSIWe157TTYKJk17FoLCXD87gvakel4qp6JmPae rms7xrGT48LrT4bGyEvsMBWTJnjtVIdeBC2Mr2cRNjhaApYRKelzRQywPM37QRkqQq97oICq3vc /IVA10RsQjdl/4BEFXw== X-Google-Smtp-Source: AGHT+IGczR6eE2iiFGNN07Lmctb+Wj3/hsSULuzDoLc6TZZ2mhAGoDPsX8qclyjeFGvYS4tiUzKArA== X-Received: by 2002:a05:6830:90f:b0:72b:a61c:cbb2 with SMTP id 46e09a7af769-72ec6bb2dedmr2084804a34.10.1744843701868; Wed, 16 Apr 2025 15:48:21 -0700 (PDT) Received: from stbirv-lnx-1.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d71813sm3015956a34.26.2025.04.16.15.48.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 15:48:21 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: rafal@milecki.pl, linux@armlinux.org.uk, hkallweit1@gmail.com, bcm-kernel-feedback-list@broadcom.com, opendmb@gmail.com, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, florian.fainelli@broadcom.com, Justin Chen Subject: [PATCH net-next 1/5] dt-bindings: net: brcm,asp-v2.0: Add v3.0 and remove v2.0 Date: Wed, 16 Apr 2025 15:48:11 -0700 Message-Id: <20250416224815.2863862-2-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250416224815.2863862-1-justin.chen@broadcom.com> References: <20250416224815.2863862-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org Add asp-v3.0 support. v3.0 is a major revision that reduces the feature set for cost savings. We have a reduced amount of channels and network filters. Remove asp-v2.0 which was only supported on one SoC that never saw the light of day. Signed-off-by: Justin Chen --- .../bindings/net/brcm,asp-v2.0.yaml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml index 660e2ca42daf..21a7f70d220f 100644 --- a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Broadcom ASP 2.0 Ethernet controller +title: Broadcom ASP Ethernet controller maintainers: - Justin Chen @@ -15,6 +15,10 @@ description: Broadcom Ethernet controller first introduced with 72165 properties: compatible: oneOf: + - items: + - enum: + - brcm,bcm74110-asp + - const: brcm,asp-v3.0 - items: - enum: - brcm,bcm74165b0-asp @@ -23,10 +27,6 @@ properties: - enum: - brcm,bcm74165-asp - const: brcm,asp-v2.1 - - items: - - enum: - - brcm,bcm72165-asp - - const: brcm,asp-v2.0 "#address-cells": const: 1 @@ -42,8 +42,7 @@ properties: minItems: 1 items: - description: RX/TX interrupt - - description: Port 0 Wake-on-LAN - - description: Port 1 Wake-on-LAN + - description: Wake-on-LAN interrupt clocks: maxItems: 1 @@ -106,7 +105,7 @@ examples: #include ethernet@9c00000 { - compatible = "brcm,bcm72165-asp", "brcm,asp-v2.0"; + compatible = "brcm,bcm74165-asp", "brcm,asp-v2.1"; reg = <0x9c00000 0x1fff14>; interrupts = ; ranges = <0x0 0x9c00000 0x1fff14>; @@ -115,7 +114,7 @@ examples: #size-cells = <1>; mdio@c614 { - compatible = "brcm,asp-v2.0-mdio"; + compatible = "brcm,asp-v2.1-mdio"; reg = <0xc614 0x8>; reg-names = "mdio"; #address-cells = <1>; @@ -127,7 +126,7 @@ examples: }; mdio@ce14 { - compatible = "brcm,asp-v2.0-mdio"; + compatible = "brcm,asp-v2.1-mdio"; reg = <0xce14 0x8>; reg-names = "mdio"; #address-cells = <1>; From patchwork Wed Apr 16 22:48:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Chen X-Patchwork-Id: 14054538 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.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 CA1BC245019 for ; Wed, 16 Apr 2025 22:48:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843706; cv=none; b=Mn11qiXbrBqOvcqtAKz1Tcz/Rln10s+rt0RjYoV0zX21cCFrPvM/MW4j2dD9ArI05UZ6arv+nrt2gDWdzwmE2yZJw0PM0MsvtMbWhTmtcrqmAVmlDGiaxrby04L7og8u356o5638zPlaQfzbnHlhqnxmo0tbh3+6ULyK+XmtzqI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843706; c=relaxed/simple; bh=syPYbJ+CX3gQ/ZgE9xnZGvED4BvjLmu9SzN8FBkVmno=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HuR2n8flgPYuR4LX0aGXDgaieL6y7EDpwdnPtKSM7i/B7t2l10CeHvP74Z2kDK45N/ISB4AM07rJmlSOUl73lAvNa7Bk9wiK/1AaiwmdArPvUWHPzY3KH7JDEl/Ak73dBnZLBGHI5wFiEE9ML/uunTezLWoGNi1bCe5NC0V1TMg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=RJpjurMy; arc=none smtp.client-ip=209.85.160.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="RJpjurMy" Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-2c2c754af3cso49588fac.3 for ; Wed, 16 Apr 2025 15:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1744843703; x=1745448503; 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=FRArN1ZnNcOw2VZXjNArOLq67cYsKNI+dicz2oX9MdE=; b=RJpjurMyw9n3ma1Iag7Us8o9PwkJMdUvB8dI6kmbCI6aH3rUWBzQlPyXhJnGnM/On2 I02IrrpJ1LG7yzFRFHtnIWeaMdXAIV8XgRKJP15BgTaM0ZRpelE/QOp1wGu6CawgaI0D fanau6sjq07QUvWGlCKHew4CPM9yxBAo0emDI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744843703; x=1745448503; 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=FRArN1ZnNcOw2VZXjNArOLq67cYsKNI+dicz2oX9MdE=; b=RTeaB3LJwAYMPjyuqV7+UMFMGbJyo/tWkKm8CIrQSevvz6CYEoXl9WaS1zHjsnInNw RbUYZSRxbDmEDDVfBH9NK1kzOlD1xMzLZZbR1GpGqoSF+192K8rEhBCXuoFHvBZCb+nC X/7KVYF9JjRl7mr+OKaQRD0KLCBzr+PZ/14by5iEBqa9pVY3nk0sSYUOO8j8/JLLuDTX e/EOEvPLq0Yl4WUrujX+N5Wmch/iwwzTMFwZlFul9DhEJgj9gomcqnF5U5hnaQjLaVcZ nPKNai0OcR552ls6bAtKXGipVdI+K0EmYcdOCk/nci9Osw8YKfL0HhxVjTWIesTJaeDt hq/Q== X-Gm-Message-State: AOJu0YxHb1N4XUQoONHFjzG8PkRCrZC4XK+78o7w/h4tM4satyv+erZ2 1gQjFNjaofLsnNahV8oJ/5Ms9HDBlFutRkkb2V6PG+UQ+VM4vHeKyJRzeJy7K9UaYMRYrUDMV9Y XhSRwBwZ8icWNyvSsZnhpjUhuYh+ntRF2AmckFO/AOPxb7PzOmNnOjMOiA7DsgpAJrhXJoPkkXc qz0bWUfZk98nyW5fZTFJ2X41zReGg7SCF/ykiVsvQ= X-Gm-Gg: ASbGnctagk661uMrbkDjXhZJk3o1ROhGeLkKOlhR3oC+I5haodv+zZcJqpxfkLJv1ha 0ZRE+8BpSkKwAmHS4z9xhBTU/8BF1tZTK0ji2tEPPD4gJSKx8iJTTNZPDvwFT/3kOZBcsXzrIKP j8uWNuc4ycvAa78npSRpt+w9tIcPJwIWIPeHVzUBMruE68/yThBW/CgJBB5/2jrJV/R5UP2SFgM 6I73w4OUpLw/HGg7FvMfghoZd2ccnxFSxi1eiZB9MRix4ihiulLkux+klo4OsfxN+Kq5TfgKTmn EsAEwl4TNnCtTaEfKUTRfm3YLtMpcNZHqRti0n9BZ8U22NIuRxy4d/tQoNlufklzRwTD4RksRfy qQKO+7HdYvdHiqYgL6g== X-Google-Smtp-Source: AGHT+IFwNrdhL9eULNQPTOZG27V5rGgoZCtv7V3NntsURdza/jYLsRlk7JL2rxw9Rp/yg1njK7EUWg== X-Received: by 2002:a05:6871:4106:b0:2b8:e6f2:ba7e with SMTP id 586e51a60fabf-2d4d2a9239bmr2266278fac.12.1744843703581; Wed, 16 Apr 2025 15:48:23 -0700 (PDT) Received: from stbirv-lnx-1.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d71813sm3015956a34.26.2025.04.16.15.48.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 15:48:23 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: rafal@milecki.pl, linux@armlinux.org.uk, hkallweit1@gmail.com, bcm-kernel-feedback-list@broadcom.com, opendmb@gmail.com, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, florian.fainelli@broadcom.com, Justin Chen Subject: [PATCH net-next 2/5] dt-bindings: net: brcm,unimac-mdio: Add v3.0 and remove v2.0 Date: Wed, 16 Apr 2025 15:48:12 -0700 Message-Id: <20250416224815.2863862-3-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250416224815.2863862-1-justin.chen@broadcom.com> References: <20250416224815.2863862-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The asp-v3.0 Ethernet controller uses a brcm unimac like its predecessor. Remove asp-v2.0 which was only supported on one SoC that never saw the light of day. Signed-off-by: Justin Chen --- Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml b/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml index 63bee5b542f5..43516dd357b8 100644 --- a/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml +++ b/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml @@ -22,9 +22,9 @@ properties: - brcm,genet-mdio-v3 - brcm,genet-mdio-v4 - brcm,genet-mdio-v5 - - brcm,asp-v2.0-mdio - brcm,asp-v2.1-mdio - brcm,asp-v2.2-mdio + - brcm,asp-v3.0-mdio - brcm,unimac-mdio - brcm,bcm6846-mdio From patchwork Wed Apr 16 22:48:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Chen X-Patchwork-Id: 14054539 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.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 6BFBB2459E3 for ; Wed, 16 Apr 2025 22:48:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843708; cv=none; b=bGLeudNbLCxlIbdNQxzoiQ6v5OuKRtC0+EaUvXkRLWzQQnsSc+8Nvnz6CBOboi5DTymupllo3uFu7yZcTM4G3fLLLTX/1D9L/vk9NACP14zEhO3bzFpA8VpAlYEEs276fEU1DwW/+zTxd6fnv/eFdR6vAmOrYH5Pr+dME1WBJXo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843708; c=relaxed/simple; bh=159ULwvDMtPYBOoa4wD6mVkZFhP8Fodgq58ywFafh1E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=d9QX0o6S0hAIilrDy2+bWqnLzMfc75/+BRFWN2CX+WRlXmn5qBduLzbFNphqz0+hnT9cZJZwyctvIcLOi7goeLEzyNZa8tKMccx4RgXRomO71BwxoNItZ6JHCyhULwlWT9LoZ4qaLRaGZpmW7pwCZY6Ji3gHU//FY7zRscQ7JQ0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=EGMP/Xx7; arc=none smtp.client-ip=209.85.160.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="EGMP/Xx7" Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-2cc89c59cc0so722083fac.0 for ; Wed, 16 Apr 2025 15:48:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1744843705; x=1745448505; 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=UY8JzdCLfohPOTgU54JiViTQYDrjESSExXV36Tvj0+A=; b=EGMP/Xx7nqV06DjLxUa7vAdJzWxjOfPAntF7yZXVTy9ZRpeSCnmqykJzbTJVMZeNjP vUPjlZ9mIglRV6I4Sp8/42NpTbHHxiCw8KT4gmn3+gH3gcI2s4mOSLD+IgMcy41RdUCM mG7IDEa8hvKsKdQVUWQLbbIg0rZi+CmLGvnB0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744843705; x=1745448505; 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=UY8JzdCLfohPOTgU54JiViTQYDrjESSExXV36Tvj0+A=; b=nkKofQ1vExUg9jOZEGF6v7cMtHKLBtMdRqbUOCQduk0iR08gH7UubDmGlxII67LmIA 8q7k3p6iLBOMe5Sx0sdEAc+/xvBAXJ3j4JuAf0FQS8MsIMELtYTuWgJNVrD3xM80EDPI OUxa1xpo0/dRX7bB3k8A19b/TORPd8SAvIr3+T/UPEb6XxT1bUrGCCMqR8dXPSAqdMhO X6c7hrkf6SJHuufa9vlnCOegSjhXH9y7E2f83/wLpnMGnmAWd+eZPebg1F9a5cb9w53b 1CHWolNH6urp0b3JWuSGqP8UDWvzqLxe6zPGMjdxNkCj5jGoC6nNYwhcbi/1IMBkEn9f 0zMA== X-Gm-Message-State: AOJu0YxM5hNSt5S0umwJp9rn2+yNL4qR3DUXa+Hf3QbfLCeTqQFOfM3i vl67YitQByP91yhIz1F+ombVeg4T6Tz6Mu/BLf9Gp+5SjmpUyMxya5QgZGwbtXPBFngf/n8Vhiq GgumhZ1UNxRRV1OHyfuvhgG8TpdWtB8SMvQJlNw0ONClvAKCewgL0j0Zn8nwYI90ENIcTS8qVmH OQ39xu4e6eVRpZ1Rw3Tt574e+tHHJvVcFTgdncNLk= X-Gm-Gg: ASbGncvslOY0pfHZSgximE39Wjzu4EX6UrpJDwidjoQqjfromj+IQDEyvrjUtvIvaD2 egN1R2PMZJjL1sLNL8uBjNktgjYW0fXDgZEVKucSOaJg2EygpZYjVKdhHVewbe0mjuI0G3IiHur pYQujQuPMR0iniMXYlJZJE2axTFyACs6kBKunHpb2/xVTXmOoTnQTl7qY6BF6u3RcCqOhtWQd2H 2BxViM0AlGHyAmF7w0lVDG5V1EhbLNxAW+n8L8XgHP30kFd/hd4MLld7xiqVTRPvH7L5S9fGtlt W6wXqyfOsb8/9YZhGbwWO83SR7vXkPXo3EkuwvkeWM7hV1avg+hKJ9JREGpaux9BzGk2gvVIfeF cVd2UbcVrueFP4THTPA== X-Google-Smtp-Source: AGHT+IEWpfZXf3zJgNds8sZbDBHIXFAweWSc9QBAKodlG47rxC9SQiFDkLpZZksw8SIQ/5riwzTFlA== X-Received: by 2002:a05:6870:79f:b0:2b8:b76f:1196 with SMTP id 586e51a60fabf-2d4f2d56596mr333307fac.19.1744843705334; Wed, 16 Apr 2025 15:48:25 -0700 (PDT) Received: from stbirv-lnx-1.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d71813sm3015956a34.26.2025.04.16.15.48.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 15:48:25 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: rafal@milecki.pl, linux@armlinux.org.uk, hkallweit1@gmail.com, bcm-kernel-feedback-list@broadcom.com, opendmb@gmail.com, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, florian.fainelli@broadcom.com, Justin Chen Subject: [PATCH net-next 3/5] net: bcmasp: Remove support for asp-v2.0 Date: Wed, 16 Apr 2025 15:48:13 -0700 Message-Id: <20250416224815.2863862-4-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250416224815.2863862-1-justin.chen@broadcom.com> References: <20250416224815.2863862-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The SoC that supported asp-v2.0 never saw the light of day. asp-v2.0 has quirks that makes the logic overly complicated. For example, asp-v2.0 is the only revision that has a different wake up IRQ hook up. Remove asp-v2.0 support to make supporting future HW revisions cleaner. Signed-off-by: Justin Chen --- drivers/net/ethernet/broadcom/asp2/bcmasp.c | 98 ++----------------- drivers/net/ethernet/broadcom/asp2/bcmasp.h | 45 ++------- .../ethernet/broadcom/asp2/bcmasp_ethtool.c | 21 +--- .../net/ethernet/broadcom/asp2/bcmasp_intf.c | 2 +- .../ethernet/broadcom/asp2/bcmasp_intf_defs.h | 3 +- 5 files changed, 23 insertions(+), 146 deletions(-) diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c index a68fab1b05f0..b00e24e871a2 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c @@ -141,7 +141,7 @@ void bcmasp_flush_rx_port(struct bcmasp_intf *intf) return; } - rx_ctrl_core_wl(priv, mask, priv->hw_info->rx_ctrl_flush); + rx_ctrl_core_wl(priv, mask, ASP_RX_CTRL_FLUSH); } static void bcmasp_netfilt_hw_en_wake(struct bcmasp_priv *priv, @@ -1108,7 +1108,7 @@ static int bcmasp_get_and_request_irq(struct bcmasp_priv *priv, int i) return irq; } -static void bcmasp_init_wol_shared(struct bcmasp_priv *priv) +static void bcmasp_init_wol(struct bcmasp_priv *priv) { struct platform_device *pdev = priv->pdev; struct device *dev = &pdev->dev; @@ -1125,7 +1125,7 @@ static void bcmasp_init_wol_shared(struct bcmasp_priv *priv) device_set_wakeup_capable(&pdev->dev, 1); } -static void bcmasp_enable_wol_shared(struct bcmasp_intf *intf, bool en) +void bcmasp_enable_wol(struct bcmasp_intf *intf, bool en) { struct bcmasp_priv *priv = intf->parent; struct device *dev = &priv->pdev->dev; @@ -1154,54 +1154,12 @@ static void bcmasp_enable_wol_shared(struct bcmasp_intf *intf, bool en) } } -static void bcmasp_wol_irq_destroy_shared(struct bcmasp_priv *priv) +static void bcmasp_wol_irq_destroy(struct bcmasp_priv *priv) { if (priv->wol_irq > 0) free_irq(priv->wol_irq, priv); } -static void bcmasp_init_wol_per_intf(struct bcmasp_priv *priv) -{ - struct platform_device *pdev = priv->pdev; - struct device *dev = &pdev->dev; - struct bcmasp_intf *intf; - int irq; - - list_for_each_entry(intf, &priv->intfs, list) { - irq = bcmasp_get_and_request_irq(priv, intf->port + 1); - if (irq < 0) { - dev_warn(dev, "Failed to init WoL irq(port %d): %d\n", - intf->port, irq); - continue; - } - - intf->wol_irq = irq; - intf->wol_irq_enabled = false; - device_set_wakeup_capable(&pdev->dev, 1); - } -} - -static void bcmasp_enable_wol_per_intf(struct bcmasp_intf *intf, bool en) -{ - struct device *dev = &intf->parent->pdev->dev; - - if (en ^ intf->wol_irq_enabled) - irq_set_irq_wake(intf->wol_irq, en); - - intf->wol_irq_enabled = en; - device_set_wakeup_enable(dev, en); -} - -static void bcmasp_wol_irq_destroy_per_intf(struct bcmasp_priv *priv) -{ - struct bcmasp_intf *intf; - - list_for_each_entry(intf, &priv->intfs, list) { - if (intf->wol_irq > 0) - free_irq(intf->wol_irq, priv); - } -} - static void bcmasp_eee_fixup(struct bcmasp_intf *intf, bool en) { u32 reg, phy_lpi_overwrite; @@ -1220,60 +1178,23 @@ static void bcmasp_eee_fixup(struct bcmasp_intf *intf, bool en) usleep_range(50, 100); } -static struct bcmasp_hw_info v20_hw_info = { - .rx_ctrl_flush = ASP_RX_CTRL_FLUSH, - .umac2fb = UMAC2FB_OFFSET, - .rx_ctrl_fb_out_frame_count = ASP_RX_CTRL_FB_OUT_FRAME_COUNT, - .rx_ctrl_fb_filt_out_frame_count = ASP_RX_CTRL_FB_FILT_OUT_FRAME_COUNT, - .rx_ctrl_fb_rx_fifo_depth = ASP_RX_CTRL_FB_RX_FIFO_DEPTH, -}; - -static const struct bcmasp_plat_data v20_plat_data = { - .init_wol = bcmasp_init_wol_per_intf, - .enable_wol = bcmasp_enable_wol_per_intf, - .destroy_wol = bcmasp_wol_irq_destroy_per_intf, - .core_clock_select = bcmasp_core_clock_select_one, - .hw_info = &v20_hw_info, -}; - -static struct bcmasp_hw_info v21_hw_info = { - .rx_ctrl_flush = ASP_RX_CTRL_FLUSH_2_1, - .umac2fb = UMAC2FB_OFFSET_2_1, - .rx_ctrl_fb_out_frame_count = ASP_RX_CTRL_FB_OUT_FRAME_COUNT_2_1, - .rx_ctrl_fb_filt_out_frame_count = - ASP_RX_CTRL_FB_FILT_OUT_FRAME_COUNT_2_1, - .rx_ctrl_fb_rx_fifo_depth = ASP_RX_CTRL_FB_RX_FIFO_DEPTH_2_1, -}; - static const struct bcmasp_plat_data v21_plat_data = { - .init_wol = bcmasp_init_wol_shared, - .enable_wol = bcmasp_enable_wol_shared, - .destroy_wol = bcmasp_wol_irq_destroy_shared, .core_clock_select = bcmasp_core_clock_select_one, - .hw_info = &v21_hw_info, + .eee_fixup = NULL; }; static const struct bcmasp_plat_data v22_plat_data = { - .init_wol = bcmasp_init_wol_shared, - .enable_wol = bcmasp_enable_wol_shared, - .destroy_wol = bcmasp_wol_irq_destroy_shared, .core_clock_select = bcmasp_core_clock_select_many, - .hw_info = &v21_hw_info, .eee_fixup = bcmasp_eee_fixup, }; static void bcmasp_set_pdata(struct bcmasp_priv *priv, const struct bcmasp_plat_data *pdata) { - priv->init_wol = pdata->init_wol; - priv->enable_wol = pdata->enable_wol; - priv->destroy_wol = pdata->destroy_wol; priv->core_clock_select = pdata->core_clock_select; priv->eee_fixup = pdata->eee_fixup; - priv->hw_info = pdata->hw_info; } static const struct of_device_id bcmasp_of_match[] = { - { .compatible = "brcm,asp-v2.0", .data = &v20_plat_data }, { .compatible = "brcm,asp-v2.1", .data = &v21_plat_data }, { .compatible = "brcm,asp-v2.2", .data = &v22_plat_data }, { /* sentinel */ }, @@ -1281,9 +1202,8 @@ static const struct of_device_id bcmasp_of_match[] = { MODULE_DEVICE_TABLE(of, bcmasp_of_match); static const struct of_device_id bcmasp_mdio_of_match[] = { - { .compatible = "brcm,asp-v2.2-mdio", }, { .compatible = "brcm,asp-v2.1-mdio", }, - { .compatible = "brcm,asp-v2.0-mdio", }, + { .compatible = "brcm,asp-v2.2-mdio", }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, bcmasp_mdio_of_match); @@ -1387,7 +1307,7 @@ static int bcmasp_probe(struct platform_device *pdev) } /* Check and enable WoL */ - priv->init_wol(priv); + bcmasp_init_wol(priv); /* Drop the clock reference count now and let ndo_open()/ndo_close() * manage it for us from now on. @@ -1404,7 +1324,7 @@ static int bcmasp_probe(struct platform_device *pdev) if (ret) { netdev_err(intf->ndev, "failed to register net_device: %d\n", ret); - priv->destroy_wol(priv); + bcmasp_wol_irq_destroy(priv); bcmasp_remove_intfs(priv); goto of_put_exit; } @@ -1425,7 +1345,7 @@ static void bcmasp_remove(struct platform_device *pdev) if (!priv) return; - priv->destroy_wol(priv); + bcmasp_wol_irq_destroy(priv); bcmasp_remove_intfs(priv); } diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.h b/drivers/net/ethernet/broadcom/asp2/bcmasp.h index 8fc75bcedb70..6f49ebad4e99 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.h +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.h @@ -53,22 +53,15 @@ #define ASP_RX_CTRL_FB_0_FRAME_COUNT 0x14 #define ASP_RX_CTRL_FB_1_FRAME_COUNT 0x18 #define ASP_RX_CTRL_FB_8_FRAME_COUNT 0x1c -/* asp2.1 diverges offsets here */ -/* ASP2.0 */ -#define ASP_RX_CTRL_FB_OUT_FRAME_COUNT 0x20 -#define ASP_RX_CTRL_FB_FILT_OUT_FRAME_COUNT 0x24 -#define ASP_RX_CTRL_FLUSH 0x28 -#define ASP_CTRL_UMAC0_FLUSH_MASK (BIT(0) | BIT(12)) -#define ASP_CTRL_UMAC1_FLUSH_MASK (BIT(1) | BIT(13)) -#define ASP_CTRL_SPB_FLUSH_MASK (BIT(8) | BIT(20)) -#define ASP_RX_CTRL_FB_RX_FIFO_DEPTH 0x30 -/* ASP2.1 */ -#define ASP_RX_CTRL_FB_9_FRAME_COUNT_2_1 0x20 -#define ASP_RX_CTRL_FB_10_FRAME_COUNT_2_1 0x24 -#define ASP_RX_CTRL_FB_OUT_FRAME_COUNT_2_1 0x28 -#define ASP_RX_CTRL_FB_FILT_OUT_FRAME_COUNT_2_1 0x2c -#define ASP_RX_CTRL_FLUSH_2_1 0x30 -#define ASP_RX_CTRL_FB_RX_FIFO_DEPTH_2_1 0x38 +#define ASP_RX_CTRL_FB_9_FRAME_COUNT 0x20 +#define ASP_RX_CTRL_FB_10_FRAME_COUNT 0x24 +#define ASP_RX_CTRL_FB_OUT_FRAME_COUNT 0x28 +#define ASP_RX_CTRL_FB_FILT_OUT_FRAME_COUNT 0x2c +#define ASP_RX_CTRL_FLUSH 0x30 +#define ASP_CTRL_UMAC0_FLUSH_MASK (BIT(0) | BIT(12)) +#define ASP_CTRL_UMAC1_FLUSH_MASK (BIT(1) | BIT(13)) +#define ASP_CTRL_SPB_FLUSH_MASK (BIT(8) | BIT(20)) +#define ASP_RX_CTRL_FB_RX_FIFO_DEPTH 0x38 #define ASP_RX_FILTER_OFFSET 0x80000 #define ASP_RX_FILTER_BLK_CTRL 0x0 @@ -345,9 +338,6 @@ struct bcmasp_intf { u32 wolopts; u8 sopass[SOPASS_MAX]; - /* Used if per intf wol irq */ - int wol_irq; - unsigned int wol_irq_enabled:1; }; #define NUM_NET_FILTERS 32 @@ -370,21 +360,9 @@ struct bcmasp_mda_filter { u8 mask[ETH_ALEN]; }; -struct bcmasp_hw_info { - u32 rx_ctrl_flush; - u32 umac2fb; - u32 rx_ctrl_fb_out_frame_count; - u32 rx_ctrl_fb_filt_out_frame_count; - u32 rx_ctrl_fb_rx_fifo_depth; -}; - struct bcmasp_plat_data { - void (*init_wol)(struct bcmasp_priv *priv); - void (*enable_wol)(struct bcmasp_intf *intf, bool en); - void (*destroy_wol)(struct bcmasp_priv *priv); void (*core_clock_select)(struct bcmasp_priv *priv, bool slow); void (*eee_fixup)(struct bcmasp_intf *priv, bool en); - struct bcmasp_hw_info *hw_info; }; struct bcmasp_priv { @@ -399,14 +377,10 @@ struct bcmasp_priv { int wol_irq; unsigned long wol_irq_enabled_mask; - void (*init_wol)(struct bcmasp_priv *priv); - void (*enable_wol)(struct bcmasp_intf *intf, bool en); - void (*destroy_wol)(struct bcmasp_priv *priv); void (*core_clock_select)(struct bcmasp_priv *priv, bool slow); void (*eee_fixup)(struct bcmasp_intf *intf, bool en); void __iomem *base; - struct bcmasp_hw_info *hw_info; struct list_head intfs; @@ -599,4 +573,5 @@ int bcmasp_netfilt_get_all_active(struct bcmasp_intf *intf, u32 *rule_locs, void bcmasp_netfilt_suspend(struct bcmasp_intf *intf); +void bcmasp_enable_wol(struct bcmasp_intf *intf, bool en); #endif diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c index a537c121d3e2..991a87096e08 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c @@ -71,23 +71,6 @@ static const struct bcmasp_stats bcmasp_gstrings_stats[] = { #define BCMASP_STATS_LEN ARRAY_SIZE(bcmasp_gstrings_stats) -static u16 bcmasp_stat_fixup_offset(struct bcmasp_intf *intf, - const struct bcmasp_stats *s) -{ - struct bcmasp_priv *priv = intf->parent; - - if (!strcmp("Frames Out(Buffer)", s->stat_string)) - return priv->hw_info->rx_ctrl_fb_out_frame_count; - - if (!strcmp("Frames Out(Filters)", s->stat_string)) - return priv->hw_info->rx_ctrl_fb_filt_out_frame_count; - - if (!strcmp("RX Buffer FIFO Depth", s->stat_string)) - return priv->hw_info->rx_ctrl_fb_rx_fifo_depth; - - return s->reg_offset; -} - static int bcmasp_get_sset_count(struct net_device *dev, int string_set) { switch (string_set) { @@ -126,7 +109,7 @@ static void bcmasp_update_mib_counters(struct bcmasp_intf *intf) char *p; s = &bcmasp_gstrings_stats[i]; - offset = bcmasp_stat_fixup_offset(intf, s); + offset = s->reg_offset; switch (s->type) { case BCMASP_STAT_SOFT: continue; @@ -215,7 +198,7 @@ static int bcmasp_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) memcpy(intf->sopass, wol->sopass, sizeof(wol->sopass)); mutex_lock(&priv->wol_lock); - priv->enable_wol(intf, !!intf->wolopts); + bcmasp_enable_wol(intf, !!intf->wolopts); mutex_unlock(&priv->wol_lock); return 0; diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c index 45ec1a9214a2..01de05ec3ebc 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c @@ -1185,7 +1185,7 @@ static void bcmasp_map_res(struct bcmasp_priv *priv, struct bcmasp_intf *intf) { /* Per port */ intf->res.umac = priv->base + UMC_OFFSET(intf); - intf->res.umac2fb = priv->base + (priv->hw_info->umac2fb + + intf->res.umac2fb = priv->base + (UMAC2FB_OFFSET + (intf->port * 0x4)); intf->res.rgmii = priv->base + RGMII_OFFSET(intf); diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf_defs.h b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf_defs.h index ad742612895f..af7418348e81 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf_defs.h +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf_defs.h @@ -118,8 +118,7 @@ #define UMC_PSW_MS 0x624 #define UMC_PSW_LS 0x628 -#define UMAC2FB_OFFSET_2_1 0x9f044 -#define UMAC2FB_OFFSET 0x9f03c +#define UMAC2FB_OFFSET 0x9f044 #define UMAC2FB_CFG 0x0 #define UMAC2FB_CFG_OPUT_EN BIT(0) #define UMAC2FB_CFG_VLAN_EN BIT(1) From patchwork Wed Apr 16 22:48:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Chen X-Patchwork-Id: 14054540 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) (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 5893724293C for ; Wed, 16 Apr 2025 22:48:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843710; cv=none; b=E6jb843j5xIfEDTZ1/+cQWe7TVcjZW/NmBhry6+AiaIDN4xJlK0KPvbFcxNot/Eh1tto+3SLoPWzmTnbOBbM2hm82l8dUXhE8hYX5JmzY8SIWoX5SzLpmorPYiv6fKTqtwvlNWMNwfb9Fb9op4OzIynoDX6zHB9rEBP7JBLBPXQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843710; c=relaxed/simple; bh=v4B+3gljFsdKb6seh9cwpDyTfwv4LhXiFwB6otCTqyw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LSzF52GECKOql9H77rfaUnSuH7AfydhC6ovvO7Ic9jovQDDNbitjEpNxhLCFxoW5Nzo+vLsAodOMdNJZErjYcc1CyzxTI++xVtsR0Ik+PcSzd3tsPrJWswvHcpHR0+qaW//KMTMd1y9eoqYBzQNS5stWUEoTG4xys2lQIr7qiRc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=CsHqaOun; arc=none smtp.client-ip=209.85.210.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="CsHqaOun" Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-72c1425fbfcso85059a34.3 for ; Wed, 16 Apr 2025 15:48:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1744843707; x=1745448507; 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=iS/WOfJJLb6Ummx3VGxSWUSwRdAmBrC7CLQN6osbYlE=; b=CsHqaOuniuhDlurXOdHfMYN/r8AetgKRUC/jn1cp9aIPADh6XsexfVowFpJ7BBEhGl N0Uu63Ni8MNK5OP1Pvk1E6Rd53UFDdQxmSPjlUAQz9b6/NrkjXMmxdM1yQbYDm66VO1+ KpdG4CTk7hQ3oxaultdpsN6eJY5GgB2ZiYEqM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744843707; x=1745448507; 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=iS/WOfJJLb6Ummx3VGxSWUSwRdAmBrC7CLQN6osbYlE=; b=xUMJsQyPRMDCdEm9fzYA2Sm0qon4cmqAGEP2aw8TK1bDAdWuRHHTneYyFy7TyGkGRg FaUuHBJy/+gIedYRS2a6gedGcMFwG2Vay/kEgQNo98/MGPHWftgz+h3MmtMJbW/dBurZ EMp2jpq5cC6e+BmdS9rak4Qz5KOhmpg0Myk3/ZPkaDwV5uYgQf2olLPvRIs6vtfr6irU S8EFMP9jJ1LVLBSNNpxqFEVWpyeYEkQVrYVRDZRUSxSJsP9GLQqf64YMhJDFaSkiWQtL 1JekU0GdZeywLHeAO9Kbgd9zcnBnUvDUT2V4kUqxxF6CDlSuWgezWlk/uPkZzDIL2hzh PLRw== X-Gm-Message-State: AOJu0YyG3QKZsDyG85zhl0P+F9Y3gXFna1FZEC0s4KNGI18yt4tcGVYp nBuKy8xfgwDqCV/BJRosg/BxvaflCtzzQpqrUetDadakg8BoKehzBDpeQ1etl7CaYSYnx9+fGRO ums2qgljqrZj33jReNkJeldOWL1RehY7CFvRRIshmxDmtPEnPOTRnLC5IfTO/SIja6XnziyE134 DpO7gbVCeaACIFW9LtFQiRaGe9QxQRJ0uYTSuLl8c= X-Gm-Gg: ASbGncvq5hEkT/R/xSVI+0UUvVOJ65VW5saMlptWyYZkpqWdI2zUaIfHtlDutaegRT6 DgsW0WxIQ4mY763tG8L5KBC6K/8/MsE2xek+W+ZLre28pLydxeKACBqmkhgBpHEGFKNJNbAb7cq YP3pbeV+aBVqdBK5A42+hSSKLV+qGFEKaxpgbfPeFKO9+MUE2B4BRkH3E6UZOXTBKHx1wGn08iX 77uzxLSTk7my9bOZhTJRQHN86XpIU8URiHuKLvRRQyw+dHfjrnl+pHmMz2q9awrCZGbaOWYUtna 6KhWp5vstrXM0FiDi4KnPlGNAINFcpJ1fsFzKrMg99DLQuzRyCIFKBD+yC9kJxDEudoCvvAmNlK 3NlKrZ4q6I6wEdWmR/Q== X-Google-Smtp-Source: AGHT+IFXTQ7iDG6CKa6yOnQwPt42o8CUXLpux511COxNo8yqDrmrrHiIbxpS+nfftd/6PDdEf5KyPw== X-Received: by 2002:a05:6830:270d:b0:72c:4032:76f with SMTP id 46e09a7af769-72ec6bf3cfbmr2887945a34.12.1744843707096; Wed, 16 Apr 2025 15:48:27 -0700 (PDT) Received: from stbirv-lnx-1.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d71813sm3015956a34.26.2025.04.16.15.48.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 15:48:26 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: rafal@milecki.pl, linux@armlinux.org.uk, hkallweit1@gmail.com, bcm-kernel-feedback-list@broadcom.com, opendmb@gmail.com, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, florian.fainelli@broadcom.com, Justin Chen Subject: [PATCH net-next 4/5] net: bcmasp: Add support for asp-v3.0 Date: Wed, 16 Apr 2025 15:48:14 -0700 Message-Id: <20250416224815.2863862-5-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250416224815.2863862-1-justin.chen@broadcom.com> References: <20250416224815.2863862-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The asp-v3.0 is a major HW revision that reduced the number of channels and filters. The goal was to save cost by reducing the feature set. Changes for asp-v3.0 - Number of network filters were reduced. - Number of channels were reduced. - EDPKT stats were removed. - Fix a bug with csum offload. Signed-off-by: Justin Chen --- drivers/net/ethernet/broadcom/asp2/bcmasp.c | 82 +++++++++++++------ drivers/net/ethernet/broadcom/asp2/bcmasp.h | 33 ++++++-- .../ethernet/broadcom/asp2/bcmasp_ethtool.c | 15 +--- .../net/ethernet/broadcom/asp2/bcmasp_intf.c | 13 ++- 4 files changed, 94 insertions(+), 49 deletions(-) diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c index b00e24e871a2..66ec01eb599c 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c @@ -518,7 +518,7 @@ void bcmasp_netfilt_suspend(struct bcmasp_intf *intf) int ret, i; /* Write all filters to HW */ - for (i = 0; i < NUM_NET_FILTERS; i++) { + for (i = 0; i < priv->num_net_filters; i++) { /* If the filter does not match the port, skip programming. */ if (!priv->net_filters[i].claimed || priv->net_filters[i].port != intf->port) @@ -551,7 +551,7 @@ int bcmasp_netfilt_get_all_active(struct bcmasp_intf *intf, u32 *rule_locs, struct bcmasp_priv *priv = intf->parent; int j = 0, i; - for (i = 0; i < NUM_NET_FILTERS; i++) { + for (i = 0; i < priv->num_net_filters; i++) { if (!priv->net_filters[i].claimed || priv->net_filters[i].port != intf->port) continue; @@ -577,7 +577,7 @@ int bcmasp_netfilt_get_active(struct bcmasp_intf *intf) struct bcmasp_priv *priv = intf->parent; int cnt = 0, i; - for (i = 0; i < NUM_NET_FILTERS; i++) { + for (i = 0; i < priv->num_net_filters; i++) { if (!priv->net_filters[i].claimed || priv->net_filters[i].port != intf->port) continue; @@ -602,7 +602,7 @@ bool bcmasp_netfilt_check_dup(struct bcmasp_intf *intf, size_t fs_size = 0; int i; - for (i = 0; i < NUM_NET_FILTERS; i++) { + for (i = 0; i < priv->num_net_filters; i++) { if (!priv->net_filters[i].claimed || priv->net_filters[i].port != intf->port) continue; @@ -670,7 +670,7 @@ struct bcmasp_net_filter *bcmasp_netfilt_get_init(struct bcmasp_intf *intf, int i, open_index = -1; /* Check whether we exceed the filter table capacity */ - if (loc != RX_CLS_LOC_ANY && loc >= NUM_NET_FILTERS) + if (loc != RX_CLS_LOC_ANY && loc >= priv->num_net_filters) return ERR_PTR(-EINVAL); /* If the filter location is busy (already claimed) and we are initializing @@ -686,7 +686,7 @@ struct bcmasp_net_filter *bcmasp_netfilt_get_init(struct bcmasp_intf *intf, /* Initialize the loop index based on the desired location or from 0 */ i = loc == RX_CLS_LOC_ANY ? 0 : loc; - for ( ; i < NUM_NET_FILTERS; i++) { + for ( ; i < priv->num_net_filters; i++) { /* Found matching network filter */ if (!init && priv->net_filters[i].claimed && @@ -779,7 +779,7 @@ static void bcmasp_en_mda_filter(struct bcmasp_intf *intf, bool en, priv->mda_filters[i].en = en; priv->mda_filters[i].port = intf->port; - rx_filter_core_wl(priv, ((intf->channel + 8) | + rx_filter_core_wl(priv, ((intf->channel + priv->tx_chan_offset) | (en << ASP_RX_FILTER_MDA_CFG_EN_SHIFT) | ASP_RX_FILTER_MDA_CFG_UMC_SEL(intf->port)), ASP_RX_FILTER_MDA_CFG(i)); @@ -865,7 +865,7 @@ void bcmasp_disable_all_filters(struct bcmasp_intf *intf) res_count = bcmasp_total_res_mda_cnt(intf->parent); /* Disable all filters held by this port */ - for (i = res_count; i < NUM_MDA_FILTERS; i++) { + for (i = res_count; i < priv->num_mda_filters; i++) { if (priv->mda_filters[i].en && priv->mda_filters[i].port == intf->port) bcmasp_en_mda_filter(intf, 0, i); @@ -909,7 +909,7 @@ int bcmasp_set_en_mda_filter(struct bcmasp_intf *intf, unsigned char *addr, res_count = bcmasp_total_res_mda_cnt(intf->parent); - for (i = res_count; i < NUM_MDA_FILTERS; i++) { + for (i = res_count; i < priv->num_mda_filters; i++) { /* If filter not enabled or belongs to another port skip */ if (!priv->mda_filters[i].en || priv->mda_filters[i].port != intf->port) @@ -924,7 +924,7 @@ int bcmasp_set_en_mda_filter(struct bcmasp_intf *intf, unsigned char *addr, } /* Create new filter if possible */ - for (i = res_count; i < NUM_MDA_FILTERS; i++) { + for (i = res_count; i < priv->num_mda_filters; i++) { if (priv->mda_filters[i].en) continue; @@ -944,12 +944,12 @@ static void bcmasp_core_init_filters(struct bcmasp_priv *priv) /* Disable all filters and reset software view since the HW * can lose context while in deep sleep suspend states */ - for (i = 0; i < NUM_MDA_FILTERS; i++) { + for (i = 0; i < priv->num_mda_filters; i++) { rx_filter_core_wl(priv, 0x0, ASP_RX_FILTER_MDA_CFG(i)); priv->mda_filters[i].en = 0; } - for (i = 0; i < NUM_NET_FILTERS; i++) + for (i = 0; i < priv->num_net_filters; i++) rx_filter_core_wl(priv, 0x0, ASP_RX_FILTER_NET_CFG(i)); /* Top level filter enable bit should be enabled at all times, set @@ -966,18 +966,8 @@ static void bcmasp_core_init_filters(struct bcmasp_priv *priv) /* ASP core initialization */ static void bcmasp_core_init(struct bcmasp_priv *priv) { - tx_analytics_core_wl(priv, 0x0, ASP_TX_ANALYTICS_CTRL); - rx_analytics_core_wl(priv, 0x4, ASP_RX_ANALYTICS_CTRL); - - rx_edpkt_core_wl(priv, (ASP_EDPKT_HDR_SZ_128 << ASP_EDPKT_HDR_SZ_SHIFT), - ASP_EDPKT_HDR_CFG); - rx_edpkt_core_wl(priv, - (ASP_EDPKT_ENDI_BT_SWP_WD << ASP_EDPKT_ENDI_DESC_SHIFT), - ASP_EDPKT_ENDI); - rx_edpkt_core_wl(priv, 0x1b, ASP_EDPKT_BURST_BUF_PSCAL_TOUT); rx_edpkt_core_wl(priv, 0x3e8, ASP_EDPKT_BURST_BUF_WRITE_TOUT); - rx_edpkt_core_wl(priv, 0x3e8, ASP_EDPKT_BURST_BUF_READ_TOUT); rx_edpkt_core_wl(priv, ASP_EDPKT_ENABLE_EN, ASP_EDPKT_ENABLE); @@ -1020,6 +1010,18 @@ static void bcmasp_core_clock_select_one(struct bcmasp_priv *priv, bool slow) ctrl_core_wl(priv, reg, ASP_CTRL_CORE_CLOCK_SELECT); } +static void bcmasp_core_clock_select_one_ctrl2(struct bcmasp_priv *priv, bool slow) +{ + u32 reg; + + reg = ctrl2_core_rl(priv, ASP_CTRL2_CORE_CLOCK_SELECT); + if (slow) + reg &= ~ASP_CTRL2_CORE_CLOCK_SELECT_MAIN; + else + reg |= ASP_CTRL2_CORE_CLOCK_SELECT_MAIN; + ctrl2_core_wl(priv, reg, ASP_CTRL2_CORE_CLOCK_SELECT); +} + static void bcmasp_core_clock_set_ll(struct bcmasp_priv *priv, u32 clr, u32 set) { u32 reg; @@ -1180,23 +1182,45 @@ static void bcmasp_eee_fixup(struct bcmasp_intf *intf, bool en) static const struct bcmasp_plat_data v21_plat_data = { .core_clock_select = bcmasp_core_clock_select_one, - .eee_fixup = NULL; + .eee_fixup = NULL, + .num_mda_filters = 32, + .num_net_filters = 32, + .tx_chan_offset = 8, + .rx_ctrl_offset = 0x0, }; static const struct bcmasp_plat_data v22_plat_data = { .core_clock_select = bcmasp_core_clock_select_many, .eee_fixup = bcmasp_eee_fixup, + .num_mda_filters = 32, + .num_net_filters = 32, + .tx_chan_offset = 8, + .rx_ctrl_offset = 0x0, +}; + +static const struct bcmasp_plat_data v30_plat_data = { + .core_clock_select = bcmasp_core_clock_select_one_ctrl2, + .eee_fixup = NULL, + .num_mda_filters = 20, + .num_net_filters = 16, + .tx_chan_offset = 0, + .rx_ctrl_offset = 0x10000, }; static void bcmasp_set_pdata(struct bcmasp_priv *priv, const struct bcmasp_plat_data *pdata) { priv->core_clock_select = pdata->core_clock_select; priv->eee_fixup = pdata->eee_fixup; + priv->num_mda_filters = pdata->num_mda_filters; + priv->num_net_filters = pdata->num_net_filters; + priv->tx_chan_offset = pdata->tx_chan_offset; + priv->rx_ctrl_offset = pdata->rx_ctrl_offset; } static const struct of_device_id bcmasp_of_match[] = { { .compatible = "brcm,asp-v2.1", .data = &v21_plat_data }, { .compatible = "brcm,asp-v2.2", .data = &v22_plat_data }, + { .compatible = "brcm,asp-v3.0", .data = &v30_plat_data }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, bcmasp_of_match); @@ -1204,6 +1228,7 @@ MODULE_DEVICE_TABLE(of, bcmasp_of_match); static const struct of_device_id bcmasp_mdio_of_match[] = { { .compatible = "brcm,asp-v2.1-mdio", }, { .compatible = "brcm,asp-v2.2-mdio", }, + { .compatible = "brcm,asp-v3.0-mdio", }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, bcmasp_mdio_of_match); @@ -1285,6 +1310,17 @@ static int bcmasp_probe(struct platform_device *pdev) * how many interfaces come up. */ bcmasp_core_init(priv); + + priv->mda_filters = devm_kzalloc(dev, sizeof(*priv->mda_filters) + * priv->num_mda_filters, GFP_KERNEL); + if (!priv->mda_filters) + return -ENOMEM; + + priv->net_filters = devm_kzalloc(dev, sizeof(*priv->net_filters) + * priv->num_net_filters, GFP_KERNEL); + if (!priv->net_filters) + return -ENOMEM; + bcmasp_core_init_filters(priv); ports_node = of_find_node_by_name(dev->of_node, "ethernet-ports"); diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.h b/drivers/net/ethernet/broadcom/asp2/bcmasp.h index 6f49ebad4e99..74adfdb50e11 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.h +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.h @@ -363,6 +363,10 @@ struct bcmasp_mda_filter { struct bcmasp_plat_data { void (*core_clock_select)(struct bcmasp_priv *priv, bool slow); void (*eee_fixup)(struct bcmasp_intf *priv, bool en); + unsigned int num_mda_filters; + unsigned int num_net_filters; + unsigned int tx_chan_offset; + unsigned int rx_ctrl_offset; }; struct bcmasp_priv { @@ -379,12 +383,16 @@ struct bcmasp_priv { void (*core_clock_select)(struct bcmasp_priv *priv, bool slow); void (*eee_fixup)(struct bcmasp_intf *intf, bool en); + unsigned int num_mda_filters; + unsigned int num_net_filters; + unsigned int tx_chan_offset; + unsigned int rx_ctrl_offset; void __iomem *base; struct list_head intfs; - struct bcmasp_mda_filter mda_filters[NUM_MDA_FILTERS]; + struct bcmasp_mda_filter *mda_filters; /* MAC destination address filters lock */ spinlock_t mda_lock; @@ -392,7 +400,7 @@ struct bcmasp_priv { /* Protects accesses to ASP_CTRL_CLOCK_CTRL */ spinlock_t clk_lock; - struct bcmasp_net_filter net_filters[NUM_NET_FILTERS]; + struct bcmasp_net_filter *net_filters; /* Network filter lock */ struct mutex net_lock; @@ -482,8 +490,8 @@ BCMASP_FP_IO_MACRO_Q(rx_edpkt_cfg); #define PKT_OFFLOAD_EPKT_IP(x) ((x) << 21) #define PKT_OFFLOAD_EPKT_TP(x) ((x) << 19) #define PKT_OFFLOAD_EPKT_LEN(x) ((x) << 16) -#define PKT_OFFLOAD_EPKT_CSUM_L3 BIT(15) -#define PKT_OFFLOAD_EPKT_CSUM_L2 BIT(14) +#define PKT_OFFLOAD_EPKT_CSUM_L4 BIT(15) +#define PKT_OFFLOAD_EPKT_CSUM_L3 BIT(14) #define PKT_OFFLOAD_EPKT_ID(x) ((x) << 12) #define PKT_OFFLOAD_EPKT_SEQ(x) ((x) << 10) #define PKT_OFFLOAD_EPKT_TS(x) ((x) << 8) @@ -515,12 +523,27 @@ BCMASP_CORE_IO_MACRO(intr2, ASP_INTR2_OFFSET); BCMASP_CORE_IO_MACRO(wakeup_intr2, ASP_WAKEUP_INTR2_OFFSET); BCMASP_CORE_IO_MACRO(tx_analytics, ASP_TX_ANALYTICS_OFFSET); BCMASP_CORE_IO_MACRO(rx_analytics, ASP_RX_ANALYTICS_OFFSET); -BCMASP_CORE_IO_MACRO(rx_ctrl, ASP_RX_CTRL_OFFSET); BCMASP_CORE_IO_MACRO(rx_filter, ASP_RX_FILTER_OFFSET); BCMASP_CORE_IO_MACRO(rx_edpkt, ASP_EDPKT_OFFSET); BCMASP_CORE_IO_MACRO(ctrl, ASP_CTRL_OFFSET); BCMASP_CORE_IO_MACRO(ctrl2, ASP_CTRL2_OFFSET); +#define BCMASP_CORE_IO_MACRO_OFFSET(name, offset) \ +static inline u32 name##_core_rl(struct bcmasp_priv *priv, \ + u32 off) \ +{ \ + u32 reg = readl_relaxed(priv->base + priv->name##_offset + \ + (offset) + off); \ + return reg; \ +} \ +static inline void name##_core_wl(struct bcmasp_priv *priv, \ + u32 val, u32 off) \ +{ \ + writel_relaxed(val, priv->base + priv->name##_offset + \ + (offset) + off); \ +} +BCMASP_CORE_IO_MACRO_OFFSET(rx_ctrl, ASP_RX_CTRL_OFFSET); + struct bcmasp_intf *bcmasp_interface_create(struct bcmasp_priv *priv, struct device_node *ndev_dn, int i); diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c index 991a87096e08..4381a4cfd8c6 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c @@ -10,7 +10,6 @@ #include "bcmasp_intf_defs.h" enum bcmasp_stat_type { - BCMASP_STAT_RX_EDPKT, BCMASP_STAT_RX_CTRL, BCMASP_STAT_RX_CTRL_PER_INTF, BCMASP_STAT_SOFT, @@ -33,8 +32,6 @@ struct bcmasp_stats { .reg_offset = offset, \ } -#define STAT_BCMASP_RX_EDPKT(str, offset) \ - STAT_BCMASP_OFFSET(str, BCMASP_STAT_RX_EDPKT, offset) #define STAT_BCMASP_RX_CTRL(str, offset) \ STAT_BCMASP_OFFSET(str, BCMASP_STAT_RX_CTRL, offset) #define STAT_BCMASP_RX_CTRL_PER_INTF(str, offset) \ @@ -42,11 +39,6 @@ struct bcmasp_stats { /* Must match the order of struct bcmasp_mib_counters */ static const struct bcmasp_stats bcmasp_gstrings_stats[] = { - /* EDPKT counters */ - STAT_BCMASP_RX_EDPKT("RX Time Stamp", ASP_EDPKT_RX_TS_COUNTER), - STAT_BCMASP_RX_EDPKT("RX PKT Count", ASP_EDPKT_RX_PKT_CNT), - STAT_BCMASP_RX_EDPKT("RX PKT Buffered", ASP_EDPKT_HDR_EXTR_CNT), - STAT_BCMASP_RX_EDPKT("RX PKT Pushed to DRAM", ASP_EDPKT_HDR_OUT_CNT), /* ASP RX control */ STAT_BCMASP_RX_CTRL_PER_INTF("Frames From Unimac", ASP_RX_CTRL_UMAC_0_FRAME_COUNT), @@ -113,9 +105,6 @@ static void bcmasp_update_mib_counters(struct bcmasp_intf *intf) switch (s->type) { case BCMASP_STAT_SOFT: continue; - case BCMASP_STAT_RX_EDPKT: - val = rx_edpkt_core_rl(intf->parent, offset); - break; case BCMASP_STAT_RX_CTRL: val = rx_ctrl_core_rl(intf->parent, offset); break; @@ -272,7 +261,7 @@ static int bcmasp_flow_get(struct bcmasp_intf *intf, struct ethtool_rxnfc *cmd) memcpy(&cmd->fs, &nfilter->fs, sizeof(nfilter->fs)); - cmd->data = NUM_NET_FILTERS; + cmd->data = intf->parent->num_net_filters; return 0; } @@ -319,7 +308,7 @@ static int bcmasp_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd, break; case ETHTOOL_GRXCLSRLALL: err = bcmasp_netfilt_get_all_active(intf, rule_locs, &cmd->rule_cnt); - cmd->data = NUM_NET_FILTERS; + cmd->data = intf->parent->num_net_filters; break; default: err = -EOPNOTSUPP; diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c index 01de05ec3ebc..0d61b8580d72 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c @@ -180,14 +180,14 @@ static struct sk_buff *bcmasp_csum_offload(struct net_device *dev, case htons(ETH_P_IP): header |= PKT_OFFLOAD_HDR_SIZE_2((ip_hdrlen(skb) >> 8) & 0xf); header2 |= PKT_OFFLOAD_HDR2_SIZE_2(ip_hdrlen(skb) & 0xff); - epkt |= PKT_OFFLOAD_EPKT_IP(0) | PKT_OFFLOAD_EPKT_CSUM_L2; + epkt |= PKT_OFFLOAD_EPKT_IP(0); ip_proto = ip_hdr(skb)->protocol; header_cnt += 2; break; case htons(ETH_P_IPV6): header |= PKT_OFFLOAD_HDR_SIZE_2((IP6_HLEN >> 8) & 0xf); header2 |= PKT_OFFLOAD_HDR2_SIZE_2(IP6_HLEN & 0xff); - epkt |= PKT_OFFLOAD_EPKT_IP(1) | PKT_OFFLOAD_EPKT_CSUM_L2; + epkt |= PKT_OFFLOAD_EPKT_IP(1); ip_proto = ipv6_hdr(skb)->nexthdr; header_cnt += 2; break; @@ -198,12 +198,12 @@ static struct sk_buff *bcmasp_csum_offload(struct net_device *dev, switch (ip_proto) { case IPPROTO_TCP: header2 |= PKT_OFFLOAD_HDR2_SIZE_3(tcp_hdrlen(skb)); - epkt |= PKT_OFFLOAD_EPKT_TP(0) | PKT_OFFLOAD_EPKT_CSUM_L3; + epkt |= PKT_OFFLOAD_EPKT_TP(0) | PKT_OFFLOAD_EPKT_CSUM_L4; header_cnt++; break; case IPPROTO_UDP: header2 |= PKT_OFFLOAD_HDR2_SIZE_3(UDP_HLEN); - epkt |= PKT_OFFLOAD_EPKT_TP(1) | PKT_OFFLOAD_EPKT_CSUM_L3; + epkt |= PKT_OFFLOAD_EPKT_TP(1) | PKT_OFFLOAD_EPKT_CSUM_L4; header_cnt++; break; default: @@ -818,9 +818,7 @@ static void bcmasp_init_tx(struct bcmasp_intf *intf) /* Tx SPB */ tx_spb_ctrl_wl(intf, ((intf->channel + 8) << TX_SPB_CTRL_XF_BID_SHIFT), TX_SPB_CTRL_XF_CTRL2); - tx_pause_ctrl_wl(intf, (1 << (intf->channel + 8)), TX_PAUSE_MAP_VECTOR); tx_spb_top_wl(intf, 0x1e, TX_SPB_TOP_BLKOUT); - tx_spb_top_wl(intf, 0x0, TX_SPB_TOP_SPRE_BW_CTRL); tx_spb_dma_wq(intf, intf->tx_spb_dma_addr, TX_SPB_DMA_READ); tx_spb_dma_wq(intf, intf->tx_spb_dma_addr, TX_SPB_DMA_BASE); @@ -1185,7 +1183,7 @@ static void bcmasp_map_res(struct bcmasp_priv *priv, struct bcmasp_intf *intf) { /* Per port */ intf->res.umac = priv->base + UMC_OFFSET(intf); - intf->res.umac2fb = priv->base + (UMAC2FB_OFFSET + + intf->res.umac2fb = priv->base + (UMAC2FB_OFFSET + priv->rx_ctrl_offset + (intf->port * 0x4)); intf->res.rgmii = priv->base + RGMII_OFFSET(intf); @@ -1200,7 +1198,6 @@ static void bcmasp_map_res(struct bcmasp_priv *priv, struct bcmasp_intf *intf) intf->rx_edpkt_cfg = priv->base + RX_EDPKT_CFG_OFFSET(intf); } -#define MAX_IRQ_STR_LEN 64 struct bcmasp_intf *bcmasp_interface_create(struct bcmasp_priv *priv, struct device_node *ndev_dn, int i) { From patchwork Wed Apr 16 22:48:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Chen X-Patchwork-Id: 14054541 X-Patchwork-Delegate: kuba@kernel.org Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (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 4E263243378 for ; Wed, 16 Apr 2025 22:48:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843711; cv=none; b=KYozWaSdrnI1RzQnj3MShzGQuM8GF3fwOfD7U5h9h/cDdimc4v8JMuIsko4aaqy5l2SfqAONToPnMd9f88LztliSFhU+oz6Z9Ly1P9o/tOvGI0hrHhBGVd3TXo3vHGVdj4Z+pLMolaZ317lvi/AmKhxdBGCwPMEyedmhuRg+7u0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744843711; c=relaxed/simple; bh=eqyYaYWChMPmRU5DAc6y6TmudTWOOglC+kKHcnAeHRE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dNfskXkhwkzWb/BHP1S4OMIlb7m2gTIYhekeaJuXZ7r/SxM9EWDVT0S7r1Iq82bxKprjGkG8gXzDve8flnlAXdTIzBesy/C0NEEYlOe24+uht4Rf6Iwqq8tT5VD0FZgNsIPCb+PU8IDlXjyDpcrjSDY4p3CQP/dTWbi0mDUlFuw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=edg7ivuc; arc=none smtp.client-ip=209.85.210.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="edg7ivuc" Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-72c7336ed99so47794a34.0 for ; Wed, 16 Apr 2025 15:48:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1744843709; x=1745448509; 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=W1M7OacyH/ahFd8hgf1tLeJiARoK46j4SXfIGzzZlOg=; b=edg7ivuc2DLIZnQkPDaSWafq8zlE+l1GMsDDD771vs/B7jvAoZOzp1bRwaHR8ZZpuM kQi/EkunQdzZv8b1X8l2+OGInV9pjECO9Nm1tgVbfpiaY5Vg5QaMtyjyJYz1ogEZI37z aKgkPAnsyxsCItbt2HVTX2+LsmAMFVQDR3ATQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744843709; x=1745448509; 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=W1M7OacyH/ahFd8hgf1tLeJiARoK46j4SXfIGzzZlOg=; b=SdC9MpXPKTdAGtc7jLVOcMrWADIG7DcQIHkCA7T0yqdDvJc6HYzudGGU0hJEjBZPBc Ebm5e3WyCnUHbZUVpArJoXxsS6yrTvzjwMAX9vbkmvIH+WEFylszZQWsSBG5mghqHjPd pvL8t0Ml5OaFvL1JfdsEUoXauyv8aMqpCH+tnPceqUfKGavOsinS15+/Hu6quAfr9oY/ QluWHI8oIFMKg62C92u2ftqI0fumOvm7lKIMFPp0wdiGWrmMyynwSTlSmKoMfwWgRfhL 0nLZMkmURF/WwKkivrF70P1lvJQxA8UIOrIKStNVjFSM7hruEXnALoTCt0Xr5/+FQnUL uWpA== X-Gm-Message-State: AOJu0YzsElYJG+VJY3sy9t+3jqWAFYnwzr9eCU1E6NhUWCY6PkhG0NpB jS8Nrs/97+tss/vNeFa5FKj3qukJ9UicJT22HtQ9XbBB+Fvd4wWkL8s0egCd1NqFX/wMoopQWOg ehmsXxkqBCAlzqNqM9SU4mxg0u5Sjc/DGObVd++Mj8uPz0iTyuvhMkeOGMR1Sfe240cgn0ckHSs ccqu4d8tIlEiOe4qvB0B45VAijaxanEdIeV6slgqw= X-Gm-Gg: ASbGncvb78nnX+aHfkF0yxpOQnSu8QyqMm0hSn0Ezm8HTix3eapghhbWPBxGr8Y4Frn cB/BUUixqU8zJ3Vmd6JObYX2KdYvlJw+EE3Zymj2pokNErNt73E6JGFTNmC+FE6h4tJHMX05ov7 03evaMdcIXhWNwb0E4K49rk8MjBVKSGrJ4XP8PH7BxJ8Jz07FM1W5NihrW1Sq5HQogY/kUSELp1 XXMrNoXbHuMjtzFe3X9tqmz1TuFJc+T6J8Een8Npxqnd3zwIG7UMQlGkMDY25ruOWiZHS1Gz8FY X9D6siqnoqXQO2saAqF86uTq4l1okQu48XLTwMI88CfdzfbBQd1l7yOHzBxb9LNwY2KlUz5oAiZ 8/TgRXR6M5eHN1SpGuA== X-Google-Smtp-Source: AGHT+IEr3rp6o3U+5Le2wh6aSpiLtCjtqa8QZlb5yvodqDM7XxmooWxghWU11yhXt7iXnPux3PQ2Rg== X-Received: by 2002:a05:6830:2a8a:b0:72b:b8d8:3995 with SMTP id 46e09a7af769-72ec6cdf37cmr2352252a34.19.1744843708919; Wed, 16 Apr 2025 15:48:28 -0700 (PDT) Received: from stbirv-lnx-1.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-72e73d71813sm3015956a34.26.2025.04.16.15.48.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 15:48:28 -0700 (PDT) From: Justin Chen To: netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: rafal@milecki.pl, linux@armlinux.org.uk, hkallweit1@gmail.com, bcm-kernel-feedback-list@broadcom.com, opendmb@gmail.com, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, andrew+netdev@lunn.ch, florian.fainelli@broadcom.com, Justin Chen Subject: [PATCH net-next 5/5] net: phy: mdio-bcm-unimac: Add asp-v3.0 and remove asp-v2.0 Date: Wed, 16 Apr 2025 15:48:15 -0700 Message-Id: <20250416224815.2863862-6-justin.chen@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250416224815.2863862-1-justin.chen@broadcom.com> References: <20250416224815.2863862-1-justin.chen@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org Add mdio compat string for asp-v3.0 ethernet driver and remove asp-v2.0. Signed-off-by: Justin Chen --- drivers/net/mdio/mdio-bcm-unimac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mdio/mdio-bcm-unimac.c b/drivers/net/mdio/mdio-bcm-unimac.c index 074d96328f41..b6e30bdf5325 100644 --- a/drivers/net/mdio/mdio-bcm-unimac.c +++ b/drivers/net/mdio/mdio-bcm-unimac.c @@ -334,9 +334,9 @@ static SIMPLE_DEV_PM_OPS(unimac_mdio_pm_ops, NULL, unimac_mdio_resume); static const struct of_device_id unimac_mdio_ids[] = { + { .compatible = "brcm,asp-v3.0-mdio", }, { .compatible = "brcm,asp-v2.2-mdio", }, { .compatible = "brcm,asp-v2.1-mdio", }, - { .compatible = "brcm,asp-v2.0-mdio", }, { .compatible = "brcm,bcm6846-mdio", }, { .compatible = "brcm,genet-mdio-v5", }, { .compatible = "brcm,genet-mdio-v4", },