On Mon, 29 Jun 2026 16:04:47 +0000
[email protected] wrote:

> > @@ -3268,13 +3263,13 @@ static int dsi_update_channel(struct 
> > omap_dss_device *dssdev, int vc)
> >     DSSDBG("dsi_update_channel: %d", vc);
> >  
> >     /*
> > -    * Send NOP between the frames. If we don't send something here, the
> > +    * Transition to LP here. If we don't send something here, the
> >      * 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_send_nop(dsi, VC_CMD, dsi->dsidev->channel);
> > +   r = dsi_vc_send_bta_sync(dssdev, vc);  
> 
> [Severity: Medium]
> Will this break command-mode panels?
> 
this was introduced to fix command mode panels in v2 and confirmed to do that.

> The original code explicitly sent a DCS NOP on VC_CMD (which is typically
> configured for Low Power/CPU). This replaces it with a BTA sync on the vc
> passed to the function, which is usually VC_VIDEO (configured as High
> Speed/Video Port).
>
original code indirectly also has sent a bta sync.
 
> Is a BTA sync on a Video Port channel valid hardware behavior here? Also,
> will panels that depend on receiving the DCS NOP payload to transition to
> LP mode stop updating?

The NOP packet (with the bta sync) was solely introduced to transition
to LP mode. It was confirmed that updating works with just the BTA sync.

Regards,
Andreas

Reply via email to