Commit d64f761d authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by Jakub Kicinski
Browse files

net: stmmac: don't pass ioaddr to fix_soc_reset() method



As the stmmac_priv struct is passed to the fix_soc_reset() method which
has the ioaddr, there is no need to pass ioaddr separately. Pass just
the stmmac_priv struct. Fix up the glues that use it.

Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/E1vkLmM-00000005vE1-0nop@rmk-PC.armlinux.org.uk


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 3b721117
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ struct imx_dwmac_ops {
	u32 flags;
	bool mac_rgmii_txclk_auto_adj;

	int (*fix_soc_reset)(struct stmmac_priv *priv, void __iomem *ioaddr);
	int (*fix_soc_reset)(struct stmmac_priv *priv);
	int (*set_intf_mode)(struct imx_priv_data *dwmac, u8 phy_intf_sel);
	void (*fix_mac_speed)(void *priv, int speed, unsigned int mode);
};
@@ -220,12 +220,14 @@ static void imx93_dwmac_fix_speed(void *priv, int speed, unsigned int mode)
	writel(old_ctrl, dwmac->base_addr + MAC_CTRL_REG);
}

static int imx_dwmac_mx93_reset(struct stmmac_priv *priv, void __iomem *ioaddr)
static int imx_dwmac_mx93_reset(struct stmmac_priv *priv)
{
	struct plat_stmmacenet_data *plat_dat = priv->plat;
	u32 value = readl(ioaddr + DMA_BUS_MODE);
	void __iomem *ioaddr = priv->ioaddr;
	u32 value;

	/* DMA SW reset */
	value = readl(ioaddr + DMA_BUS_MODE);
	value |= DMA_BUS_MODE_SFT_RESET;
	writel(value, ioaddr + DMA_BUS_MODE);

+4 −2
Original line number Diff line number Diff line
@@ -485,10 +485,12 @@ static int loongson_dwmac_acpi_config(struct pci_dev *pdev,
}

/* Loongson's DWMAC device may take nearly two seconds to complete DMA reset */
static int loongson_dwmac_fix_reset(struct stmmac_priv *priv, void __iomem *ioaddr)
static int loongson_dwmac_fix_reset(struct stmmac_priv *priv)
{
	u32 value = readl(ioaddr + DMA_BUS_MODE);
	void __iomem *ioaddr = priv->ioaddr;
	u32 value;

	value = readl(ioaddr + DMA_BUS_MODE);
	if (value & DMA_BUS_MODE_SFT_RESET) {
		netdev_err(priv->dev, "the PHY clock is missing\n");
		return -EINVAL;
+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ int stmmac_reset(struct stmmac_priv *priv)
	void __iomem *ioaddr = priv->ioaddr;

	if (plat && plat->fix_soc_reset)
		return plat->fix_soc_reset(priv, ioaddr);
		return plat->fix_soc_reset(priv);

	return stmmac_do_callback(priv, dma, reset, ioaddr);
}
+1 −1
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ struct plat_stmmacenet_data {
	int (*set_clk_tx_rate)(void *priv, struct clk *clk_tx_i,
			       phy_interface_t interface, int speed);
	void (*fix_mac_speed)(void *priv, int speed, unsigned int mode);
	int (*fix_soc_reset)(struct stmmac_priv *priv, void __iomem *ioaddr);
	int (*fix_soc_reset)(struct stmmac_priv *priv);
	int (*serdes_powerup)(struct net_device *ndev, void *priv);
	void (*serdes_powerdown)(struct net_device *ndev, void *priv);
	int (*mac_finish)(struct net_device *ndev,