[PATCH] drm/panel-notatek-nt35510: Fix MTP read init

Daniel Vetter daniel at ffwll.ch
Mon Aug 10 13:04:49 UTC 2020


On Sun, Aug 09, 2020 at 12:43:22AM +0200, Linus Walleij wrote:
> In order to successfully read ID of the MTP panel the
> panel MTP control page must be unlocked. Previously
> this wasn't encountered because in the setup with this
> panel the power wasn't ever really dropped. When power
> gets dropped from the panel, MTP needs to be unlocked.
> 
> Cc: newbytee at protonmail.com
> Cc: Stephan Gerhold <stephan at gerhold.net>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>

I guess this needs to be merged together with the mcde changes, or things
break?

Either way looks reasonable. Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/panel/panel-novatek-nt35510.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35510.c b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
> index 4a8fa908a2cf..d0cd2128df1d 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt35510.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
> @@ -376,6 +376,10 @@ struct nt35510 {
>  };
>  
>  /* Manufacturer command has strictly this byte sequence */
> +static const u8 nt35510_mauc_mtp_read_param[] = { 0xAA, 0x55, 0x25, 0x01 };
> +static const u8 nt35510_mauc_mtp_read_setting[] = { 0x01, 0x02, 0x00, 0x20,
> +						    0x33, 0x13, 0x00, 0x40,
> +						    0x00, 0x00, 0x23, 0x02 };
>  static const u8 nt35510_mauc_select_page_0[] = { 0x55, 0xAA, 0x52, 0x08, 0x00 };
>  static const u8 nt35510_mauc_select_page_1[] = { 0x55, 0xAA, 0x52, 0x08, 0x01 };
>  static const u8 nt35510_vgh_on[] = { 0x01 };
> @@ -698,6 +702,18 @@ static int nt35510_power_on(struct nt35510 *nt)
>  		usleep_range(120000, 140000);
>  	}
>  
> +	ret = nt35510_send_long(nt, dsi, MCS_CMD_MTP_READ_PARAM,
> +				ARRAY_SIZE(nt35510_mauc_mtp_read_param),
> +				nt35510_mauc_mtp_read_param);
> +	if (ret)
> +		return ret;
> +
> +	ret = nt35510_send_long(nt, dsi, MCS_CMD_MTP_READ_SETTING,
> +				ARRAY_SIZE(nt35510_mauc_mtp_read_setting),
> +				nt35510_mauc_mtp_read_setting);
> +	if (ret)
> +		return ret;
> +
>  	ret = nt35510_read_id(nt);
>  	if (ret)
>  		return ret;
> -- 
> 2.26.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list