Commit 2df3fc4a authored by Jeremy Linton's avatar Jeremy Linton Committed by Paolo Abeni

net: bcmgenet: Revert "Use stronger register read/writes to assure ordering"

It turns out after digging deeper into this bug, that it was being
triggered by GCC12 failing to call the bcmgenet_enable_dma()
routine. Given that a gcc12 fix has been merged [1] and the genet
driver now works properly when built with gcc12, this commit should
be reverted.

[1]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105160
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=aabb9a261ef060cf24fd626713f1d7d9df81aa57

Fixes: 8d3ea3d4 ("net: bcmgenet: Use stronger register read/writes to assure ordering")
Signed-off-by: default avatarJeremy Linton <jeremy.linton@arm.com>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20220412210420.1129430-1-jeremy.linton@arm.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 23cfe941
...@@ -76,7 +76,7 @@ static inline void bcmgenet_writel(u32 value, void __iomem *offset) ...@@ -76,7 +76,7 @@ static inline void bcmgenet_writel(u32 value, void __iomem *offset)
if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
__raw_writel(value, offset); __raw_writel(value, offset);
else else
writel(value, offset); writel_relaxed(value, offset);
} }
static inline u32 bcmgenet_readl(void __iomem *offset) static inline u32 bcmgenet_readl(void __iomem *offset)
...@@ -84,7 +84,7 @@ static inline u32 bcmgenet_readl(void __iomem *offset) ...@@ -84,7 +84,7 @@ static inline u32 bcmgenet_readl(void __iomem *offset)
if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
return __raw_readl(offset); return __raw_readl(offset);
else else
return readl(offset); return readl_relaxed(offset);
} }
static inline void dmadesc_set_length_status(struct bcmgenet_priv *priv, static inline void dmadesc_set_length_status(struct bcmgenet_priv *priv,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment