Re: [PATCH v4] drm/omap: dsi: avoid sending bta sync all the time in writes
Ivaylo Dimitrov <[email protected]> Sun, 12 Jul 2026 22:07:53 +0300
| Newsgroups | org.kernel.vger.linux-omap,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 7.07.26 г. 13:22 ч., Andreas Kemnade wrote: > On Tue, 30 Jun 2026 08:42:57 +0300 > Ivaylo Dimitrov <[email protected]> wrote: > >> Hi, >> With this version of the patch I see: >> >> [ 102.760894] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 303.860321] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 307.071624] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 307.360626] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 307.671142] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 308.660339] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 308.961059] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 313.191314] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 313.700378] DSI: omapdss DSI error: Failed to set dsi_if_enable to 0 >> [ 313.980346] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 314.791564] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 315.090362] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 322.850952] DSI: omapdss DSI error: Framedone not received for 250ms! >> [ 323.111175] DSI: omapdss DSI error: Framedone not received for 250ms! >> >> while scrolling the (hildon)desktop on droid4, so I would say the change >> broke command mode. >> > so let me summarize: > - sending initialisation commands to video mode panel: no problem visible in > any case, theretical problems (not seen with the tested panels if sending too much data, fixed via v4. > - command mode display: no picture and error messages without any bta sync (patch version 1). > - working display with send_nop() replaced by simply sending bta_sync() and not > waiting for PACKET_SENT irq for short packets (v2). > - partly working display (with v4), (always waiting for PACKET_SENT) > > so there are some situations when waiting for a packet completition is harmful. > In your case these were only siutations when short packets were sent. > Do you have a more complete log of v4 boott? > In the log for v1 which is not accessible anymore, there were other > more informative timeouts visible. > > But maybe as a wild guess also based on Sasikhos AI reviews, maybe > this helps: > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 3f22929c36e2..eb3cd0d23cae 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -3267,7 +3267,7 @@ static int dsi_update_channel(struct omap_dss_device *dssdev, int vc) > * updates stop working. This is probably related to DSI spec stating > * that the DSI host should transition to LP at least once per frame. > */ > - r = dsi_vc_send_bta_sync(dssdev, vc); > + r = dsi_vc_send_bta_sync(dssdev, VC_CMD); > if (r < 0) { > DSSWARN("failed to send bta sync between frames: %d\n", r); > goto err; > > > > Then the call is equal to the original one done via send_nnop. > With that change it seems to work properly, will keep that version of the driver for the time being. > Regards, > Andreas