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

Commit c063b9eb authored by Dhaval Patel's avatar Dhaval Patel
Browse files

drm/msm: fix sde debug bus test point for valid status



SSPP0/SSPP1/PERIPH debug test macro status is updated
to DSPP debug status register. This test point won't
capture the test point status if DSPP test point is
not enabled with valid setting. This patch fixes the
SSPP0/SSPP1/PERIPH debug test point status.

Change-Id: I021faca34597e3132273cc6888546687ab9d7ed7
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent 8e0e97e8
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -2302,10 +2302,14 @@ static void _sde_dbg_dump_sde_dbg_bus(struct sde_dbg_sde_debug_bus *bus)
				mem_base + head->wr_addr);
		wmb(); /* make sure test bits were written */

		if (bus->cmn.flags & DBGBUS_FLAGS_DSPP)
		if (bus->cmn.flags & DBGBUS_FLAGS_DSPP) {
			offset = DBGBUS_DSPP_STATUS;
		else
			/* keep DSPP test point enabled */
			if (head->wr_addr != DBGBUS_DSPP)
				writel_relaxed(0xF, mem_base + DBGBUS_DSPP);
		} else {
			offset = head->wr_addr + 0x4;
		}

		status = readl_relaxed(mem_base + offset);

@@ -2327,7 +2331,9 @@ static void _sde_dbg_dump_sde_dbg_bus(struct sde_dbg_sde_debug_bus *bus)

		/* Disable debug bus once we are done */
		writel_relaxed(0, mem_base + head->wr_addr);

		if (bus->cmn.flags & DBGBUS_FLAGS_DSPP &&
						head->wr_addr != DBGBUS_DSPP)
			writel_relaxed(0x0, mem_base + DBGBUS_DSPP);
	}
	_sde_dbg_enable_power(false);