Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b73c2137 authored by Girish Mahadevan's avatar Girish Mahadevan
Browse files

msm: msm_bus: Fix inadvertent stomp on BKE_EN register



While setting the QoS mode of fixed mode masters bad masking
operations is causing accidental stomp on the upper nibble of the
BKE_EN register.

Change-Id: I5675e1dbc6fd5a01faac49c903e12a9c95e32254
Signed-off-by: default avatarGirish Mahadevan <girishm@codeaurora.org>
parent bacf292c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1122,7 +1122,7 @@ static void msm_bus_bimc_set_qos_mode(void __iomem *base,
	switch (qmode_sel) {
	case BIMC_QOS_MODE_FIXED:
		reg_val = readl_relaxed(M_BKE_EN_ADDR(base,
			mas_index)) & M_BKE_EN_RMSK;
			mas_index));
		writel_relaxed((reg_val & (~M_BKE_EN_EN_BMSK)),
			M_BKE_EN_ADDR(base, mas_index));
		/* Ensure that the book-keeping register writes
@@ -1136,7 +1136,7 @@ static void msm_bus_bimc_set_qos_mode(void __iomem *base,

	case BIMC_QOS_MODE_BYPASS:
		reg_val = readl_relaxed(M_BKE_EN_ADDR(base,
			mas_index)) & M_BKE_EN_RMSK;
			mas_index));
		writel_relaxed((reg_val & (~M_BKE_EN_EN_BMSK)),
			M_BKE_EN_ADDR(base, mas_index));
		/* Ensure that the book-keeping register writes
@@ -1152,7 +1152,7 @@ static void msm_bus_bimc_set_qos_mode(void __iomem *base,
	case BIMC_QOS_MODE_LIMITER:
		set_qos_mode(base, mas_index, 0, 0, 0);
		reg_val = readl_relaxed(M_BKE_EN_ADDR(base,
			mas_index)) & M_BKE_EN_RMSK;
			mas_index));
		val = 1 << M_BKE_EN_EN_SHFT;
		/* Ensure that the book-keeping register writes
		 * go through before setting QoS mode.