msm: mdss: avoid DSI FIFO errors during dynamic refresh operation
When dynamic refresh operation is under progress, it is sometimes expected that the DSI h/w throws DSI FIFO underflow errors. Avoid throwing DSI FIFO errors on console for this case. Just clear the DSI error interrupt and do not trigger the DSI underflow recovery process. Change-Id: I03b8764397378104981c1a5a6e627e90f53222ee Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
This commit is contained in:
parent
d0666f41e4
commit
ba9fc59027
1 changed files with 14 additions and 2 deletions
|
@ -2858,7 +2858,7 @@ void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl, bool print_en)
|
|||
|
||||
void mdss_dsi_fifo_status(struct mdss_dsi_ctrl_pdata *ctrl)
|
||||
{
|
||||
u32 status;
|
||||
u32 status, isr;
|
||||
unsigned char *base;
|
||||
|
||||
base = ctrl->ctrl_base;
|
||||
|
@ -2868,7 +2868,19 @@ void mdss_dsi_fifo_status(struct mdss_dsi_ctrl_pdata *ctrl)
|
|||
/* fifo underflow, overflow and empty*/
|
||||
if (status & 0xcccc4409) {
|
||||
MIPI_OUTP(base + 0x000c, status);
|
||||
pr_err("%s: status=%x\n", __func__, status);
|
||||
|
||||
/*
|
||||
* When dynamic refresh operation is under progress, it is
|
||||
* expected to have FIFO underflow error sometimes. In such
|
||||
* cases, do not trigger the underflow recovery process and
|
||||
* avoid printing the error status on console.
|
||||
*/
|
||||
isr = MIPI_INP(ctrl->ctrl_base + 0x0110);
|
||||
if (isr & DSI_INTR_DYNAMIC_REFRESH_MASK)
|
||||
status &= ~(0x88880000);
|
||||
else
|
||||
pr_err("%s: status=%x\n", __func__, status);
|
||||
|
||||
if (status & 0x44440000) {/* DLNx_HS_FIFO_OVERFLOW */
|
||||
dsi_send_events(ctrl, DSI_EV_DLNx_FIFO_OVERFLOW, 0);
|
||||
/* Ignore FIFO EMPTY when overflow happens */
|
||||
|
|
Loading…
Add table
Reference in a new issue