Message ID | 20200518173909.2259259-2-enric.balletbo@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Convert mtk-dpi to drm_bridge API | expand |
On Mon, 18 May 2020 19:39:07 +0200 Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: > This is really a cosmetic change just to make a bit more readable the > code after convert the driver to drm_bridge. The bridge variable name > will be used by the encoder drm_bridge, and the chained bridge will be > named next_bridge. > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > --- > > drivers/gpu/drm/mediatek/mtk_dpi.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index 7fbfa95bab09..7112125dc3d1 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -61,7 +61,7 @@ enum mtk_dpi_out_color_format { > struct mtk_dpi { > struct mtk_ddp_comp ddp_comp; > struct drm_encoder encoder; > - struct drm_bridge *bridge; > + struct drm_bridge *next_bridge; Did you consider moving the drm_of_find_panel_or_bridge() call to mtk_dpi_bind() so you can get rid of this field? This makes we realize there's no refcounting on bridges, which means the bridge can vanish between the drm_of_find_panel_or_bridge() and drm_bridge_attach() calls :-/. > void __iomem *regs; > struct device *dev; > struct clk *engine_clk; > @@ -607,7 +607,7 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) > /* Currently DPI0 is fixed to be driven by OVL1 */ > dpi->encoder.possible_crtcs = BIT(1); > > - ret = drm_bridge_attach(&dpi->encoder, dpi->bridge, NULL, 0); > + ret = drm_bridge_attach(&dpi->encoder, dpi->next_bridge, NULL, 0); > if (ret) { > dev_err(dev, "Failed to attach bridge: %d\n", ret); > goto err_cleanup; > @@ -747,11 +747,11 @@ static int mtk_dpi_probe(struct platform_device *pdev) > } > > ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, > - NULL, &dpi->bridge); > + NULL, &dpi->next_bridge); > if (ret) > return ret; > > - dev_info(dev, "Found bridge node: %pOF\n", dpi->bridge->of_node); > + dev_info(dev, "Found bridge node: %pOF\n", dpi->next_bridge->of_node); > > comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DPI); > if (comp_id < 0) {
On Wed, 1 Jul 2020 13:23:03 +0200 Boris Brezillon <boris.brezillon@collabora.com> wrote: > On Mon, 18 May 2020 19:39:07 +0200 > Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: > > > This is really a cosmetic change just to make a bit more readable the > > code after convert the driver to drm_bridge. The bridge variable name > > will be used by the encoder drm_bridge, and the chained bridge will be > > named next_bridge. > > > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > > --- > > > > drivers/gpu/drm/mediatek/mtk_dpi.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > > index 7fbfa95bab09..7112125dc3d1 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > > @@ -61,7 +61,7 @@ enum mtk_dpi_out_color_format { > > struct mtk_dpi { > > struct mtk_ddp_comp ddp_comp; > > struct drm_encoder encoder; > > - struct drm_bridge *bridge; > > + struct drm_bridge *next_bridge; > > Did you consider moving the drm_of_find_panel_or_bridge() call to > mtk_dpi_bind() so you can get rid of this field? Nevermind, you need it in patch 2 for the recursive call to drm_bridge_attach(). > > This makes we realize there's no refcounting on bridges, which means > the bridge can vanish between the drm_of_find_panel_or_bridge() and > drm_bridge_attach() calls :-/. > > > void __iomem *regs; > > struct device *dev; > > struct clk *engine_clk; > > @@ -607,7 +607,7 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) > > /* Currently DPI0 is fixed to be driven by OVL1 */ > > dpi->encoder.possible_crtcs = BIT(1); > > > > - ret = drm_bridge_attach(&dpi->encoder, dpi->bridge, NULL, 0); > > + ret = drm_bridge_attach(&dpi->encoder, dpi->next_bridge, NULL, 0); > > if (ret) { > > dev_err(dev, "Failed to attach bridge: %d\n", ret); > > goto err_cleanup; > > @@ -747,11 +747,11 @@ static int mtk_dpi_probe(struct platform_device *pdev) > > } > > > > ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, > > - NULL, &dpi->bridge); > > + NULL, &dpi->next_bridge); > > if (ret) > > return ret; > > > > - dev_info(dev, "Found bridge node: %pOF\n", dpi->bridge->of_node); > > + dev_info(dev, "Found bridge node: %pOF\n", dpi->next_bridge->of_node); > > > > comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DPI); > > if (comp_id < 0) { >
diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index 7fbfa95bab09..7112125dc3d1 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -61,7 +61,7 @@ enum mtk_dpi_out_color_format { struct mtk_dpi { struct mtk_ddp_comp ddp_comp; struct drm_encoder encoder; - struct drm_bridge *bridge; + struct drm_bridge *next_bridge; void __iomem *regs; struct device *dev; struct clk *engine_clk; @@ -607,7 +607,7 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) /* Currently DPI0 is fixed to be driven by OVL1 */ dpi->encoder.possible_crtcs = BIT(1); - ret = drm_bridge_attach(&dpi->encoder, dpi->bridge, NULL, 0); + ret = drm_bridge_attach(&dpi->encoder, dpi->next_bridge, NULL, 0); if (ret) { dev_err(dev, "Failed to attach bridge: %d\n", ret); goto err_cleanup; @@ -747,11 +747,11 @@ static int mtk_dpi_probe(struct platform_device *pdev) } ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, - NULL, &dpi->bridge); + NULL, &dpi->next_bridge); if (ret) return ret; - dev_info(dev, "Found bridge node: %pOF\n", dpi->bridge->of_node); + dev_info(dev, "Found bridge node: %pOF\n", dpi->next_bridge->of_node); comp_id = mtk_ddp_comp_get_id(dev->of_node, MTK_DPI); if (comp_id < 0) {