[PATCH v2] drm/mediatek: mtk_dsi: Avoid EPROBE_DEFER loop with external bridge

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Tue Jan 11 03:05:56 PST 2022


Il 06/01/22 06:22, CK Hu ha scritto:
> Hi, Angelo:
> 
> On Tue, 2022-01-04 at 10:59 +0100, AngeloGioacchino Del Regno wrote:
>> DRM bridge drivers are now attaching their DSI device at probe time,
>> which requires us to register our DSI host in order to let the bridge
>> to probe: this recently started producing an endless -EPROBE_DEFER
>> loop on some machines that are using external bridges, like the
>> parade-ps8640, found on the ACER Chromebook R13.
>>
>> Now that the DSI hosts/devices probe sequence is documented, we can
>> do adjustments to the mtk_dsi driver as to both fix now and make sure
>> to avoid this situation in the future: for this, following what is
>> documented in drm_bridge.c, move the mtk_dsi component_add() to the
>> mtk_dsi_ops.attach callback and delete it in the detach callback;
>> keeping in mind that we are registering a drm_bridge for our DSI,
>> which is only used/attached if the DSI Host is bound, it wouldn't
>> make sense to keep adding our bridge at probe time (as it would
>> be useless to have it if mtk_dsi_ops.attach() fails!), so also move
>> that one to the dsi host attach function (and remove it in detach).
> 
> This patch looks good to me, but please add 'Fixes' tag to note to
> which patch this patch want to fix.
> 
> Regards,
> CK
> 

Hello,
unfortunately I couldn't find a valid commit for a Fixes tag. This
started being an issue at some point, when the DRM API was changed to
adhere to the documented probe sequence: the MediaTek DSI driver was
not the only one that got broken/affected by these changes.

If you have any advice on which commit should be tagged, I'm open for
any kind of suggestion.

Thanks,
- Angelo



More information about the Linux-mediatek mailing list