Thread (4 messages) 4 messages, 2 authors, 2016-07-29

Re: [PATCH 2/3] stmmac: change dma descriptors to __le32

From: Giuseppe CAVALLARO <hidden>
Date: 2016-07-26 12:13:45
Also in: linux-arm-kernel

On 7/21/2016 8:23 PM, Michael Weiser wrote:
The stmmac driver does not take into account the processor may be big
endian when writing the DMA descriptors. This causes the ethernet
interface not to be initialised correctly when running a big-endian
kernel. Change the descriptors for DMA to use __le32 and ensure they are
suitably swapped before writing. Tested successfully on the
Cubieboard2.
Thx for the effort on big endian platform.
Signed-off-by: Michael Weiser <redacted>
Cc: Giuseppe Cavallaro <redacted>
Cc: Alexandre Torgue <redacted>
Cc: netdev@vger.kernel.org
---
...
quoted hunk ↗ jump to hunk
@@ -2880,14 +2876,17 @@ static void sysfs_display_ring(void *head, int size, int extend_desc,
 			x = *(u64 *) ep;
 			seq_printf(seq, "%d [0x%x]: 0x%x 0x%x 0x%x 0x%x\n",
 				   i, (unsigned int)virt_to_phys(ep),
-				   ep->basic.des0, ep->basic.des1,
-				   ep->basic.des2, ep->basic.des3);
-			ep++;
+				   le32_to_cpu(ep->basic.des0),
+				   le32_to_cpu(ep->basic.des1),
+				   le32_to_cpu(ep->basic.des2),
+				   le32_to_cpu(ep->basic.des3));
+			ep++);

there is a build problem here.

Pls fix it.


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