[PATCH 2/2] drm: bridge: tc358767: give VSDELAY some positive value
Marek Vasut
marex at denx.de
Wed Jun 7 13:54:53 UTC 2023
On 6/7/23 14:53, Lucas Stach wrote:
> Am Freitag, dem 02.06.2023 um 23:34 +0200 schrieb Marek Vasut:
>> On 6/2/23 21:15, Lucas Stach wrote:
>>> From: David Jander <david at protonic.nl>
>>>
>>> The documentation is not clear about how this delay works.
>>> Empirical tests have shown that with a VSDELAY of 0, the first
>>> scanline is not properly formatted in the output stream when
>>> DSI->DP mode is used. The calculation spreadsheets from Toshiba
>>> seem to always make this value equal to the HFP + 10 for DSI->DP
>>> use-case. For DSI->DPI this value should be > 2 and for DPI->DP
>>> it seems to always be 0x64.
>>>
>>> Signed-off-by: David Jander <david at protonic.nl>
>>> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
>>> ---
>>> drivers/gpu/drm/bridge/tc358767.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
>>> index 46916ae30f8f..9f2c67b4a488 100644
>>> --- a/drivers/gpu/drm/bridge/tc358767.c
>>> +++ b/drivers/gpu/drm/bridge/tc358767.c
>>> @@ -817,7 +817,7 @@ static int tc_set_common_video_mode(struct tc_data *tc,
>>> * sync signals
>>> */
>>> ret = regmap_write(tc->regmap, VPCTRL0,
>>> - FIELD_PREP(VSDELAY, 0) |
>>> + FIELD_PREP(VSDELAY, right_margin + 10) |
>>> OPXLFMT_RGB888 | FRMSYNC_DISABLED | MSF_DISABLED);
>>> if (ret)
>>> return ret;
>>
>> Aren't you running into a problem due to VS timing misconfiguration on
>> the scanout engine or DSI serializer side ? The VSDELAY seems to
>> increase the length of VSYNC active .
>>
>
> No, as far as I understand the VSDELAY adds an offset between input an
> output side of the video FIFO. It shouldn't increase the length of any
> sync signal, but delays the read side of the FIFO, so the write (DSI)
> side has some margin to put data into the FIFO before DP side starts to
> assemble packets.
Does this apply to DSI-to-DPI mode too ?
>> Which DSI bus mode do you use, sync events/pulses/burst ?
>
> At the time when this patch was written it still was the SYNC_PULSE
> mode.
Can you please double-check this with current burst mode ?
More information about the dri-devel
mailing list