Browse Source

Merge branch 'topic/ti' into for-linus

Vinod Koul 7 years ago
parent
commit
db90305b1f
1 changed files with 9 additions and 1 deletions
  1. 9 1
      drivers/dma/ti-dma-crossbar.c

+ 9 - 1
drivers/dma/ti-dma-crossbar.c

@@ -54,7 +54,15 @@ struct ti_am335x_xbar_map {
 
 static inline void ti_am335x_xbar_write(void __iomem *iomem, int event, u8 val)
 {
-	writeb_relaxed(val, iomem + event);
+	/*
+	 * TPCC_EVT_MUX_60_63 register layout is different than the
+	 * rest, in the sense, that event 63 is mapped to lowest byte
+	 * and event 60 is mapped to highest, handle it separately.
+	 */
+	if (event >= 60 && event <= 63)
+		writeb_relaxed(val, iomem + (63 - event % 4));
+	else
+		writeb_relaxed(val, iomem + event);
 }
 
 static void ti_am335x_xbar_free(struct device *dev, void *route_data)