soc/qbman: Handle endianness of qm/bm_in/out()
authorClaudiu Manoil <claudiu.manoil@nxp.com>
Wed, 16 Nov 2016 14:40:27 +0000 (16:40 +0200)
committerScott Wood <oss@buserror.net>
Wed, 23 Nov 2016 07:23:48 +0000 (01:23 -0600)
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: Scott Wood <oss@buserror.net>
drivers/soc/fsl/qbman/bman.c
drivers/soc/fsl/qbman/qman.c

index 48b7eb69868995b7fad00be742aed2d305592588..a3d6d7cfa9296aee3af6504be125dd4deb02f5fa 100644 (file)
@@ -167,12 +167,12 @@ struct bm_portal {
 /* Cache-inhibited register access. */
 static inline u32 bm_in(struct bm_portal *p, u32 offset)
 {
-       return __raw_readl(p->addr.ci + offset);
+       return be32_to_cpu(__raw_readl(p->addr.ci + offset));
 }
 
 static inline void bm_out(struct bm_portal *p, u32 offset, u32 val)
 {
-       __raw_writel(val, p->addr.ci + offset);
+       __raw_writel(cpu_to_be32(val), p->addr.ci + offset);
 }
 
 /* Cache Enabled Portal Access */
@@ -188,7 +188,7 @@ static inline void bm_cl_touch_ro(struct bm_portal *p, u32 offset)
 
 static inline u32 bm_ce_in(struct bm_portal *p, u32 offset)
 {
-       return __raw_readl(p->addr.ce + offset);
+       return be32_to_cpu(__raw_readl(p->addr.ce + offset));
 }
 
 struct bman_portal {
index c679e0285ccdc45b5e4b61de1aeb2c8d72353807..936aee19747db63e92be3e869aa4230c085f7bfe 100644 (file)
@@ -321,12 +321,12 @@ struct qm_portal {
 /* Cache-inhibited register access. */
 static inline u32 qm_in(struct qm_portal *p, u32 offset)
 {
-       return __raw_readl(p->addr.ci + offset);
+       return be32_to_cpu(__raw_readl(p->addr.ci + offset));
 }
 
 static inline void qm_out(struct qm_portal *p, u32 offset, u32 val)
 {
-       __raw_writel(val, p->addr.ci + offset);
+       __raw_writel(cpu_to_be32(val), p->addr.ci + offset);
 }
 
 /* Cache Enabled Portal Access */
@@ -342,7 +342,7 @@ static inline void qm_cl_touch_ro(struct qm_portal *p, u32 offset)
 
 static inline u32 qm_ce_in(struct qm_portal *p, u32 offset)
 {
-       return __raw_readl(p->addr.ce + offset);
+       return be32_to_cpu(__raw_readl(p->addr.ce + offset));
 }
 
 /* --- EQCR API --- */