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;
+}
[...]