From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C816C2FFDF4 for ; Tue, 14 Oct 2025 15:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455546; cv=none; b=MUFqBypjkz+2lWB14FlK2zlfOeFE0ZiFExDsgbyjPZ/JRXIJuelZcF24WpyVQS73z4dR6xSCZqtuEVDZJeojDVAosA5rOGWsLwKPxaQzUomq6pFChLXK0JpAiUq3il504pz/BXIoyTVc1lDV+vB5Na1K51XvzWgZNgTUrlIUkiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455546; c=relaxed/simple; bh=+BmgP1cwOI6VJAkhu18VNjfPGCwfgpuV7lA+QJYNabk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mh/qp45z+4O82ifIN1Jq5huuLyuw8dMFcN7795iF43+cOCNeHbs2zJHEwnjD72o0PGeGNsHYjZ+w6I7t/jSc0PQMX5GYe7MvOa7FYKTD6aaOj3qS+jpGiWaL6++UGthasZN8FP9WByIZQOTds6LypZ2b4wwu3Lhe+fJZpw5zLBo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=vln4QgwU; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="vln4QgwU" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id DBD594E410B4; Tue, 14 Oct 2025 15:25:41 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id AEFA2606EC; Tue, 14 Oct 2025 15:25:41 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 86829102F22A4; Tue, 14 Oct 2025 17:25:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455540; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=BDLjVHEfWE+OX2EBzF2dDXKhMxIya0aonkUpZfjwFpc=; b=vln4QgwUJ3MGIz+BpttXJ1iUA6zRlssetcE0sHykllYoICGqYZ76acIeYhnJcNaM9NSh2X vjrIrErW91LO3QJZTJMLHvVh8dJGksfpL+qAOrl5JyIdBZCZyXD+rj9q4nXK+7pPlZvMFL Uu8ZBVZ5tTG3wn+emjJxzyZV4u7HrZwDl6QxjFNO9NH2UkHy1nTDAzL+tMaE547TFNfrbr YRYtGQuiILsE6AKhGB69QvAvFBzRcTEbi3rGBKKC4E0y0+OE5IohNM6Yj0R7z0CIvT5b20 1uHXmtFntMUQgrqokSotoYOFA+UNTsJ7QvksKCCd+7NiIY/MkxQyB39FexykBg== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:02 +0200 Subject: [PATCH net-next 01/15] dt-bindings: net: cdns,macb: sort compatibles 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 Message-Id: <20251014-macb-cleanup-v1-1-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Compatibles inside this enum are sorted-ish. Make it sorted. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- Documentation/devicetree/bindings/net/cdns,macb.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/net/cdns,macb.yaml b/Documen= tation/devicetree/bindings/net/cdns,macb.yaml index 1029786a855c569f32171cd3484b0043622e9fc4..02f14a0b72f9c5c489c2e9a605d= 7f020c124fe31 100644 --- a/Documentation/devicetree/bindings/net/cdns,macb.yaml +++ b/Documentation/devicetree/bindings/net/cdns,macb.yaml @@ -47,18 +47,18 @@ properties: - const: cdns,macb # Generic =20 - enum: - - atmel,sama5d29-gem # GEM XL IP (10/100) on Atmel sama5d= 29 SoCs - atmel,sama5d2-gem # GEM IP (10/100) on Atmel sama5d2 S= oCs + - atmel,sama5d29-gem # GEM XL IP (10/100) on Atmel sama5d= 29 SoCs - atmel,sama5d3-gem # Gigabit IP on Atmel sama5d3 SoCs - atmel,sama5d4-gem # GEM IP (10/100) on Atmel sama5d4 S= oCs + - cdns,emac # Generic + - cdns,gem # Generic + - cdns,macb # Generic - cdns,np4-macb # NP4 SoC devices - microchip,sama7g5-emac # Microchip SAMA7G5 ethernet interfa= ce - microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet= interface - raspberrypi,rp1-gem # Raspberry Pi RP1 gigabit ethernet = interface - sifive,fu540-c000-gem # SiFive FU540-C000 SoC - - cdns,emac # Generic - - cdns,gem # Generic - - cdns,macb # Generic =20 - items: - enum: --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B81792FFFBB for ; Tue, 14 Oct 2025 15:25:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455547; cv=none; b=Z1yUg2jT6hmdIrbZHDhf91hOtTwFrD42TtVkP/i6s83P3+jaTXX6oZ9JunimnttQldoMkp7saQyqX3zqUyMBusRgf1V3dHusALI61S1DImGKsR4aZQBZkl6TYayrv7fGlj2R4wCTL30PrlyKe7Q9QhGG2PMK7oOXeWxwGms8lJg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455547; c=relaxed/simple; bh=skjeb9m1dGsaidHY563Qo5KHmcSoE8kWERBvfxpPeoY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rQpzcloCrIrBPW66Pf08xQicEL1mynEo727qpLRptZgQeKCWIpCz4rB2c1kL60goIPz2uVCRiK6z90ks+ime++2Mgz7JB1xdiq94x3cuwa1OoHB5181O9YEvS7E/JkzMi15eI/XtQEIJ/4Dt4yKIErc3QD5WKOcIPtWi0j8Y3no= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=LEX+B5Hj; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="LEX+B5Hj" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id EF8E1C09F97; Tue, 14 Oct 2025 15:25:24 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 070A6606EC; Tue, 14 Oct 2025 15:25:44 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id DFEEB102F22AE; Tue, 14 Oct 2025 17:25:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455542; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=/rQ5vb0gTZk6xhmOYWFfgtO4Z5qUdTmwmfvvH5Af3Xg=; b=LEX+B5HjNdHQYoVls6/sYp4dW4EgP994xFMJfAHQ031nw8tgtW+p77v9a/r69xYs1kMBAl nf0fDrUxFOAeqcAAAy/MdO8M1fqDHPWC7Eioux+cyDmQj0ukIsVC6W6VMofI+qF4Kk3mZx JuU6JQadqSrSu/gSH8jqHp5DqgClWK8JqfX6q8NLbvgkg8xK+crJT+TZE28D4n4pRGH8te F2jZVq/L0hrD5JiiCdWo3wjUoSTAaCfblybt1tB1mAOsGIs8vMmPZJL33qW1JQZv/8fkyJ CvQPb680KcromhLBPEbRhfS0y+J5k/TEtg2EhW9f46Hwa+5cTNZt+SVFj+gB7A== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:03 +0200 Subject: [PATCH net-next 02/15] net: macb: use BIT() macro for capability definitions 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 Message-Id: <20251014-macb-cleanup-v1-2-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= , Andrew Lunn , Sean Anderson X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Replace all capabilities values by calls to the BIT() macro. Reviewed-by: Andrew Lunn Reviewed-by: Sean Anderson Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb.h | 42 ++++++++++++++++++---------------= ---- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cad= ence/macb.h index 0830c48973aa0b9991f06c142d83b850572f2388..869d02284707cb771233276a073= e1afdeeba43ce 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -756,27 +756,27 @@ #define MACB_MAN_C45_CODE 2 =20 /* Capability mask bits */ -#define MACB_CAPS_ISR_CLEAR_ON_WRITE 0x00000001 -#define MACB_CAPS_USRIO_HAS_CLKEN 0x00000002 -#define MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII 0x00000004 -#define MACB_CAPS_NO_GIGABIT_HALF 0x00000008 -#define MACB_CAPS_USRIO_DISABLED 0x00000010 -#define MACB_CAPS_JUMBO 0x00000020 -#define MACB_CAPS_GEM_HAS_PTP 0x00000040 -#define MACB_CAPS_BD_RD_PREFETCH 0x00000080 -#define MACB_CAPS_NEEDS_RSTONUBR 0x00000100 -#define MACB_CAPS_MIIONRGMII 0x00000200 -#define MACB_CAPS_NEED_TSUCLK 0x00000400 -#define MACB_CAPS_QUEUE_DISABLE 0x00000800 -#define MACB_CAPS_QBV 0x00001000 -#define MACB_CAPS_PCS 0x01000000 -#define MACB_CAPS_HIGH_SPEED 0x02000000 -#define MACB_CAPS_CLK_HW_CHG 0x04000000 -#define MACB_CAPS_MACB_IS_EMAC 0x08000000 -#define MACB_CAPS_FIFO_MODE 0x10000000 -#define MACB_CAPS_GIGABIT_MODE_AVAILABLE 0x20000000 -#define MACB_CAPS_SG_DISABLED 0x40000000 -#define MACB_CAPS_MACB_IS_GEM 0x80000000 +#define MACB_CAPS_ISR_CLEAR_ON_WRITE BIT(0) +#define MACB_CAPS_USRIO_HAS_CLKEN BIT(1) +#define MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII BIT(2) +#define MACB_CAPS_NO_GIGABIT_HALF BIT(3) +#define MACB_CAPS_USRIO_DISABLED BIT(4) +#define MACB_CAPS_JUMBO BIT(5) +#define MACB_CAPS_GEM_HAS_PTP BIT(6) +#define MACB_CAPS_BD_RD_PREFETCH BIT(7) +#define MACB_CAPS_NEEDS_RSTONUBR BIT(8) +#define MACB_CAPS_MIIONRGMII BIT(9) +#define MACB_CAPS_NEED_TSUCLK BIT(10) +#define MACB_CAPS_QUEUE_DISABLE BIT(11) +#define MACB_CAPS_QBV BIT(12) +#define MACB_CAPS_PCS BIT(24) +#define MACB_CAPS_HIGH_SPEED BIT(25) +#define MACB_CAPS_CLK_HW_CHG BIT(26) +#define MACB_CAPS_MACB_IS_EMAC BIT(27) +#define MACB_CAPS_FIFO_MODE BIT(28) +#define MACB_CAPS_GIGABIT_MODE_AVAILABLE BIT(29) +#define MACB_CAPS_SG_DISABLED BIT(30) +#define MACB_CAPS_MACB_IS_GEM BIT(31) =20 /* LSO settings */ #define MACB_LSO_UFO_ENABLE 0x01 --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 111272FFDF9; Tue, 14 Oct 2025 15:25:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455549; cv=none; b=R7hKGKY5DE4rrJO2xA2Xm3wskC38aSKwq2gOL3zOXynPCGiQVD0ZRVYr9ckSSyO8Ic/hUKEHDhfpMRe7Xy4T0b5COFM7LjoRmhXx/Pc3172C/5YVIYE7HMK2S88QMC6b71sEtC7yIWCxD3AYmSk8plUmQiW0B3B+6xkKo0dlrqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455549; c=relaxed/simple; bh=LXKtVHtrjn/Y93tHUKx4CLQ7qPHWsaeqDfv2dCXQdR4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YomYPWVQfk4q/tMxVg7P5EWS9UDGuM7LlJ4EgFYhg1Lf7tgGpHdKjfkiusjsrClk2vP1PivqrZQzPP8j5ATW5H+ZtLCQpasYMAiEuCl0KERf42feQA63GSHJ25YOJMlCdjGqXjepCPQqpmNGJ6n7NVjaHzDJecjNrNW3m2x8rQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=i7fzRxWk; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="i7fzRxWk" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 780AF4E410B4; Tue, 14 Oct 2025 15:25:46 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 4B69A606EC; Tue, 14 Oct 2025 15:25:46 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 4F1F0102F226E; Tue, 14 Oct 2025 17:25:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455545; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=Mv9T3yxgqUuWX7rYJ1ZRmVULnCZTSFp2tCALvNXB5xM=; b=i7fzRxWk2NPhDEztVMgm6Mg72HbEPkTU0N8beo3/weFGQWMfE5lNN3YLCDfnw/RFS492PP bXD8kTrJM7iI6bFGHeKD2vYm36vQKBKD/EwiI5Ewsr+HHdufWUnG+EJTFo725zNQvEC+S0 L1sCv4A4O9jWdoZdptM9PmwsauOW57V8DL7GHoYckyXRqJu8ialUiBpJFm1o4cm1gHqObJ b7fdLcj7C6J1Oe2t73K/C7+XVZ/axpbwG1RY8rALetBYje6yFq85gS1GgdYEYCZGc9FEzV sz+qqLrfoArs2SIzp4uz7z4UAirgo3VwUOdS0fybpEQjNHZboOCjKaZ8GBduAA== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:04 +0200 Subject: [PATCH net-next 03/15] net: macb: remove gap in MACB_CAPS_* flags 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 Message-Id: <20251014-macb-cleanup-v1-3-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 MACB_CAPS_* are bit constants that get used in bp->caps. They occupy bits 0..12 + 24..31. Remove 11..23 gap by moving bits 24..31 to 13..20. Occupation bitfields: 31 29 27 25 23 21 19 17 15 13 11 09 07 05 03 01 30 28 26 24 22 20 18 16 14 12 10 08 06 04 02 00 -- Before ------------------------------------------------------ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 -- After ------------------------------------------------------- 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cadence/macb.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cad= ence/macb.h index 869d02284707cb771233276a073e1afdeeba43ce..9d21ec482c8c62da28f9d5ff35d= 5ca46f293eb64 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -769,14 +769,14 @@ #define MACB_CAPS_NEED_TSUCLK BIT(10) #define MACB_CAPS_QUEUE_DISABLE BIT(11) #define MACB_CAPS_QBV BIT(12) -#define MACB_CAPS_PCS BIT(24) -#define MACB_CAPS_HIGH_SPEED BIT(25) -#define MACB_CAPS_CLK_HW_CHG BIT(26) -#define MACB_CAPS_MACB_IS_EMAC BIT(27) -#define MACB_CAPS_FIFO_MODE BIT(28) -#define MACB_CAPS_GIGABIT_MODE_AVAILABLE BIT(29) -#define MACB_CAPS_SG_DISABLED BIT(30) -#define MACB_CAPS_MACB_IS_GEM BIT(31) +#define MACB_CAPS_PCS BIT(13) +#define MACB_CAPS_HIGH_SPEED BIT(14) +#define MACB_CAPS_CLK_HW_CHG BIT(15) +#define MACB_CAPS_MACB_IS_EMAC BIT(16) +#define MACB_CAPS_FIFO_MODE BIT(17) +#define MACB_CAPS_GIGABIT_MODE_AVAILABLE BIT(18) +#define MACB_CAPS_SG_DISABLED BIT(19) +#define MACB_CAPS_MACB_IS_GEM BIT(20) =20 /* LSO settings */ #define MACB_LSO_UFO_ENABLE 0x01 --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9183301004 for ; Tue, 14 Oct 2025 15:25:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455551; cv=none; b=bHo1kZ7G7Ywn1r9xmH9mVu65J0EdwWmp0sn0JYszzKgZEpvHILp0J5dzlYidrDEdTL/Q0PpII1hbjV0NIyRg72S9KiwmH15LByXJPJK+Wp9oc/Z2yW+kY/xuFjL2D1MPFVdx6mIgNqVi+/65y2+ia9+BxpX+A7s0rXhtWg1NJGg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455551; c=relaxed/simple; bh=rUUnrH/sSuEDfrtW6ug/Kmv3e2YKbWh1q7RDvw2MkE0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZC8vVVMtlOTBOCCJHhfQXXR9K2RCqHDBcDXXrAjw2/KImJGbRJwOU1l/o20s3RdlT3dqtRHM6mAFu0uQui5g9+uPrQ1TaDOxYrLYcsAFvz0QCHFna9Qq8HJcO1Nt3Db3nXtcaPMDjbft0uSaOizV1Hca4YbPzTsXfZAqeaaDvJc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=eOXbD9sD; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="eOXbD9sD" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 4E63C4E410B5; Tue, 14 Oct 2025 15:25:48 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 234B3606EC; Tue, 14 Oct 2025 15:25:48 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 5E210102F22A4; Tue, 14 Oct 2025 17:25:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455547; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=pc+arER1ZhOJQit1tkbjRVmQdT2HfO4hl2eG12FrhwE=; b=eOXbD9sDXQw31kaUI+I0rWwhN+0FcVJLuwMC7b2ke4y78MDx/bWgBaKMgz7RH6rbaZJWZ7 FQc+qnq72IEAixUtJAf1Ciz1TxmYMimDhTTzeY1bZPNb8W44WQxILhrai91QwJSpEulyjg oC2pWRaj5onOLWOz0lh0hBIWTkOg2IbXStDRZ++xQnB9T5IvKK6Kat7QZe0D3j4FOeNPIw bdTd50yDNQVWJ8/6I6bjYXbnS5IeUCp2rgd0l0CRlMtQaKzagvrX7b7tl+cI6FhgVmc7bQ Ex469KkNPI0A2xSQT8f3i4hRYf4p08s3mhOIcnOiIOSUboh7NZsbzFN8zerwZw== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:05 +0200 Subject: [PATCH net-next 04/15] net: macb: Remove local variables clk_init and init in macb_probe() 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 Message-Id: <20251014-macb-cleanup-v1-4-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= , Sean Anderson X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Remove local variables clk_init and init. Those function pointers are always equivalent to macb_config->clk_init and macb_config->init. Reviewed-by: Sean Anderson Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index ca2386b8347371810845290f6a7177a326fda4e7..dad1188ef9d87fc384659003299= 5223174177e89 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -5424,10 +5424,6 @@ static const struct macb_config default_gem_config = =3D { static int macb_probe(struct platform_device *pdev) { const struct macb_config *macb_config =3D &default_gem_config; - int (*clk_init)(struct platform_device *, struct clk **, - struct clk **, struct clk **, struct clk **, - struct clk **) =3D macb_config->clk_init; - int (*init)(struct platform_device *) =3D macb_config->init; struct device_node *np =3D pdev->dev.of_node; struct clk *pclk, *hclk =3D NULL, *tx_clk =3D NULL, *rx_clk =3D NULL; struct clk *tsu_clk =3D NULL; @@ -5449,14 +5445,11 @@ static int macb_probe(struct platform_device *pdev) const struct of_device_id *match; =20 match =3D of_match_node(macb_dt_ids, np); - if (match && match->data) { + if (match && match->data) macb_config =3D match->data; - clk_init =3D macb_config->clk_init; - init =3D macb_config->init; - } } =20 - err =3D clk_init(pdev, &pclk, &hclk, &tx_clk, &rx_clk, &tsu_clk); + err =3D macb_config->clk_init(pdev, &pclk, &hclk, &tx_clk, &rx_clk, &tsu_= clk); if (err) return err; =20 @@ -5594,7 +5587,7 @@ static int macb_probe(struct platform_device *pdev) bp->phy_interface =3D interface; =20 /* IP specific init */ - err =3D init(pdev); + err =3D macb_config->init(pdev); if (err) goto err_out_free_netdev; =20 --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 009F8301702 for ; Tue, 14 Oct 2025 15:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455554; cv=none; b=XH1qEps/T4xnZd2YI5zH6hQU4Zl+6HNKI3dwzO+TsinGnOmHRsAqIjA9VsUJuaAe4QgfZJ0XQ/zJlFIRExCp5Wj/+CH1fZmz0ket6rknzaIILqWRt0bQ0aZJp4GBS8aGlonjTwqKrF5vKQfxKT4HhTun99q+nSpaWHj0URijx8U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455554; c=relaxed/simple; bh=wNa3DuvAMhvPEjR2gCMGl0nFFBwN+pt81lUdYbdjvA0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JJNcetGGUJ6e7lKS6YMOxXLVCgb2EwX39gAoNcOqVQDip+TFFA0D1TzY8QH3+Txc4bTfiNu5tn5C81FeSYTZQtdbSdwSR3n2Sui2LKmMUrtBM7IS3G4uhMu9StufmKyWOk1zcJPUN4pmu3ftE0uTVmo2n9mYWcYvEgMC6EOPLtc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=AX0X6Lzv; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="AX0X6Lzv" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 7EBDA1A1386; Tue, 14 Oct 2025 15:25:50 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 543E1606EC; Tue, 14 Oct 2025 15:25:50 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 744C7102F22B0; Tue, 14 Oct 2025 17:25:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455549; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=L8xSHmDqJqypWN0BQtijSoqyQPcRedqk94nr6mZnyuk=; b=AX0X6Lzv5aXzbg9C7x7kW0oI2A69pahCmRCe8s3K7MmSVJDi9dHyXFWBIOhc2oYGFDR0Te 5YrZJ9zl3n5KgVMB1BdJuQWyt1QLfLtun4cM2Gpxm8Y20PA7Xk+PwtT0eBvNcdfFQJmFZO /cVo2ytrdpuyp+ZZPJUcximFgFBErcyfak5tpyc3aa9GqlV9gqeEoeMFVjASYTG5jRu07S zOUVK4bs9p1ooITh3nuXIRFI0IJDlqzlTdWrPaOdYg7bL/1mLtHEryY8kI90dhQDT7KCrh 35ugoWkdUF/VKiTiMwggiP+XfbP0aeIZPRx2/oxa1fU3MyAIvaww0/0deJv14A== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:06 +0200 Subject: [PATCH net-next 05/15] net: macb: drop macb_config NULL checking 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 Message-Id: <20251014-macb-cleanup-v1-5-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= , Sean Anderson X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Remove NULL checks on macb_config as it is always valid: - either it is its default value &default_gem_config, - or it got overridden using match data. Reviewed-by: Sean Anderson Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index dad1188ef9d87fc3846590032995223174177e89..33e99aab1dcb360a699d0e80762= ef421001d19a1 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -5485,15 +5485,13 @@ static int macb_probe(struct platform_device *pdev) } bp->num_queues =3D num_queues; bp->queue_mask =3D queue_mask; - if (macb_config) - bp->dma_burst_length =3D macb_config->dma_burst_length; + bp->dma_burst_length =3D macb_config->dma_burst_length; bp->pclk =3D pclk; bp->hclk =3D hclk; bp->tx_clk =3D tx_clk; bp->rx_clk =3D rx_clk; bp->tsu_clk =3D tsu_clk; - if (macb_config) - bp->jumbo_max_len =3D macb_config->jumbo_max_len; + bp->jumbo_max_len =3D macb_config->jumbo_max_len; =20 if (!hw_is_gem(bp->regs, bp->native_io)) bp->max_tx_length =3D MACB_MAX_TX_LEN; --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E6B1302155; Tue, 14 Oct 2025 15:25:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455556; cv=none; b=lFWeY2TI0/8KGVZwx0XVOSAt9JLk3Jrs/baxFeWyEpmPPG81kNHvnJtNpdZCJQ69P39t1oCpcgQExSBzL1GQ+k9vbL3/EGZ9Qj+1mX3r4sQU9s3XF/xUl+zx+ZFhk8HPtt+p+wz1nc7NDV9iJoW6WsChtDmJ7GsS4vP0QuxfcW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455556; c=relaxed/simple; bh=J5rZfAdi1cqYrIEeP3rLvq9dDQUmAah5at1bAeS14qk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JPPHTdWg7CFM4V0/Sd9ImGiTVqLCoUOLoBJjnGK1B2tdZutG1B0CI6VnYuEra6ExiDM34LKosQ0DRUky8iVDQCMgRp1loJSNnMwUoJQCyNnmQlsJc6P1rZiaBYByPbasTf2xKA2Ght3a9BI8A6dcphYnTV/qpxCG6zKfcp27vaw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=I8YNO75J; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="I8YNO75J" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id E72F21A1381; Tue, 14 Oct 2025 15:25:52 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id BCB80606EC; Tue, 14 Oct 2025 15:25:52 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 9CB60102F22B2; Tue, 14 Oct 2025 17:25:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455551; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=kI0fvsqkgZcbGlYbMMgADSeWdOBIygdLfdA0Um1kIHU=; b=I8YNO75J2QXIdgLDAiSsbGDGmz2XSIhCRqlVvU2cJT0kDd/rWg+78g/vYGhLIKUB+T1V2R reNXzIznlOzbQcUZcpVO1buNqU6nSimsCtLnS2a1Y6USjEoFNf0Qy3zUSjuBW253Qv9eD7 y7t30c6KAGt2U8D9SbKKOf83KNJD/v1pBxSiosXUnD9lkneYFuN013vPdkesM8L9r01U7L sNGoJzxD8SIVqHuwmnExmOj3xyilw6/MYGdnBUs+Q2nod89grqAs0XBA5cDcoZPpWLUyb9 fwSvCEprHgQ0jTLV1gIesR2tJystCu77JrCITpFoYsuW7xhg6V6n3lbz92eFnQ== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:07 +0200 Subject: [PATCH net-next 06/15] net: macb: simplify macb_dma_desc_get_size() 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 Message-Id: <20251014-macb-cleanup-v1-6-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 macb_dma_desc_get_size() does a switch on bp->hw_dma_cap and covers all four cases: 0, 64B, PTP, 64B+PTP. It also covers the #ifndef MACB_EXT_DESC separately, making it four codepaths. Instead, notice the descriptor size grows with enabled features and use plain if-statements on 64B and PTP flags. Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cadence/macb_main.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 33e99aab1dcb360a699d0e80762ef421001d19a1..7f74e280a3351ee7f961ff5ecd9= 550470b2e68eb 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -121,29 +121,16 @@ struct sifive_fu540_macb_mgmt { */ static unsigned int macb_dma_desc_get_size(struct macb *bp) { -#ifdef MACB_EXT_DESC - unsigned int desc_size; + unsigned int desc_size =3D sizeof(struct macb_dma_desc); =20 - switch (bp->hw_dma_cap) { - case HW_DMA_CAP_64B: - desc_size =3D sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_64); - break; - case HW_DMA_CAP_PTP: - desc_size =3D sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_ptp); - break; - case HW_DMA_CAP_64B_PTP: - desc_size =3D sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_64) - + sizeof(struct macb_dma_desc_ptp); - break; - default: - desc_size =3D sizeof(struct macb_dma_desc); - } - return desc_size; +#ifdef MACB_EXT_DESC + if (bp->hw_dma_cap & HW_DMA_CAP_64B) + desc_size +=3D sizeof(struct macb_dma_desc_64); + if (bp->hw_dma_cap & HW_DMA_CAP_PTP) + desc_size +=3D sizeof(struct macb_dma_desc_ptp); #endif - return sizeof(struct macb_dma_desc); + + return desc_size; } =20 static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int de= sc_idx) --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E9DF4302754; Tue, 14 Oct 2025 15:25:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455559; cv=none; b=CvXs31MwqUNU31VlSQQMnJLNirS6bhrdfT5LUyob8IzyRmoCLh2vmgm6E5Q8bfo1UiBZP7cXoFtXuzecJBgbesSSyz8ShNr5ATQvT9ReL/YmiNkaf0Cr/6gadXLQry4GWQGQlwQf6qUb5wGb/iaqVJ6g7qm6YMXZ+Cm3Wv+A2/M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455559; c=relaxed/simple; bh=6C3Wt0uF2of/JuozjsoPyyV6fS+gbf9acU5v6U8/B4w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DPiD5VloqLTfhmLp+qpDqQ4hsrDwi+1wfIJtAp3X5N8nxIMYnuqSmy7r0QnvPV+k1snEl1OlFUiUAF7jcCNA+deC0Z/1cVEq9k/8IpUT+03OM4TaAUu2cwmCfSc9YAoM5e0U8XdTRLjfsZBeZHKmqxiDz/6kyQeYr7Kkx2na0MY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=QvDrx9aW; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="QvDrx9aW" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 35CAB1A1382; Tue, 14 Oct 2025 15:25:55 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 0B0A0606EC; Tue, 14 Oct 2025 15:25:55 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 047F7102F22B3; Tue, 14 Oct 2025 17:25:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455553; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=t9uhUZLUO1xtva49wKLTR6cCYNQXY1i7HwxH90xJvFk=; b=QvDrx9aW6kzLXvN4McWQJYxc7ZwJkwv1lSm2xb4U9JAW22dVDUOz40twAEVjesg0m43fDp Wla1uJNKbcpQxp11pC+e2i6FXzuEQVW5NKKT/PJwt92+Fw23qKrU9r5PFqyWeHqrieodqJ egcjHMhZ0SBT/kBeXG3ifVOmzomrGcFZsmfWFmst85CRUmzioE+9gLgWUaelBlTyOWJRDH HpofZynmBDjv1p9os5oBYDdhdnthflNA3qrjaaDFx78EHxdoY0XD0BNxsQ4AZYn+tJwkzz AQ80W4Qnd9c/h8XUsHl/EyHTr6fdzmd/4DplhVUWcklRT3SkZxU9FIDg4alHYw== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:08 +0200 Subject: [PATCH net-next 07/15] net: macb: simplify macb_adj_dma_desc_idx() 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 Message-Id: <20251014-macb-cleanup-v1-7-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 The function body uses a switch statement on bp->hw_dma_cap and handles its four possible values: 0, is_64b, is_ptp, is_64b && is_ptp. Instead, refactor by noticing that the return value is: desc_size * MULT with MULT =3D 3 if is_64b && is_ptp, 2 if is_64b || is_ptp, 1 otherwise. MULT can be expressed as: 1 + is_64b + is_ptp Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 7f74e280a3351ee7f961ff5ecd9550470b2e68eb..44a411662786ca4f309d6f9389b= 0d36819fc40ad 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -136,19 +136,13 @@ static unsigned int macb_dma_desc_get_size(struct mac= b *bp) static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int de= sc_idx) { #ifdef MACB_EXT_DESC - switch (bp->hw_dma_cap) { - case HW_DMA_CAP_64B: - case HW_DMA_CAP_PTP: - desc_idx <<=3D 1; - break; - case HW_DMA_CAP_64B_PTP: - desc_idx *=3D 3; - break; - default: - break; - } -#endif + bool is_ptp =3D bp->hw_dma_cap & HW_DMA_CAP_PTP; + bool is_64b =3D bp->hw_dma_cap & HW_DMA_CAP_64B; + + return desc_idx * (1 + is_64b + is_ptp); +#else return desc_idx; +#endif } =20 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E20AF301702 for ; Tue, 14 Oct 2025 15:25:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455560; cv=none; b=S27v8Md7PkBsiwll0nfwUaz12ePYC2gVRJ6hAoW5MIbzmsK+GMwMlyaaNz4QmZN1U+1VqXvVPbyFuKn40RpqXbgtJujiivRVNql+rLDXbBjOc2RZ2xsxGOyjlor563JjYaiJKZABk8VMLcjcAVoxeUFff97QzapcD0MUoNktcM8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455560; c=relaxed/simple; bh=IZWi4iOW9eQHr2cqWkBDuFfzqdPon+FfuCqzWuE1sdc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pSKHdfCjCe9aO1RbMIT5SsmWJGZFluCU2MHi/nD4ii9J7H1fd0JT9QJQzYJIFkKkmXITYOs3rivQc7DlG96t9UfLXzN3ba/Rm5ydW2EhjbXpUUNvSdmIUQRHZZioVS5ruypCZX7MJB3vHiQzZ6grlDnizOnPxClWyEDOJHgMJS4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=kZ3wB0WT; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="kZ3wB0WT" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 99205C09F95; Tue, 14 Oct 2025 15:25:37 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id A430C606EC; Tue, 14 Oct 2025 15:25:56 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 0EBC3102F22AD; Tue, 14 Oct 2025 17:25:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455555; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=FIyVTJHLl9EUh3+XnaOXcLh9+yBLiNGl00k5vghqARw=; b=kZ3wB0WTIeS7ZQOuyowI9HZ9Wc5H1Y+1mL/UfVeYSQWxvFRTuLduZ3u7Xs3y5by0HZbbvt CrojYcOzy/Rs+vC/R5hD4MUSXoZpXTWbhxbJPxLiQEWIzibp6y8n7oYD75cMOL/RyHkzgW tS5IE5y5T4JPYQeSEuQnDIKG+B7lSsBRbo2zrEGB1yGCHZcOStuC49eWVI4JCSqhKWpMSW MGaRrtljFqaIxbQvp3DNLLRRMd8VA7Bh4FUOwHwF6X91s6hhxbRKcwr+ZU9GpsCpVZENUf ukQU1DkKRJvo+MiLMSIzUN6AHuZYm3CImMhYNi6APVrCveJgIYtoaV1UPpIAeQ== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:09 +0200 Subject: [PATCH net-next 08/15] net: macb: move bp->hw_dma_cap flags to bp->caps 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 Message-Id: <20251014-macb-cleanup-v1-8-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Drop bp->hw_dma_cap field and put its two flags into bp->caps. On my specific config (eyeq5_defconfig), bloat-o-meter indicates: - macb_main.o: Before=3D56251, After=3D56359, chg +0.19% - macb_ptp.o: Before=3D 3976, After=3D 3952, chg -0.60% Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cadence/macb.h | 10 ++-------- drivers/net/ethernet/cadence/macb_main.c | 28 ++++++++++++++-------------- drivers/net/ethernet/cadence/macb_ptp.c | 16 +++++++++------- 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cad= ence/macb.h index 9d21ec482c8c62da28f9d5ff35d5ca46f293eb64..b3a4c9534240a3195adbd7acd32= 5cdaafab60039 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -777,6 +777,8 @@ #define MACB_CAPS_GIGABIT_MODE_AVAILABLE BIT(18) #define MACB_CAPS_SG_DISABLED BIT(19) #define MACB_CAPS_MACB_IS_GEM BIT(20) +#define MACB_CAPS_DMA_64B BIT(21) +#define MACB_CAPS_DMA_PTP BIT(22) =20 /* LSO settings */ #define MACB_LSO_UFO_ENABLE 0x01 @@ -854,11 +856,6 @@ struct macb_dma_desc { }; =20 #ifdef MACB_EXT_DESC -#define HW_DMA_CAP_32B 0 -#define HW_DMA_CAP_64B (1 << 0) -#define HW_DMA_CAP_PTP (1 << 1) -#define HW_DMA_CAP_64B_PTP (HW_DMA_CAP_64B | HW_DMA_CAP_PTP) - struct macb_dma_desc_64 { u32 addrh; u32 resvd; @@ -1349,9 +1346,6 @@ struct macb { =20 struct phy *sgmii_phy; /* for ZynqMP SGMII mode */ =20 -#ifdef MACB_EXT_DESC - uint8_t hw_dma_cap; -#endif spinlock_t tsu_clk_lock; /* gem tsu clock locking */ unsigned int tsu_rate; struct ptp_clock *ptp_clock; diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 44a411662786ca4f309d6f9389b0d36819fc40ad..44b96bf53ff6bcb351b27a16545= 1cac852528501 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -124,9 +124,9 @@ static unsigned int macb_dma_desc_get_size(struct macb = *bp) unsigned int desc_size =3D sizeof(struct macb_dma_desc); =20 #ifdef MACB_EXT_DESC - if (bp->hw_dma_cap & HW_DMA_CAP_64B) + if (bp->caps & MACB_CAPS_DMA_64B) desc_size +=3D sizeof(struct macb_dma_desc_64); - if (bp->hw_dma_cap & HW_DMA_CAP_PTP) + if (bp->caps & MACB_CAPS_DMA_PTP) desc_size +=3D sizeof(struct macb_dma_desc_ptp); #endif =20 @@ -136,8 +136,8 @@ static unsigned int macb_dma_desc_get_size(struct macb = *bp) static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int de= sc_idx) { #ifdef MACB_EXT_DESC - bool is_ptp =3D bp->hw_dma_cap & HW_DMA_CAP_PTP; - bool is_64b =3D bp->hw_dma_cap & HW_DMA_CAP_64B; + bool is_ptp =3D bp->caps & MACB_CAPS_DMA_PTP; + bool is_64b =3D bp->caps & MACB_CAPS_DMA_64B; =20 return desc_idx * (1 + is_64b + is_ptp); #else @@ -475,7 +475,7 @@ static void macb_init_buffers(struct macb *bp) =20 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT /* Single register for all queues' high 32 bits. */ - if (bp->hw_dma_cap & HW_DMA_CAP_64B) { + if (bp->caps & MACB_CAPS_DMA_64B) { macb_writel(bp, RBQPH, upper_32_bits(bp->queues[0].rx_ring_dma)); macb_writel(bp, TBQPH, @@ -1009,7 +1009,7 @@ static void macb_set_addr(struct macb *bp, struct mac= b_dma_desc *desc, dma_addr_ #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT struct macb_dma_desc_64 *desc_64; =20 - if (bp->hw_dma_cap & HW_DMA_CAP_64B) { + if (bp->caps & MACB_CAPS_DMA_64B) { desc_64 =3D macb_64b_desc(bp, desc); desc_64->addrh =3D upper_32_bits(addr); /* The low bits of RX address contain the RX_USED bit, clearing @@ -1028,14 +1028,14 @@ static dma_addr_t macb_get_addr(struct macb *bp, st= ruct macb_dma_desc *desc) #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT struct macb_dma_desc_64 *desc_64; =20 - if (bp->hw_dma_cap & HW_DMA_CAP_64B) { + if (bp->caps & MACB_CAPS_DMA_64B) { desc_64 =3D macb_64b_desc(bp, desc); addr =3D ((u64)(desc_64->addrh) << 32); } #endif addr |=3D MACB_BF(RX_WADDR, MACB_BFEXT(RX_WADDR, desc->addr)); #ifdef CONFIG_MACB_USE_HWSTAMP - if (bp->hw_dma_cap & HW_DMA_CAP_PTP) + if (bp->caps & MACB_CAPS_DMA_PTP) addr &=3D ~GEM_BIT(DMA_RXVALID); #endif return addr; @@ -2301,7 +2301,7 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *sk= b, struct net_device *dev) =20 #ifdef CONFIG_MACB_USE_HWSTAMP if ((skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) && - (bp->hw_dma_cap & HW_DMA_CAP_PTP)) + (bp->caps & MACB_CAPS_DMA_PTP)) skb_shinfo(skb)->tx_flags |=3D SKBTX_IN_PROGRESS; #endif =20 @@ -2781,11 +2781,11 @@ static void macb_configure_dma(struct macb *bp) =20 dmacfg &=3D ~GEM_BIT(ADDR64); #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT - if (bp->hw_dma_cap & HW_DMA_CAP_64B) + if (bp->caps & MACB_CAPS_DMA_64B) dmacfg |=3D GEM_BIT(ADDR64); #endif #ifdef CONFIG_MACB_USE_HWSTAMP - if (bp->hw_dma_cap & HW_DMA_CAP_PTP) + if (bp->caps & MACB_CAPS_DMA_PTP) dmacfg |=3D GEM_BIT(RXEXT) | GEM_BIT(TXEXT); #endif netdev_dbg(bp->dev, "Cadence configure DMA with 0x%08x\n", @@ -3563,7 +3563,7 @@ static int gem_get_ts_info(struct net_device *dev, { struct macb *bp =3D netdev_priv(dev); =20 - if ((bp->hw_dma_cap & HW_DMA_CAP_PTP) =3D=3D 0) { + if (!(bp->caps & MACB_CAPS_DMA_PTP)) { ethtool_op_get_ts_info(dev, info); return 0; } @@ -4351,7 +4351,7 @@ static void macb_configure_caps(struct macb *bp, "GEM doesn't support hardware ptp.\n"); else { #ifdef CONFIG_MACB_USE_HWSTAMP - bp->hw_dma_cap |=3D HW_DMA_CAP_PTP; + bp->caps |=3D MACB_CAPS_DMA_PTP; bp->ptp_info =3D &gem_ptp_info; #endif } @@ -5518,7 +5518,7 @@ static int macb_probe(struct platform_device *pdev) dev_err(&pdev->dev, "failed to set DMA mask\n"); goto err_out_free_netdev; } - bp->hw_dma_cap |=3D HW_DMA_CAP_64B; + bp->caps |=3D MACB_CAPS_DMA_64B; } #endif platform_set_drvdata(pdev, dev); diff --git a/drivers/net/ethernet/cadence/macb_ptp.c b/drivers/net/ethernet= /cadence/macb_ptp.c index a63bf29c4fa81b95f10aec8b8fe9918022e196d6..f4ab379f28493cffe30275fd335= 844ae2fefc89a 100644 --- a/drivers/net/ethernet/cadence/macb_ptp.c +++ b/drivers/net/ethernet/cadence/macb_ptp.c @@ -28,14 +28,16 @@ static struct macb_dma_desc_ptp *macb_ptp_desc(struct macb *bp, struct macb_dma_desc *desc) { - if (bp->hw_dma_cap =3D=3D HW_DMA_CAP_PTP) - return (struct macb_dma_desc_ptp *) - ((u8 *)desc + sizeof(struct macb_dma_desc)); - if (bp->hw_dma_cap =3D=3D HW_DMA_CAP_64B_PTP) + if (!(bp->caps & MACB_CAPS_DMA_PTP)) + return NULL; + + if (bp->caps & MACB_CAPS_DMA_64B) return (struct macb_dma_desc_ptp *) ((u8 *)desc + sizeof(struct macb_dma_desc) + sizeof(struct macb_dma_desc_64)); - return NULL; + else + return (struct macb_dma_desc_ptp *) + ((u8 *)desc + sizeof(struct macb_dma_desc)); } =20 static int gem_tsu_get_time(struct ptp_clock_info *ptp, struct timespec64 = *ts, @@ -380,7 +382,7 @@ int gem_get_hwtst(struct net_device *dev, struct macb *bp =3D netdev_priv(dev); =20 *tstamp_config =3D bp->tstamp_config; - if ((bp->hw_dma_cap & HW_DMA_CAP_PTP) =3D=3D 0) + if (!(bp->caps & MACB_CAPS_DMA_PTP)) return -EOPNOTSUPP; =20 return 0; @@ -407,7 +409,7 @@ int gem_set_hwtst(struct net_device *dev, struct macb *bp =3D netdev_priv(dev); u32 regval; =20 - if ((bp->hw_dma_cap & HW_DMA_CAP_PTP) =3D=3D 0) + if (!(bp->caps & MACB_CAPS_DMA_PTP)) return -EOPNOTSUPP; =20 switch (tstamp_config->tx_type) { --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C80CE303A10 for ; Tue, 14 Oct 2025 15:25:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455561; cv=none; b=McW4Vut8NOdsKWTAm7HSf5pIkReWCy+yFxgskzZa9/JzQgdCdRWQxTmkWmSxCO39NVMtDMRQ5hC9mygj2CmX4EaBvaLuR+IL1qvt8ZjGXbLdItSlkAJxXC5PEYeuxJXM7jv0Se7O+e9/zubTymsY7DV76HnuxUIXGuzKXqfZ0Xw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455561; c=relaxed/simple; bh=HTY2ijRO1tf1eTSEVXlg5CpDj5modXR4DH8kaYDg27E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=c+E6GPXaa8cCAnjpLJMmejNmeUkPtuyPIen0u1PQ+lXbliG0qm2atZNzUVX7SagW4O3cnGNbV/ZFwzS36aWSKqlbIerxB0kavhLD+J7vIpxIZBDdTAswhdE26cW0QSOMP13bVqn+nX2zgP4mbuf6Kys7DQncobQGadRS8M3WZv0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=vFzR7pjG; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="vFzR7pjG" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 8005FC09F96; Tue, 14 Oct 2025 15:25:39 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 8AD82606EC; Tue, 14 Oct 2025 15:25:58 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id EF7DC102F22B4; Tue, 14 Oct 2025 17:25:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455557; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=ZY8fyxY5lDryOsTY56WS6WnXIkM/Swh6Q0iFUBtZEVA=; b=vFzR7pjGZjPkz9QxC12zGuKLdY0CpCDe6hMFKn9llWwpZFbTeU9DxccZDUezdgm4Y/vTJV W0PuuY8KGP/+AsAFw2uoKnIdAZxbb7+cWgxUZM0Gp+KmjtcrKSa7YOJ7m0uaho3y/Z+gqN cC3boS/jB8fDl+BQddMpjsy3ffExWa6zL/PrB6ZBlov1yd9jz7u6sGocJNoT3jhAADkT30 SIqHCMjCRJuNqn1gjKO7VVNwz4qDFFBzRKNtH55wzvRcGrXfJSQoGLi9p8/UNzAM+WjVgz tlXQUM6nnT6/aclsGdfg7L+O7JCBamchI0IQwWOJ2G61GJ9opCKH9gAO0ul9uw== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:10 +0200 Subject: [PATCH net-next 09/15] net: macb: introduce DMA descriptor helpers (is 64bit? is PTP?) 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 Message-Id: <20251014-macb-cleanup-v1-9-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Introduce macb_dma64() and macb_dma_ptp() helper functions. Many codepaths are made simpler by dropping conditional compilation. This implies two additional changes: - Always compile related structure definitions inside . - MACB_EXT_DESC can be dropped as it is useless now. The common case: #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT struct macb_dma_desc_64 *desc_64; if (bp->hw_dma_cap & HW_DMA_CAP_64B) { desc_64 =3D macb_64b_desc(bp, desc); // ... } #endif Is replaced by: if (macb_dma64(bp)) { struct macb_dma_desc_64 *desc_64 =3D macb_64b_desc(bp, desc); // ... } Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cadence/macb.h | 18 +++++++---- drivers/net/ethernet/cadence/macb_main.c | 55 ++++++++++------------------= ---- drivers/net/ethernet/cadence/macb_ptp.c | 8 ++--- 3 files changed, 32 insertions(+), 49 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cad= ence/macb.h index b3a4c9534240a3195adbd7acd325cdaafab60039..f696b2ddc412bffdbdee5dd32c5= 9b338130907f3 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -15,10 +15,6 @@ #include #include =20 -#if defined(CONFIG_ARCH_DMA_ADDR_T_64BIT) || defined(CONFIG_MACB_USE_HWSTA= MP) -#define MACB_EXT_DESC -#endif - #define MACB_GREGS_NBR 16 #define MACB_GREGS_VERSION 2 #define MACB_MAX_QUEUES 8 @@ -855,7 +851,6 @@ struct macb_dma_desc { u32 ctrl; }; =20 -#ifdef MACB_EXT_DESC struct macb_dma_desc_64 { u32 addrh; u32 resvd; @@ -865,7 +860,6 @@ struct macb_dma_desc_ptp { u32 ts_1; u32 ts_2; }; -#endif =20 /* DMA descriptor bitfields */ #define MACB_RX_USED_OFFSET 0 @@ -1437,6 +1431,18 @@ static inline u64 enst_max_hw_interval(u32 speed_mbp= s) ENST_TIME_GRANULARITY_NS * 1000, (speed_mbps)); } =20 +static inline bool macb_dma64(struct macb *bp) +{ + return IS_ENABLED(CONFIG_ARCH_DMA_ADDR_T_64BIT) && + bp->caps & MACB_CAPS_DMA_64B; +} + +static inline bool macb_dma_ptp(struct macb *bp) +{ + return IS_ENABLED(CONFIG_MACB_USE_HWSTAMP) && + bp->caps & MACB_CAPS_DMA_PTP; +} + /** * struct macb_platform_data - platform data for MACB Ethernet used for PC= I registration * @pclk: platform clock diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 44b96bf53ff6bcb351b27a165451cac852528501..9db419b94d0b47c19cdafb707b1= e500124b682c8 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -123,35 +123,24 @@ static unsigned int macb_dma_desc_get_size(struct mac= b *bp) { unsigned int desc_size =3D sizeof(struct macb_dma_desc); =20 -#ifdef MACB_EXT_DESC - if (bp->caps & MACB_CAPS_DMA_64B) + if (macb_dma64(bp)) desc_size +=3D sizeof(struct macb_dma_desc_64); - if (bp->caps & MACB_CAPS_DMA_PTP) + if (macb_dma_ptp(bp)) desc_size +=3D sizeof(struct macb_dma_desc_ptp); -#endif =20 return desc_size; } =20 static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int de= sc_idx) { -#ifdef MACB_EXT_DESC - bool is_ptp =3D bp->caps & MACB_CAPS_DMA_PTP; - bool is_64b =3D bp->caps & MACB_CAPS_DMA_64B; - - return desc_idx * (1 + is_64b + is_ptp); -#else - return desc_idx; -#endif + return desc_idx * (1 + macb_dma64(bp) + macb_dma_ptp(bp)); } =20 -#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT static struct macb_dma_desc_64 *macb_64b_desc(struct macb *bp, struct macb= _dma_desc *desc) { return (struct macb_dma_desc_64 *)((void *)desc + sizeof(struct macb_dma_desc)); } -#endif =20 /* Ring buffer accessors */ static unsigned int macb_tx_ring_wrap(struct macb *bp, unsigned int index) @@ -473,15 +462,13 @@ static void macb_init_buffers(struct macb *bp) struct macb_queue *queue; unsigned int q; =20 -#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT /* Single register for all queues' high 32 bits. */ - if (bp->caps & MACB_CAPS_DMA_64B) { + if (macb_dma64(bp)) { macb_writel(bp, RBQPH, upper_32_bits(bp->queues[0].rx_ring_dma)); macb_writel(bp, TBQPH, upper_32_bits(bp->queues[0].tx_ring_dma)); } -#endif =20 for (q =3D 0, queue =3D bp->queues; q < bp->num_queues; ++q, ++queue) { queue_writel(queue, RBQP, lower_32_bits(queue->rx_ring_dma)); @@ -1006,10 +993,9 @@ static void macb_tx_unmap(struct macb *bp, struct mac= b_tx_skb *tx_skb, int budge =20 static void macb_set_addr(struct macb *bp, struct macb_dma_desc *desc, dma= _addr_t addr) { -#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT - struct macb_dma_desc_64 *desc_64; + if (macb_dma64(bp)) { + struct macb_dma_desc_64 *desc_64; =20 - if (bp->caps & MACB_CAPS_DMA_64B) { desc_64 =3D macb_64b_desc(bp, desc); desc_64->addrh =3D upper_32_bits(addr); /* The low bits of RX address contain the RX_USED bit, clearing @@ -1018,26 +1004,23 @@ static void macb_set_addr(struct macb *bp, struct m= acb_dma_desc *desc, dma_addr_ */ dma_wmb(); } -#endif + desc->addr =3D lower_32_bits(addr); } =20 static dma_addr_t macb_get_addr(struct macb *bp, struct macb_dma_desc *des= c) { dma_addr_t addr =3D 0; -#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT - struct macb_dma_desc_64 *desc_64; =20 - if (bp->caps & MACB_CAPS_DMA_64B) { + if (macb_dma64(bp)) { + struct macb_dma_desc_64 *desc_64; + desc_64 =3D macb_64b_desc(bp, desc); addr =3D ((u64)(desc_64->addrh) << 32); } -#endif addr |=3D MACB_BF(RX_WADDR, MACB_BFEXT(RX_WADDR, desc->addr)); -#ifdef CONFIG_MACB_USE_HWSTAMP - if (bp->caps & MACB_CAPS_DMA_PTP) + if (macb_dma_ptp(bp)) addr &=3D ~GEM_BIT(DMA_RXVALID); -#endif return addr; } =20 @@ -2299,11 +2282,9 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *s= kb, struct net_device *dev) return ret; } =20 -#ifdef CONFIG_MACB_USE_HWSTAMP - if ((skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) && - (bp->caps & MACB_CAPS_DMA_PTP)) + if (macb_dma_ptp(bp) && + (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) skb_shinfo(skb)->tx_flags |=3D SKBTX_IN_PROGRESS; -#endif =20 is_lso =3D (skb_shinfo(skb)->gso_size !=3D 0); =20 @@ -2780,14 +2761,10 @@ static void macb_configure_dma(struct macb *bp) dmacfg &=3D ~GEM_BIT(TXCOEN); =20 dmacfg &=3D ~GEM_BIT(ADDR64); -#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT - if (bp->caps & MACB_CAPS_DMA_64B) + if (macb_dma64(bp)) dmacfg |=3D GEM_BIT(ADDR64); -#endif -#ifdef CONFIG_MACB_USE_HWSTAMP - if (bp->caps & MACB_CAPS_DMA_PTP) + if (macb_dma_ptp(bp)) dmacfg |=3D GEM_BIT(RXEXT) | GEM_BIT(TXEXT); -#endif netdev_dbg(bp->dev, "Cadence configure DMA with 0x%08x\n", dmacfg); gem_writel(bp, DMACFG, dmacfg); @@ -3563,7 +3540,7 @@ static int gem_get_ts_info(struct net_device *dev, { struct macb *bp =3D netdev_priv(dev); =20 - if (!(bp->caps & MACB_CAPS_DMA_PTP)) { + if (!macb_dma_ptp(bp)) { ethtool_op_get_ts_info(dev, info); return 0; } diff --git a/drivers/net/ethernet/cadence/macb_ptp.c b/drivers/net/ethernet= /cadence/macb_ptp.c index f4ab379f28493cffe30275fd335844ae2fefc89a..c9e77819196e17a5b88f6dab77d= adabfe087a1bd 100644 --- a/drivers/net/ethernet/cadence/macb_ptp.c +++ b/drivers/net/ethernet/cadence/macb_ptp.c @@ -28,10 +28,10 @@ static struct macb_dma_desc_ptp *macb_ptp_desc(struct macb *bp, struct macb_dma_desc *desc) { - if (!(bp->caps & MACB_CAPS_DMA_PTP)) + if (!macb_dma_ptp(bp)) return NULL; =20 - if (bp->caps & MACB_CAPS_DMA_64B) + if (macb_dma64(bp)) return (struct macb_dma_desc_ptp *) ((u8 *)desc + sizeof(struct macb_dma_desc) + sizeof(struct macb_dma_desc_64)); @@ -382,7 +382,7 @@ int gem_get_hwtst(struct net_device *dev, struct macb *bp =3D netdev_priv(dev); =20 *tstamp_config =3D bp->tstamp_config; - if (!(bp->caps & MACB_CAPS_DMA_PTP)) + if (!macb_dma_ptp(bp)) return -EOPNOTSUPP; =20 return 0; @@ -409,7 +409,7 @@ int gem_set_hwtst(struct net_device *dev, struct macb *bp =3D netdev_priv(dev); u32 regval; =20 - if (!(bp->caps & MACB_CAPS_DMA_PTP)) + if (!macb_dma_ptp(bp)) return -EOPNOTSUPP; =20 switch (tstamp_config->tx_type) { --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B8973043CC; Tue, 14 Oct 2025 15:26:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455564; cv=none; b=T72efsFa+erBhQ8giUo2IOFk6h8/7XPBTmZtQmacDlDwrNQZZa5tFvOqkaxWmR3cSJtnteD60RUIi1Hxgw+bDMdCFQJ3GQdKTNZ/YzPY17WHCPftK+J+lGnOROKvK8DPuXCibu/M2iQPz1CAt5aSFGd4zRSRlrqkLqVUSrQ0+lc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455564; c=relaxed/simple; bh=92e/0H7vLbswdPeWDdzTlQk4ifp2T00n8ZPVF4Bqkvw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EWt7xoPMX36dDFW0WW/TE+62vA/SA5wc5sufgUEvK8IrQp1hKWxd20SBomvc5lVTWBz1daDTMr0jE3ri35osPDjuc/hUTJVh0WkpuLVsQmiJmfAvIEOeRAL4gdljtvVNDotReaooA9KTSg5LOqVSnu+c28lwYa8qgwy1fAoDo5Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=FOpV4hhQ; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="FOpV4hhQ" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id A05554E410B7; Tue, 14 Oct 2025 15:26:00 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 75B75606EC; Tue, 14 Oct 2025 15:26:00 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id E3037102F22B1; Tue, 14 Oct 2025 17:25:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455559; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=jaSOvhbWIl9I6598VXUOOMnqnEToCtsJCRhNQilmR1k=; b=FOpV4hhQL1t1xsz0iIKzX8i6Dm3KaPPEhuFQyOl1BUuRZWZNNCizR7tHgjh6gza8DJZdsM Qv7B2fxNVuDzFEyakPETSsd2tPnKyz1snQZRtT5lI6XY4jBhNJUWazosDaNkmg+3Jlq2QT voLi0JiZsWbYjXHZ0cOGQAETpFJQZMsaAiBiZv+bwC5DZ8fC1ptRYOlRWFX+Q8lQZbjK1+ I9MJYhwreVVIajjrnGjLFXm9IHWkr/Cup0A4Khc7GVI+im/jwSXBhq8EFkpy0jlRJpH+tY 75lj2c/RmTdkt5FMrkjMGUUtWPzo9SID3pptT6Xt2TsDRSsanEFY0E6OC1OE4Q== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:11 +0200 Subject: [PATCH net-next 10/15] net: macb: remove bp->queue_mask 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 Message-Id: <20251014-macb-cleanup-v1-10-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 The low 16 bits of GEM_DCFG6 tell us which queues are enabled in HW. In theory, there could be holes in the bitfield. In practice, the macb driver would fail if there were holes as most loops iterate upon bp->num_queues. Only macb_init() iterated correctly. - Drop bp->queue_mask field. - Error out at probe if a hole is in the queue mask. - Rely upon bp->num_queues for iteration. - As we drop the queue_mask probe local variable, fix RCT. - Compute queue_mask on the fly for TAPRIO using bp->num_queues. Signed-off-by: Th=C3=A9o Lebrun Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cadence/macb.h | 1 - drivers/net/ethernet/cadence/macb_main.c | 69 +++++++++++++++++-----------= ---- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cad= ence/macb.h index f696b2ddc412bffdbdee5dd32c59b338130907f3..5b7d4cdb204d8362bfa81dcc589= 65edbbf4dd1f8 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -1290,7 +1290,6 @@ struct macb { unsigned int tx_ring_size; =20 unsigned int num_queues; - unsigned int queue_mask; struct macb_queue queues[MACB_MAX_QUEUES]; =20 spinlock_t lock; diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 9db419b94d0b47c19cdafb707b1e500124b682c8..98e28d51a6e12c24ef27c939363= eb43c0aec1951 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -4066,6 +4066,8 @@ static int macb_taprio_setup_replace(struct net_devic= e *ndev, struct macb *bp =3D netdev_priv(ndev); struct ethtool_link_ksettings kset; struct macb_queue *queue; + u32 queue_mask; + u8 queue_id; size_t i; int err; =20 @@ -4117,8 +4119,9 @@ static int macb_taprio_setup_replace(struct net_devic= e *ndev, goto cleanup; } =20 - /* gate_mask must not select queues outside the valid queue_mask */ - if (entry->gate_mask & ~bp->queue_mask) { + /* gate_mask must not select queues outside the valid queues */ + queue_id =3D order_base_2(entry->gate_mask); + if (queue_id >=3D bp->num_queues) { netdev_err(ndev, "Entry %zu: gate_mask 0x%x exceeds queue range (max_qu= eues=3D%d)\n", i, entry->gate_mask, bp->num_queues); err =3D -EINVAL; @@ -4152,7 +4155,7 @@ static int macb_taprio_setup_replace(struct net_devic= e *ndev, goto cleanup; } =20 - enst_queue[i].queue_id =3D order_base_2(entry->gate_mask); + enst_queue[i].queue_id =3D queue_id; enst_queue[i].start_time_mask =3D (start_time_sec << GEM_START_TIME_SEC_OFFSET) | start_time_nsec; @@ -4180,8 +4183,9 @@ static int macb_taprio_setup_replace(struct net_devic= e *ndev, /* All validations passed - proceed with hardware configuration */ scoped_guard(spinlock_irqsave, &bp->lock) { /* Disable ENST queues if running before configuring */ + queue_mask =3D BIT_U32(bp->num_queues) - 1; gem_writel(bp, ENST_CONTROL, - bp->queue_mask << GEM_ENST_DISABLE_QUEUE_OFFSET); + queue_mask << GEM_ENST_DISABLE_QUEUE_OFFSET); =20 for (i =3D 0; i < conf->num_entries; i++) { queue =3D &bp->queues[enst_queue[i].queue_id]; @@ -4210,15 +4214,16 @@ static void macb_taprio_destroy(struct net_device *= ndev) { struct macb *bp =3D netdev_priv(ndev); struct macb_queue *queue; - u32 enst_disable_mask; + u32 queue_mask; unsigned int q; =20 netdev_reset_tc(ndev); - enst_disable_mask =3D bp->queue_mask << GEM_ENST_DISABLE_QUEUE_OFFSET; + queue_mask =3D BIT_U32(bp->num_queues) - 1; =20 scoped_guard(spinlock_irqsave, &bp->lock) { /* Single disable command for all queues */ - gem_writel(bp, ENST_CONTROL, enst_disable_mask); + gem_writel(bp, ENST_CONTROL, + queue_mask << GEM_ENST_DISABLE_QUEUE_OFFSET); =20 /* Clear all queue ENST registers in batch */ for (q =3D 0, queue =3D bp->queues; q < bp->num_queues; ++q, ++queue) { @@ -4341,26 +4346,25 @@ static void macb_configure_caps(struct macb *bp, dev_dbg(&bp->pdev->dev, "Cadence caps 0x%08x\n", bp->caps); } =20 -static void macb_probe_queues(void __iomem *mem, - bool native_io, - unsigned int *queue_mask, - unsigned int *num_queues) +static int macb_probe_queues(struct device *dev, void __iomem *mem, bool n= ative_io) { - *queue_mask =3D 0x1; - *num_queues =3D 1; + /* BIT(0) is never set but queue 0 always exists. */ + unsigned int queue_mask =3D 0x1; =20 - /* is it macb or gem ? - * - * We need to read directly from the hardware here because - * we are early in the probe process and don't have the - * MACB_CAPS_MACB_IS_GEM flag positioned - */ - if (!hw_is_gem(mem, native_io)) - return; + /* Use hw_is_gem() as MACB_CAPS_MACB_IS_GEM is not yet positioned. */ + if (hw_is_gem(mem, native_io)) { + if (native_io) + queue_mask |=3D __raw_readl(mem + GEM_DCFG6) & 0xFF; + else + queue_mask |=3D readl_relaxed(mem + GEM_DCFG6) & 0xFF; =20 - /* bit 0 is never set but queue 0 always exists */ - *queue_mask |=3D readl_relaxed(mem + GEM_DCFG6) & 0xff; - *num_queues =3D hweight32(*queue_mask); + if (fls(queue_mask) !=3D ffz(queue_mask)) { + dev_err(dev, "queue mask %#x has a hole\n", queue_mask); + return -EINVAL; + } + } + + return hweight32(queue_mask); } =20 static void macb_clks_disable(struct clk *pclk, struct clk *hclk, struct c= lk *tx_clk, @@ -4478,10 +4482,7 @@ static int macb_init(struct platform_device *pdev) * register mapping but we don't want to test the queue index then * compute the corresponding register offset at run time. */ - for (hw_q =3D 0, q =3D 0; hw_q < MACB_MAX_QUEUES; ++hw_q) { - if (!(bp->queue_mask & (1 << hw_q))) - continue; - + for (hw_q =3D 0, q =3D 0; hw_q < bp->num_queues; ++hw_q) { queue =3D &bp->queues[q]; queue->bp =3D bp; spin_lock_init(&queue->tx_ptr_lock); @@ -5385,14 +5386,14 @@ static int macb_probe(struct platform_device *pdev) struct device_node *np =3D pdev->dev.of_node; struct clk *pclk, *hclk =3D NULL, *tx_clk =3D NULL, *rx_clk =3D NULL; struct clk *tsu_clk =3D NULL; - unsigned int queue_mask, num_queues; - bool native_io; phy_interface_t interface; struct net_device *dev; struct resource *regs; u32 wtrmrk_rst_val; void __iomem *mem; struct macb *bp; + int num_queues; + bool native_io; int err, val; =20 mem =3D devm_platform_get_and_ioremap_resource(pdev, 0, ®s); @@ -5418,7 +5419,12 @@ static int macb_probe(struct platform_device *pdev) pm_runtime_enable(&pdev->dev); native_io =3D hw_is_native_io(mem); =20 - macb_probe_queues(mem, native_io, &queue_mask, &num_queues); + num_queues =3D macb_probe_queues(&pdev->dev, mem, native_io); + if (num_queues < 0) { + err =3D num_queues; + goto err_disable_clocks; + } + dev =3D alloc_etherdev_mq(sizeof(*bp), num_queues); if (!dev) { err =3D -ENOMEM; @@ -5442,7 +5448,6 @@ static int macb_probe(struct platform_device *pdev) bp->macb_reg_writel =3D hw_writel; } bp->num_queues =3D num_queues; - bp->queue_mask =3D queue_mask; bp->dma_burst_length =3D macb_config->dma_burst_length; bp->pclk =3D pclk; bp->hclk =3D hclk; --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6B70304BA2 for ; Tue, 14 Oct 2025 15:26:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455565; cv=none; b=ajAC3Gz7NPWQwSnGS9rD4UlM6O89kdiaWp1ujAiS7roFO0aNFeN18fpx94YrwSSRc0EofQNXiVxOPlAvKroyqrwZcrUjx/2D3bLpL9nc3uWHZw1hblfNTOurj+OYboBvO1r/BFWHkc9rreg102XM9vjB3+N3Va2YDtw1J5aa7yA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455565; c=relaxed/simple; bh=4Kc7dBSFaD6z25zl6rVBPh9V2LR/PdW5rOp1Ot6UiMk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Alzdl19Sby5NPKyUOy7IdcD2YSfKntkR8Zo0OJDWr0puABdTJBSmmDqa13Ci9D0kE0sioL/Dm/x/ldOD0FPsVDAAEQWzgaM6Q2NO0Tos2ZAGwCh4u3rObW7smWUYJdopz2kLYLJMGRvd44hJx0glkq1tyktYymUBCINc1SUv80w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=jGkWiRip; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="jGkWiRip" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 3449AC09F96; Tue, 14 Oct 2025 15:25:43 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 3DBE9606EC; Tue, 14 Oct 2025 15:26:02 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id DF1C2102F22B5; Tue, 14 Oct 2025 17:25:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455561; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=JRB1v2jUJr+q7iCHIqulhDNoJ2z36CVmrWMSFTiGPyA=; b=jGkWiRip0O1XiIyEw/7hEB/rCycWRWjJudpny5jmMa8sRMVIwLZGvqZEX4C5I3MVEcI7gn aiEZxmsI1f3oUMS8XpAqpGXcndBCQEWeTdfgkX0DtOCkHoa60ngfY9CvDyOApNNeYj1+Bp fB/G1YwHLGzZO7/Gkc5Qtz+nlCkBs3q01FUtqS387A1XZdb8pKKqZ/PloTx3LPixmN38fv iY3UaMOMtQceR8UzFlIsXGQ4IhXxPH3jxIwaRT73yMEITPnKqGp43fExZIMVv1N0fH+x82 qeia0bz4CtlN5Ohat3a1bmHcCP4rVvwLcwnF7oHisKA1pPU3wnCEQPW0Nm7rNQ== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:12 +0200 Subject: [PATCH net-next 11/15] net: macb: replace min() with umin() calls 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 Message-Id: <20251014-macb-cleanup-v1-11-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Whenever min(a, b) is used with a and b unsigned variables or literals, `make W=3D2` complains. Change four min() calls into umin(). stderr extract (GCC 11.2.0, MIPS Codescape): ./include/linux/minmax.h:68:57: warning: comparison is always true due to limited range of data type [-Wtype-limits] 68 | #define __is_nonneg(ux) statically_true((long long)(ux) >=3D 0) | ^~ drivers/net/ethernet/cadence/macb_main.c:2299:26: note: in expansion of macro =E2=80=98= min=E2=80=99 2299 | hdrlen =3D min(skb_headlen(skb), bp->max_tx_length); | ^~~ Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 98e28d51a6e12c24ef27c939363eb43c0aec1951..6c6bc6aa23c718772b95b398e80= 7f193a38e141a 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -2035,7 +2035,7 @@ static unsigned int macb_tx_map(struct macb *bp, count++; tx_head++; =20 - size =3D min(len, bp->max_tx_length); + size =3D umin(len, bp->max_tx_length); } =20 /* Then, map paged data from fragments */ @@ -2045,7 +2045,7 @@ static unsigned int macb_tx_map(struct macb *bp, len =3D skb_frag_size(frag); offset =3D 0; while (len) { - size =3D min(len, bp->max_tx_length); + size =3D umin(len, bp->max_tx_length); entry =3D macb_tx_ring_wrap(bp, tx_head); tx_skb =3D &queue->tx_skb[entry]; =20 @@ -2301,7 +2301,7 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *sk= b, struct net_device *dev) return NETDEV_TX_BUSY; } } else - hdrlen =3D min(skb_headlen(skb), bp->max_tx_length); + hdrlen =3D umin(skb_headlen(skb), bp->max_tx_length); =20 #if defined(DEBUG) && defined(VERBOSE_DEBUG) netdev_vdbg(bp->dev, @@ -4573,8 +4573,8 @@ static int macb_init(struct platform_device *pdev) * each 4-tuple define requires 1 T2 screener reg + 3 compare regs */ reg =3D gem_readl(bp, DCFG8); - bp->max_tuples =3D min((GEM_BFEXT(SCR2CMP, reg) / 3), - GEM_BFEXT(T2SCR, reg)); + bp->max_tuples =3D umin((GEM_BFEXT(SCR2CMP, reg) / 3), + GEM_BFEXT(T2SCR, reg)); INIT_LIST_HEAD(&bp->rx_fs_list.list); if (bp->max_tuples > 0) { /* also needs one ethtype match to check IPv4 */ --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FE99304BDC; Tue, 14 Oct 2025 15:26:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455568; cv=none; b=YqluW1i6IczTME8lBvkIFkBp7n5TFtWxhyV45yXkiE40LmYWPkCWblQ+gvCU67axMcR8HTssJqWurNYBnGSZQJ9irKlTvGrltUInV9+FTlCD5NibpL04rrqQmqaBq8bdllRldW4cO9kjUd6YTmETzLyN1YWhY8i7jKsisIMcjcQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455568; c=relaxed/simple; bh=Rr2bcXQc2OD3O32dxGrPel6Y7nYqzIJiZbUkKT/gxKg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W06ZJWhhpPAhW2VAT/iHKb+NP+zZKpHdJqRP/e6FwC0sDZUryOBa6xIIQcn6dmRIddKRkn9xTu4rX8bEbKGbmuEVxId6tsa1SGHZswlR04na4u9h06/DHTcXAmOmTeLKZrF9MsI+zWlbvKhNLuoLtpGhxQXxXQu5j6JAXXtRY2Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=NNAwD+ks; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="NNAwD+ks" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 8DAF24E4108F; Tue, 14 Oct 2025 15:26:04 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 63CB3606EC; Tue, 14 Oct 2025 15:26:04 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 9D748102F22B6; Tue, 14 Oct 2025 17:26:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455563; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mMovQ+bbPU0CMTaaS4M7chqUufiNQaWCJ6pG3zPjyis=; b=NNAwD+ksz22jh0RQAo/Y93jBVdQZcYm+qf9Z0dIWjx3hfAl8JFw/+1JO+W9m7Y4/axdnKC o6p0IjpPfcF7SeqgsRcyYIxeX6hzQsG1nWaiFRo24p9IWzAh4ko6kDjAt/bgfA1dMvkvPY i1VXLc2o14iKZFla6/PPXVr8Kj7/bD0d+KC1hrfB6no9QiRd78Dtd+O91pY27HD5qMbiNe yohfWU35iZKlKoue1096ERDUJ+0Fmk/AhOTgInnJ50Hfr59LRhFU7PLMw/2wqT1Mgwvh/q k6hWklYQJEr3fMxfhuoj8XbCwaIMDjAjRAi+fuit431dTWMQiiTF8YItOcTz/g== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:13 +0200 Subject: [PATCH net-next 12/15] net: macb: drop `entry` local variable in macb_tx_map() 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 Message-Id: <20251014-macb-cleanup-v1-12-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 The pattern: entry =3D macb_tx_ring_wrap(bp, i); tx_skb =3D &queue->tx_skb[entry]; is the exact definition of: macb_tx_skb(queue, i); The pattern: entry =3D macb_tx_ring_wrap(bp, i); desc =3D macb_tx_desc(queue, entry); is redundant because macb_tx_desc() calls macb_tx_ring_wrap(). One explicit call to macb_tx_ring_wrap() is still required for checking if it is the last buffer (TX_WRAP case). Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 6c6bc6aa23c718772b95b398e807f193a38e141a..08e541d8f8e68e38442a538ce35= 2508c5db63f52 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -1989,7 +1989,7 @@ static unsigned int macb_tx_map(struct macb *bp, unsigned int hdrlen) { dma_addr_t mapping; - unsigned int len, entry, i, tx_head =3D queue->tx_head; + unsigned int len, i, tx_head =3D queue->tx_head; struct macb_tx_skb *tx_skb =3D NULL; struct macb_dma_desc *desc; unsigned int offset, size, count =3D 0; @@ -2015,8 +2015,7 @@ static unsigned int macb_tx_map(struct macb *bp, =20 offset =3D 0; while (len) { - entry =3D macb_tx_ring_wrap(bp, tx_head); - tx_skb =3D &queue->tx_skb[entry]; + tx_skb =3D macb_tx_skb(queue, tx_head); =20 mapping =3D dma_map_single(&bp->pdev->dev, skb->data + offset, @@ -2046,8 +2045,7 @@ static unsigned int macb_tx_map(struct macb *bp, offset =3D 0; while (len) { size =3D umin(len, bp->max_tx_length); - entry =3D macb_tx_ring_wrap(bp, tx_head); - tx_skb =3D &queue->tx_skb[entry]; + tx_skb =3D macb_tx_skb(queue, tx_head); =20 mapping =3D skb_frag_dma_map(&bp->pdev->dev, frag, offset, size, DMA_TO_DEVICE); @@ -2084,9 +2082,8 @@ static unsigned int macb_tx_map(struct macb *bp, * to set the end of TX queue */ i =3D tx_head; - entry =3D macb_tx_ring_wrap(bp, i); ctrl =3D MACB_BIT(TX_USED); - desc =3D macb_tx_desc(queue, entry); + desc =3D macb_tx_desc(queue, i); desc->ctrl =3D ctrl; =20 if (lso_ctrl) { @@ -2106,16 +2103,15 @@ static unsigned int macb_tx_map(struct macb *bp, =20 do { i--; - entry =3D macb_tx_ring_wrap(bp, i); - tx_skb =3D &queue->tx_skb[entry]; - desc =3D macb_tx_desc(queue, entry); + tx_skb =3D macb_tx_skb(queue, i); + desc =3D macb_tx_desc(queue, i); =20 ctrl =3D (u32)tx_skb->size; if (eof) { ctrl |=3D MACB_BIT(TX_LAST); eof =3D 0; } - if (unlikely(entry =3D=3D (bp->tx_ring_size - 1))) + if (unlikely(macb_tx_ring_wrap(bp, i) =3D=3D bp->tx_ring_size - 1)) ctrl |=3D MACB_BIT(TX_WRAP); =20 /* First descriptor is header descriptor */ --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E98C306D48; Tue, 14 Oct 2025 15:26:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455569; cv=none; b=LeWHPqiZnqxoGCKpPSzVBU/hDG0mL8OcJ+xPcvLlsVUNDZMfJp4drmpLp8FjIbZ05JV0fwV4XByjYAKIgBluzEYbzfqhZktFqcc3wFAaOr7dk6UVqlqIi0X7WMwXGI+xYRgWDpoGIxFJLxtzAbmT+xNsrxJ/4GiFCgs4XnD1zMQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455569; c=relaxed/simple; bh=8Aa3PYt2yjuFp47vdKAWSy65oh6/PaLFzTf3gySSxOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VAz5drIWiVFn7uHJNPjWhod+83cmg1UuWsw6M5fUxNhjaC2aPRAXxHhdkpXEZ67si9Ishx8CoaNdUEpdkY+UZRtDlUvOjtP6vnpkFFJFE4kFTOuIGw0KclwunXWDNohSWZrqHC74xPP56azVoiL634V8b44X+xR4KqBTvnVcO/U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Tn04OgfA; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Tn04OgfA" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id C6E80C09F95; Tue, 14 Oct 2025 15:25:46 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id D119B606EC; Tue, 14 Oct 2025 15:26:05 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 9CF31102F226E; Tue, 14 Oct 2025 17:26:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455564; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=QI+HWPinHDUdHirMBfaP/ROkTevREKiGeo7IOiPl6Pk=; b=Tn04OgfAB0YV88JW8kJQ7IwKn5xHA+h47a3xDtxO5FZDNQHJxYTAeNlQ3da+s94hEVWS0R 7k+o1wT0v2rNRp6pFjlF6o9UUo7n2GttLRWLimX2dxG6iikheLZk4FdRmvU56zLIKBcUqk LB32fc1vPPHudvHEpiuKK1APU2uoPwQCEolZR0hZUCGbiMYJy9MOfgIoOYbHtug5fiDsrf 9MbyKws2WSmRnSuvF+sN03+F7UQFFwqnIguJo/Nz4Bs4F31erKaAqs016l56J0XmDw+tV9 ZEo8TZRR9tT7vbpJ487W6Iz7DV3/yFTy1XkloGeQjh+e2PvNQQzfO99fHSu47A== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:14 +0200 Subject: [PATCH net-next 13/15] net: macb: drop `count` local variable in macb_tx_map() 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 Message-Id: <20251014-macb-cleanup-v1-13-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Local variable `count` is useless: it counts number of DMA descriptors used and returns it. But the return value is only checked for error. Drop counting the number of DMA descriptors and return a usual negative-if-error integer. Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index 08e541d8f8e68e38442a538ce352508c5db63f52..dd3b13fa304715b4629c20120a9= 08262af106a2d 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -1992,7 +1992,7 @@ static unsigned int macb_tx_map(struct macb *bp, unsigned int len, i, tx_head =3D queue->tx_head; struct macb_tx_skb *tx_skb =3D NULL; struct macb_dma_desc *desc; - unsigned int offset, size, count =3D 0; + unsigned int offset, size; unsigned int f, nr_frags =3D skb_shinfo(skb)->nr_frags; unsigned int eof =3D 1, mss_mfs =3D 0; u32 ctrl, lso_ctrl =3D 0, seq_ctrl =3D 0; @@ -2031,7 +2031,6 @@ static unsigned int macb_tx_map(struct macb *bp, =20 len -=3D size; offset +=3D size; - count++; tx_head++; =20 size =3D umin(len, bp->max_tx_length); @@ -2060,7 +2059,6 @@ static unsigned int macb_tx_map(struct macb *bp, =20 len -=3D size; offset +=3D size; - count++; tx_head++; } } @@ -2139,7 +2137,7 @@ static unsigned int macb_tx_map(struct macb *bp, =20 queue->tx_head =3D tx_head; =20 - return count; + return 0; =20 dma_error: netdev_err(bp->dev, "TX DMA map failed\n"); @@ -2150,7 +2148,7 @@ static unsigned int macb_tx_map(struct macb *bp, macb_tx_unmap(bp, tx_skb, 0); } =20 - return 0; + return -ENOMEM; } =20 static netdev_features_t macb_features_check(struct sk_buff *skb, @@ -2336,7 +2334,7 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *sk= b, struct net_device *dev) } =20 /* Map socket buffer for DMA transfer */ - if (!macb_tx_map(bp, queue, skb, hdrlen)) { + if (macb_tx_map(bp, queue, skb, hdrlen)) { dev_kfree_skb_any(skb); goto unlock; } --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A35163101D1 for ; Tue, 14 Oct 2025 15:26:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.171.202.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455572; cv=none; b=azkWg3NcLAZfHDbA9LL120tde33yi1E6nIu3lgmNsXF/EPzfIHW4Uqz+ua/GJetWNGe72qxd8M3wyVf6S2m0akoV73uetNJlxUSMe7Sq7EiIwUnpbtxR5KBFS0XDl/i0R45rK9Sc+BIN3OgnVG6Bq904eG6zo5ivx2axzJ0ObrI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455572; c=relaxed/simple; bh=CT1bzRQQrvXj1L+037G7R/WgnGR8oL5lCpFHntM/vIk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HhUcPyHD98TLp3SbUT6UWKN4ep10jRxRenjiWWL/Cw5aY4YvEbCgaMqVsnEgBaC9iBfnmJyFWMd6QbEEtznl42Fd3hpS6sBN4cnhgqvsQNyToxMmhv6eIMxFJlJ0n+G7gKJ7/7IoipgkfCZMVRHo0DF6dTbQ2Y+YjncpteueV4g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=f2EZJFRX; arc=none smtp.client-ip=185.171.202.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="f2EZJFRX" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 182AFC09F96; Tue, 14 Oct 2025 15:25:49 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 225A6606EC; Tue, 14 Oct 2025 15:26:08 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 3F306102F22A4; Tue, 14 Oct 2025 17:26:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455566; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mE1ukws3xTG0cWL7icCcyRG8jWl2qscLbVc2UTcXqFk=; b=f2EZJFRXZ2ZMTUGjPe0bCerWThWyVyi2zbMaXj9oz8T3vpnH3OvmcydG6O8+fUulfMx5Ii lzxzSS739wVNf95F7NiIgRaIEabJYKL4p/O1Kp9e/uA+flP8kQnIP+vE3lvXoTJVAkDlwL VeitrSCQt8jbIiBNWd9A6rMhi4ud0g9siQ6D4eQbyS7mV9vvTy219/zmWJUI6IMRKsFlKO M1sQXAnmBDvzFNcje/6DficfL3GAvJdipe4MBQ6LJSwmczh870JEzSXdDnC7HVL6aZ/tRC klWSx+Ee7/A0OTRFKljapsTBYWB8kKmAOvpSiBFWNZ5DNeH30WuMiVs0eaCvDA== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:15 +0200 Subject: [PATCH net-next 14/15] net: macb: apply reverse christmas tree in macb_tx_map() 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 Message-Id: <20251014-macb-cleanup-v1-14-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 The arguments grew over time; follow conventions and apply reverse christmas tree (RCT). Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index dd3b13fa304715b4629c20120a908262af106a2d..e15fcdd43d778c685dbb9273869= 04362b8dba8b9 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -1988,14 +1988,14 @@ static unsigned int macb_tx_map(struct macb *bp, struct sk_buff *skb, unsigned int hdrlen) { - dma_addr_t mapping; + unsigned int f, nr_frags =3D skb_shinfo(skb)->nr_frags; unsigned int len, i, tx_head =3D queue->tx_head; + u32 ctrl, lso_ctrl =3D 0, seq_ctrl =3D 0; + unsigned int eof =3D 1, mss_mfs =3D 0; struct macb_tx_skb *tx_skb =3D NULL; struct macb_dma_desc *desc; unsigned int offset, size; - unsigned int f, nr_frags =3D skb_shinfo(skb)->nr_frags; - unsigned int eof =3D 1, mss_mfs =3D 0; - u32 ctrl, lso_ctrl =3D 0, seq_ctrl =3D 0; + dma_addr_t mapping; =20 /* LSO */ if (skb_shinfo(skb)->gso_size !=3D 0) { --=20 2.51.0 From nobody Fri Dec 19 20:32:46 2025 Received: from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 815823009CB for ; Tue, 14 Oct 2025 15:26:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.85.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455573; cv=none; b=OA6qFV6mUQZrirO/vjizmnaaJK+t0Wxhnl347YysfY2SZFd32OYgFuO/rHJWxfzgV2d99xhlk1o4+mXq3wUN0buzv5nH2iqIApT00yPgr2Joy4gKgM4M+278tvWvZzSn3PD4dLeFSLubZnmYygRJ7NolpKlHZVwvs3GWUlHK8pw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760455573; c=relaxed/simple; bh=daqNnbJvOoWaZMt1KagjYQgQlBMZN4Rtv7ePvENPDp0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SViSQfetVpgvY22Mh5GIXkWtFh2PtiS28+V1aW1JWr1B+OYaDzSYl1ZiSaoVBbXmNma+iRb7DxAUaWwqztmfRbzZMYS3/v8RJpG/WohACl20Fb5VzIkKyJ1uK/ltvV9IpA0PRexfgntLsot8CginAStmP8wk1dj3QIusyWYgPE8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=nfzFH+ti; arc=none smtp.client-ip=185.246.85.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="nfzFH+ti" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 042314E410B4; Tue, 14 Oct 2025 15:26:10 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id CC4DB606EC; Tue, 14 Oct 2025 15:26:09 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 3CE52102F22B2; Tue, 14 Oct 2025 17:26:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1760455568; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=M1AcoK2TtczTj+DPA0wk10MM2f8FjIDLYFnHi82ybDI=; b=nfzFH+tiTS1caP5GYUvZffzR4NS+kRhsxtGYe8hIvU8gCVN1rWXZwCKfyOm5+EwNVaY5qH bWgf1C0699/iUqQGrv3LOo4sJBOL29X7WKBuKeFoxAYEObh6Z5YovLMkrM7y2QOuug5XdD dSY4VHqchJxZMeNASPmelRn6Yi4/rozOEsrEslFCYOQw57ZY3B1gIHqGMQh+YEjOuT13rf gfBifnDHon4O2Yi2rzEj0wSprpFNdoEF3lAE9S4+3zBlv7Xngys2whMCOs2sAe3OsII4UT SOj9Ki7JZKw5Fon2AmNiYTqO6nhw9iN5SzWtI3p72MdtnD+5g4e+hhQ94bufQw== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Tue, 14 Oct 2025 17:25:16 +0200 Subject: [PATCH net-next 15/15] net: macb: sort #includes 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 Message-Id: <20251014-macb-cleanup-v1-15-31cd266e22cd@bootlin.com> References: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> In-Reply-To: <20251014-macb-cleanup-v1-0-31cd266e22cd@bootlin.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Nicolas Ferre , Claudiu Beznea , Richard Cochran , Russell King Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Vladimir Kondratiev , Tawfik Bayouk , Thomas Petazzoni , =?utf-8?q?Gr=C3=A9gory_Clement?= , =?utf-8?q?Beno=C3=AEt_Monin?= , Maxime Chevallier , =?utf-8?q?Th=C3=A9o_Lebrun?= , Andrew Lunn , Sean Anderson X-Mailer: b4 0.14.2 X-Last-TLS-Session-Version: TLSv1.3 Sort #include preprocessor directives. Reviewed-by: Andrew Lunn Reviewed-by: Sean Anderson Signed-off-by: Th=C3=A9o Lebrun --- drivers/net/ethernet/cadence/macb_main.c | 37 ++++++++++++++++------------= ---- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/etherne= t/cadence/macb_main.c index e15fcdd43d778c685dbb927386904362b8dba8b9..214f543af3b8fd4230d2be8095b= 26c3915dd9cfb 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -6,36 +6,37 @@ */ =20 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -#include +#include #include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include #include #include -#include -#include -#include -#include #include +#include +#include #include #include #include -#include -#include +#include +#include +#include +#include #include #include "macb.h" =20 --=20 2.51.0