Thread (6 messages) flat view 6 messages, 2 authors, 2021-03-30

Re: [PATCH linux-next 1/1] phy: Sparx5 Eth SerDes: Use direct register operations

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-03-29 18:56:48
Also in: linux-arm-kernel, lkml

On Mon, Mar 29, 2021 at 10:14:38AM +0200, Steen Hegelund wrote:
quoted hunk ↗ jump to hunk
Use direct register operations instead of a table of register
information to lower the stack usage.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Reported-by: kernel test robot <redacted>
---
 drivers/phy/microchip/sparx5_serdes.c | 1869 +++++++++++++------------
 1 file changed, 951 insertions(+), 918 deletions(-)
diff --git a/drivers/phy/microchip/sparx5_serdes.c b/drivers/phy/microchip/sparx5_serdes.c
index 06bcf0c166cf..43de68a62c2f 100644
--- a/drivers/phy/microchip/sparx5_serdes.c
+++ b/drivers/phy/microchip/sparx5_serdes.c
@@ -343,12 +343,6 @@ struct sparx5_sd10g28_params {
 	u8 fx_100;
 };
 
-struct sparx5_serdes_regval {
-	u32 value;
-	u32 mask;
-	void __iomem *addr;
-};
-
 static struct sparx5_sd25g28_media_preset media_presets_25g[] = {
 	{ /* ETH_MEDIA_DEFAULT */
 		.cfg_en_adv               = 0,
@@ -945,431 +939,411 @@ static void sparx5_sd25g28_reset(void __iomem *regs[],
 	}
 }
 
-static int sparx5_sd25g28_apply_params(struct device *dev,
-				       void __iomem *regs[],
-				       struct sparx5_sd25g28_params *params,
-				       u32 sd_index)
+static int sparx5_sd25g28_apply_params(struct sparx5_serdes_macro *macro,
+				       struct sparx5_sd25g28_params *params)
 {
-	struct sparx5_serdes_regval item[] = {
Could you just add const here, and then it is no longer on the stack?

   Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help