Commit eb028cd8 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Neil Armstrong
Browse files

drm/bridge: panel: move prepare_prev_first handling to drm_panel_bridge_add_typed



The commit 5ea6b170 ("drm/panel: Add prepare_prev_first flag to
drm_panel") and commit 0974687a ("drm/bridge: panel: Set
pre_enable_prev_first from drmm_panel_bridge_add") added handling of
panel's prepare_prev_first to devm_panel_bridge_add() and
drmm_panel_bridge_add(). However if the driver calls
drm_panel_bridge_add_typed() directly, then the flag won't be handled
and thus the drm_bridge.pre_enable_prev_first will not be set.

Move prepare_prev_first handling to the drm_panel_bridge_add_typed() so
that there is no way to miss the flag.

Fixes: 5ea6b170 ("drm/panel: Add prepare_prev_first flag to drm_panel")
Fixes: 0974687a ("drm/bridge: panel: Set pre_enable_prev_first from drmm_panel_bridge_add")
Reported-by: default avatarSvyatoslav Ryhel <clamor95@gmail.com>
Closes: https://lore.kernel.org/dri-devel/CAPVz0n3YZass3Bns1m0XrFxtAC0DKbEPiW6vXimQx97G243sXw@mail.gmail.com/


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250220-panel_prev_first-v1-1-b9e787825a1a@linaro.org
parent 97e000ac
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -299,6 +299,7 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
	panel_bridge->bridge.of_node = panel->dev->of_node;
	panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
	panel_bridge->bridge.type = connector_type;
	panel_bridge->bridge.pre_enable_prev_first = panel->prepare_prev_first;

	drm_bridge_add(&panel_bridge->bridge);

@@ -413,8 +414,6 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev,
		return bridge;
	}

	bridge->pre_enable_prev_first = panel->prepare_prev_first;

	*ptr = bridge;
	devres_add(dev, ptr);

@@ -456,8 +455,6 @@ struct drm_bridge *drmm_panel_bridge_add(struct drm_device *drm,
	if (ret)
		return ERR_PTR(ret);

	bridge->pre_enable_prev_first = panel->prepare_prev_first;

	return bridge;
}
EXPORT_SYMBOL(drmm_panel_bridge_add);