[PATCH v2] drm/bridge: adv7533: Reset DSI receiver logic
Stefan Ekenberg
stefan.ekenberg at axis.com
Thu Dec 12 14:32:36 UTC 2024
On 12/10/24 16:21, Frieder Schrempf wrote:
> On 19.11.24 8:42 AM, Stefan Ekenberg wrote:
>> Reset DSI receiver logic during power on. The need for this change was
>> discovered when investigating issue with ADV7535. The symptom of the
>> problem was that ADV7535 continuously outputs a black image. This
>> happened for about 10% of the times that ADV7535 was powered on. The
>> rest of the times the image was as expected.
>>
>> The solution in this patch (placement of reset and sleep time of 200ms)
>> is implemented as outlined by the Analog Devices support team.
>>
>> Tested-by: Biju Das <biju.das.jz at bp.renesas.com>
>> Signed-off-by: Stefan Ekenberg <stefan.ekenberg at axis.com>
>
> If this is a generic issue for this chip, it would be great if we could
> add a Fixes tag here to get this backported. Depending on the scope
> (ADV7533 + ADV7535 or only ADV7535), candidates would be:
>
> * 2437e7cd88e87 ("drm/bridge: adv7533: Initial support for ADV7533")
> * 8501fe4b14a35 ("drm: bridge: adv7511: Add support for ADV7535")
>
> Thanks!
No problem, I will add Fixes tag for
* 8501fe4b14a35 ("drm: bridge: adv7511: Add support for ADV7535")
since ADV7535 is the chip I have been using and I know the problem has
been present in the driver since support for that chip was introduced.
>
>> ---
>> Changes in v2:
>> - Add Tested-by tag
>> - Link to v1: https://lore.kernel.org/r/20241113-adv7533-dsi-reset-v1-1-6c1069e35fd3@axis.com
>> ---
>> drivers/gpu/drm/bridge/adv7511/adv7533.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> index 4481489aaf5ebf164313c86cbf3447d2d7914ab9..93085c2b872ed98f4ee394236dc66c568c0e5ccf 100644
>> --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> @@ -67,6 +67,15 @@ void adv7533_dsi_power_on(struct adv7511 *adv)
>> {
>> struct mipi_dsi_device *dsi = adv->dsi;
>>
>> + /*
>> + * Reset DSI receiver block logic to avoid ADV7535 startup problem.
>> + * Without this reset it sometimes continuously fails to receive
>> + * incoming DSI packets and outputs black image.
>> + */
>> + regmap_write(adv->regmap_cec, 0x26, 0x18);
>> + msleep(200);
>> + regmap_write(adv->regmap_cec, 0x26, 0x38);
>> +
>> if (adv->use_timing_gen)
>> adv7511_dsi_config_timing_gen(adv);
>>
>>
>> ---
>> base-commit: 59b723cd2adbac2a34fc8e12c74ae26ae45bf230
>> change-id: 20241108-adv7533-dsi-reset-488c6fbb5e42
>>
>> Best regards,
>
More information about the dri-devel
mailing list