On 11/10/22 19:38, Jagan Teki wrote: [...]
+static int samsung_dsim_wait_for_hdr_fifo(struct samsung_dsim *dsi) +{ + int timeout = 2000; + + do { + u32 reg = samsung_dsim_read(dsi, DSIM_FIFOCTRL_REG); + + if (!(reg & DSIM_SFR_HEADER_FULL))
Seems that unless I wait for DSIM_SFR_HEADER_EMPTY here, there may be some command transfer corruption if very short commands are transferred in rapid succession. This can be triggered with icn6211 driver for example.
+ return 0; + + if (!cond_resched()) + usleep_range(950, 1050); + } while (--timeout); + + return -ETIMEDOUT; +}
[...]