Re: [PATCH REGRESSION v3] drm/panel: simple: restore connector_type fallback
From: Luca Ceresoli
Date: Thu Dec 18 2025 - 09:46:21 EST
On Thu Dec 18, 2025 at 2:34 PM CET, Ludovic Desroches wrote:
> The switch from devm_kzalloc() + drm_panel_init() to
> devm_drm_panel_alloc() introduced a regression.
>
> Several panel descriptors do not set connector_type. For those panels,
> panel_simple_probe() used to compute a connector type (currently DPI as a
> fallback) and pass that value to drm_panel_init(). After the conversion
> to devm_drm_panel_alloc(), the call unconditionally used
> desc->connector_type instead, ignoring the computed fallback and
> potentially passing DRM_MODE_CONNECTOR_Unknown, which
> drm_panel_bridge_add() does not allow.
>
> Move the connector_type validation / fallback logic before the
> devm_drm_panel_alloc() call and pass the computed connector_type to
> devm_drm_panel_alloc(), so panels without an explicit connector_type
> once again get the DPI default.
>
> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx>
> Fixes: de04bb0089a9 ("drm/panel/panel-simple: Use the new allocation in place of devm_kzalloc()")
> Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
Side note: this function is very long, it would be nice e.g. to move the
big mistake-checking switch (connector_type) to a function. Of course that
would be a separate series, after this fix is done.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com