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;
+}

[...]

Reply via email to