On Fri, Jan 27, 2023 at 11:09:26PM +0530, Jagan Teki wrote: > Hi, > > On Thu, Jan 26, 2023 at 8:48 PM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > On Thu, Jan 26, 2023 at 5:42 PM Maxime Ripard <maxime@xxxxxxxxxx> wrote: > > > > > > Hi, > > > > > > On Mon, Jan 23, 2023 at 08:41:56PM +0530, Jagan Teki wrote: > > > > Add devm OF helper to return the next DSI bridge in the chain. > > > > > > > > Unlike general bridge return helper devm_drm_of_get_bridge, this > > > > helper uses the dsi specific panel_or_bridge helper to find the > > > > next DSI device in the pipeline. > > > > > > > > Helper lookup a given child DSI node or a DT node's port and > > > > endpoint number, find the connected node and return either > > > > the associated struct drm_panel or drm_bridge device. > > > > > > I'm not sure that using a device managed helper is the right choice > > > here. The bridge will stay longer than the backing device so it will > > > create a use-after-free. You should probably use a DRM-managed action > > > here instead. > > > > Thanks for the comments. If I understand correctly we can use > > drmm_panel_bridge_add instead devm_drm_panel_bridge_add once we found > > the panel or bridge - am I correct? > > Look like it is not possible to use DRM-managed action helper here as > devm_drm_of_dsi_get_bridge is calling from the DSI host attach hook in > which we cannot find drm_device pointer (as drm_device pointer is > mandatory for using DRM-managed action). > https://github.com/openedev/kernel/blob/imx8mm-dsi-v12/drivers/gpu/drm/bridge/samsung-dsim.c#L1545 > > Please check and correct me if I mentioned any incorrect details. You shouldn't call that function from attach anyway: https://dri.freedesktop.org/docs/drm/gpu/drm-kms-helpers.html#special-care-with-mipi-dsi-bridges Maxime