msm: sde: Move SDE rotator timeout evtlog outside of spinlock
During an timeout event in the SDE rotator driver, a spinlock with IRQ is disabled in order to capture the rotator hw status registers. If during this time performs an evtlog timeout logging, a mutex_lock within the logging sequence will cause a panic. We must and only should perform the evtlog timeout logging after the spinlock is released. CRs-Fixed: 1067811 Change-Id: I56b7e5713069ad8ac8d5ae43a492a0ab0f4e82ff Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
This commit is contained in:
parent
6c104f8d40
commit
870adafb68
1 changed files with 3 additions and 2 deletions
|
@ -356,8 +356,6 @@ static void sde_hw_rotator_dump_status(struct sde_hw_rotator *rot)
|
||||||
REGDMA_CSR_REGDMA_INVALID_CMD_RAM_OFFSET),
|
REGDMA_CSR_REGDMA_INVALID_CMD_RAM_OFFSET),
|
||||||
SDE_ROTREG_READ(rot->mdss_base,
|
SDE_ROTREG_READ(rot->mdss_base,
|
||||||
REGDMA_CSR_REGDMA_FSM_STATE));
|
REGDMA_CSR_REGDMA_FSM_STATE));
|
||||||
|
|
||||||
SDEROT_EVTLOG_TOUT_HANDLER("rot", "vbif_dbg_bus", "panic");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1096,6 +1094,9 @@ static u32 sde_hw_rotator_wait_done_regdma(
|
||||||
|
|
||||||
sts = (status & ROT_ERROR_BIT) ? -ENODEV : 0;
|
sts = (status & ROT_ERROR_BIT) ? -ENODEV : 0;
|
||||||
|
|
||||||
|
if (status & ROT_ERROR_BIT)
|
||||||
|
SDEROT_EVTLOG_TOUT_HANDLER("rot", "vbif_dbg_bus", "panic");
|
||||||
|
|
||||||
return sts;
|
return sts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue