Thread (7 messages) flat view 7 messages, 3 authors, 2017-02-03

Re: [PATCH v2 1/2] net: ethernet: bgmac: init sequence bug

From: Rafał Miłecki <rafal@milecki.pl>
Date: 2017-02-03 23:01:39
Also in: lkml

On 02/03/2017 10:08 PM, Jon Mason wrote:
quoted hunk ↗ jump to hunk
@@ -61,15 +60,20 @@ static bool platform_bgmac_clk_enabled(struct bgmac *bgmac)

 static void platform_bgmac_clk_enable(struct bgmac *bgmac, u32 flags)
 {
-	bgmac_idm_write(bgmac, BCMA_IOCTL,
-			(BCMA_IOCTL_CLK | BCMA_IOCTL_FGC | flags));
+	u32 val;
+
+	val = bgmac_idm_read(bgmac, BCMA_IOCTL);
+	/* Some bits of BCMA_IOCTL set by HW/ATF and should not change */
+	val |= flags & ~(BGMAC_AWCACHE | BGMAC_ARCACHE | BGMAC_AWUSER |
+			 BGMAC_ARUSER);
+	val |= BGMAC_CLK_EN;
 	bgmac_idm_read(bgmac, BCMA_IOCTL);
This read was previously following write op most likely to flush it or
something. I don't think it makes any sense to read after read.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help