Hi,

On 17/07/2025 12:36, Devarsh Thakkar wrote:
> Hi Tomi
> 
> Thanks for the patch.
> 
> On 18/06/25 15:29, Tomi Valkeinen wrote:
>> While the cdns-dsi does not support DSI burst mode, the burst mode is
>> essentially DSI event mode with more versatile clocking and timings.
> I don't fully agree with this statement, DSI burst mode and DSI event
> mode are two different things having separate requirements. DSI burst
> mode maps to MIPI_DSI_MODE_VIDEO_BURST. I don't see a separate flag for
> event mode but I guess,

Well, what does DSI burst mode mean? Signal-wise it's the same as DSI
event mode. "burst" just means that the DSI TX is allowed to send the
data much faster than the pixel clock. But there's no strict requirement
that it _must_ be faster.

So, DSI burst mode is basically DSI event mode with more freedom on the
timings. Thus, afaics, DSI TX in DSI event mode should always work if
the DSI RX expects DSI burst mode.

 Tomi

>> Thus cdns-dsi doesn't need to fail if the DSI peripheral driver requests
>> MIPI_DSI_MODE_VIDEO_BURST.
> 
> MIPI_DSI_MODE_VIDEO_BURST is currently not supported by the cadence DSI
> host driver, so only if DSI peripheral driver is saying that burst mode
> is the only one it supports in that case only we should fail.
> 
>>
>> In my particular use case, this allows the use of ti-sn65dsi83 driver.
>>
>> Tested-by: Parth Pancholi <parth.panch...@toradex.com>
>> Tested-by: Jayesh Choudhary <j-choudh...@ti.com>
>> Signed-off-by: Tomi Valkeinen <tomi.valkei...@ideasonboard.com>
>> ---
>>   drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 4 ----
>>   1 file changed, 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/
>> gpu/drm/bridge/cadence/cdns-dsi-core.c
>> index 114d883c65dc..09b289f0fcbf 100644
>> --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
>> +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
>> @@ -1052,10 +1052,6 @@ static int cdns_dsi_attach(struct mipi_dsi_host
>> *host,
>>       if (output->dev)
>>           return -EBUSY;
>>   -    /* We do not support burst mode yet. */
>> -    if (dev->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)
>> -        return -ENOTSUPP;
>> -
> 
> Removing this check also gives a false impression that burst mode is
> supported by the driver and can also lead to failures too in case device
> is only supporting burst mode.
> 
> I think it makes sense to fail only if burst mode is the only one being
> supported by the device, something like below should work I believe,
> 
> if (dev->mode_flags & MIPI_DSI_MODE_VIDEO_BURST ==
> MIPI_DSI_MODE_VIDEO_BURST)
>         return -ENOTSUPP;
> 
> Regards
> Devarsh
> 
>>       /*
>>        * The host <-> device link might be described using an OF-graph
>>        * representation, in this case we extract the device of_node from
>>

Reply via email to