Re: [RESEND PATCH 3/3] drm/mediatek: mtk_dpi: Use simple encoder

From: Enric Balletbo i Serra
Date: Wed Jul 08 2020 - 11:12:48 EST


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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>
>> Reviewed-by: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>
>> ---
>>
>> 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;
>