Message ID | 20200518173909.2259259-4-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:09 +0200 Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: > The mtk_dpi driver uses an empty implementation for its encoder. Replace > the code with the generic simple encoder. > > 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 | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > index baad198c69eb..80778b2aac2a 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -20,6 +20,7 @@ > #include <drm/drm_bridge.h> > #include <drm/drm_crtc.h> > #include <drm/drm_of.h> > +#include <drm/drm_simple_kms_helper.h> > > #include "mtk_dpi_regs.h" > #include "mtk_drm_ddp_comp.h" > @@ -510,15 +511,6 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *dpi, > return 0; > } > > -static void mtk_dpi_encoder_destroy(struct drm_encoder *encoder) > -{ > - drm_encoder_cleanup(encoder); > -} > - > -static const struct drm_encoder_funcs mtk_dpi_encoder_funcs = { > - .destroy = mtk_dpi_encoder_destroy, > -}; > - > static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, > enum drm_bridge_attach_flags flags) > { > @@ -591,8 +583,8 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) > return ret; > } > > - ret = drm_encoder_init(drm_dev, &dpi->encoder, &mtk_dpi_encoder_funcs, > - DRM_MODE_ENCODER_TMDS, NULL); > + ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, > + DRM_MODE_ENCODER_TMDS); Not related to this change, but shouldn't we have DRM_MODE_ENCODER_DPI here? > if (ret) { > dev_err(dev, "Failed to initialize decoder: %d\n", ret); > goto err_unregister;
Hi Boris, Thank you to spend some time to review the patches. On 1/7/20 13:41, Boris Brezillon wrote: > On Mon, 18 May 2020 19:39:09 +0200 > Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: > >> The mtk_dpi driver uses an empty implementation for its encoder. Replace >> the code with the generic simple encoder. >> >> 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 | 14 +++----------- >> 1 file changed, 3 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c >> index baad198c69eb..80778b2aac2a 100644 >> --- a/drivers/gpu/drm/mediatek/mtk_dpi.c >> +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c >> @@ -20,6 +20,7 @@ >> #include <drm/drm_bridge.h> >> #include <drm/drm_crtc.h> >> #include <drm/drm_of.h> >> +#include <drm/drm_simple_kms_helper.h> >> >> #include "mtk_dpi_regs.h" >> #include "mtk_drm_ddp_comp.h" >> @@ -510,15 +511,6 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *dpi, >> return 0; >> } >> >> -static void mtk_dpi_encoder_destroy(struct drm_encoder *encoder) >> -{ >> - drm_encoder_cleanup(encoder); >> -} >> - >> -static const struct drm_encoder_funcs mtk_dpi_encoder_funcs = { >> - .destroy = mtk_dpi_encoder_destroy, >> -}; >> - >> static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, >> enum drm_bridge_attach_flags flags) >> { >> @@ -591,8 +583,8 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) >> return ret; >> } >> >> - ret = drm_encoder_init(drm_dev, &dpi->encoder, &mtk_dpi_encoder_funcs, >> - DRM_MODE_ENCODER_TMDS, NULL); >> + ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, >> + DRM_MODE_ENCODER_TMDS); > > Not related to this change, but shouldn't we have DRM_MODE_ENCODER_DPI > here? > Right, I'll add a patch to fix this. >> if (ret) { >> dev_err(dev, "Failed to initialize decoder: %d\n", ret); >> goto err_unregister; >
Hi again, On 8/7/20 17:12, Enric Balletbo i Serra wrote: > Hi Boris, > > Thank you to spend some time to review the patches. > > On 1/7/20 13:41, Boris Brezillon wrote: >> On Mon, 18 May 2020 19:39:09 +0200 >> Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: >> >>> The mtk_dpi driver uses an empty implementation for its encoder. Replace >>> the code with the generic simple encoder. >>> >>> 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 | 14 +++----------- >>> 1 file changed, 3 insertions(+), 11 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c >>> index baad198c69eb..80778b2aac2a 100644 >>> --- a/drivers/gpu/drm/mediatek/mtk_dpi.c >>> +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c >>> @@ -20,6 +20,7 @@ >>> #include <drm/drm_bridge.h> >>> #include <drm/drm_crtc.h> >>> #include <drm/drm_of.h> >>> +#include <drm/drm_simple_kms_helper.h> >>> >>> #include "mtk_dpi_regs.h" >>> #include "mtk_drm_ddp_comp.h" >>> @@ -510,15 +511,6 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *dpi, >>> return 0; >>> } >>> >>> -static void mtk_dpi_encoder_destroy(struct drm_encoder *encoder) >>> -{ >>> - drm_encoder_cleanup(encoder); >>> -} >>> - >>> -static const struct drm_encoder_funcs mtk_dpi_encoder_funcs = { >>> - .destroy = mtk_dpi_encoder_destroy, >>> -}; >>> - >>> static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, >>> enum drm_bridge_attach_flags flags) >>> { >>> @@ -591,8 +583,8 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) >>> return ret; >>> } >>> >>> - ret = drm_encoder_init(drm_dev, &dpi->encoder, &mtk_dpi_encoder_funcs, >>> - DRM_MODE_ENCODER_TMDS, NULL); >>> + ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, >>> + DRM_MODE_ENCODER_TMDS); >> >> Not related to this change, but shouldn't we have DRM_MODE_ENCODER_DPI >> here? >> > Thinking a bit more about this and this patchset in general, I think I'll drop this patch from the series, at the end, all the encoder creation stuff should be moved to mtk_drm_drv. > Right, I'll add a patch to fix this. > >>> if (ret) { >>> dev_err(dev, "Failed to initialize decoder: %d\n", ret); >>> goto err_unregister; >> >
diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index baad198c69eb..80778b2aac2a 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -20,6 +20,7 @@ #include <drm/drm_bridge.h> #include <drm/drm_crtc.h> #include <drm/drm_of.h> +#include <drm/drm_simple_kms_helper.h> #include "mtk_dpi_regs.h" #include "mtk_drm_ddp_comp.h" @@ -510,15 +511,6 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *dpi, return 0; } -static void mtk_dpi_encoder_destroy(struct drm_encoder *encoder) -{ - drm_encoder_cleanup(encoder); -} - -static const struct drm_encoder_funcs mtk_dpi_encoder_funcs = { - .destroy = mtk_dpi_encoder_destroy, -}; - static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, enum drm_bridge_attach_flags flags) { @@ -591,8 +583,8 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) return ret; } - ret = drm_encoder_init(drm_dev, &dpi->encoder, &mtk_dpi_encoder_funcs, - DRM_MODE_ENCODER_TMDS, NULL); + ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, + DRM_MODE_ENCODER_TMDS); if (ret) { dev_err(dev, "Failed to initialize decoder: %d\n", ret); goto err_unregister;