Message ID | 1672974321-18947-3-git-send-email-xinlei.lee@mediatek.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp610885wrt; Thu, 5 Jan 2023 19:09:13 -0800 (PST) X-Google-Smtp-Source: AMrXdXt+iRA0govICILL50Ro/shwA2iEPdQDN44XA4YS31p0XwYa9M2iHcp5ZkByrAVcnRtrPzS5 X-Received: by 2002:a05:6402:220b:b0:475:32d2:74a5 with SMTP id cq11-20020a056402220b00b0047532d274a5mr41736482edb.42.1672974552920; Thu, 05 Jan 2023 19:09:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672974552; cv=none; d=google.com; s=arc-20160816; b=XAUxQu0NHRdBxRCK+5k6sZA9eg8MzIEwctmMwLLe42frheJg0g3wmdckqaltJiYpX1 Om9bJwts+xomha2s62KznnE01D5Czqhh1EYsZzonLJMMR5WQDW4hYGoWTOFeLMW/IXFc LLguWv1FXf3nxgYz4gwWS7Sdhlrwtg1FWLmafuA2TcRIJR6UPMBzZOw82LiMaGCRcAKH Xi/49a20J6SXv2O88uQ5xYS9gZK8yzasw19syNd6h0m6IZr5TLqa+V7e5VM+iHAdp0RV YayF5zx0GP6y2zVaVbVkRDHBo+foO+WrFTyc5X7e7U1GwYynKbSCs+gO4SQs1JwtB4/h AiWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=nWLgk4eMZAsD/bVVJsuHq4USM6+AlpxQ1BjwEy3BOtI=; b=Yf+YHakbcOVTv56owHq0wn9bWEvp9mfoowndpXDnxdl7A+ey1MUZarCT7lenvWSnUs dWnRjWr9yCiWMkiwuTMYLaZi9zG2np3H6d+KxA2qAW/VK6F8I9PMlhSxyNC+OgKHS9yO +XgLQouRXab5n08a9XsA6KI4veSPIsrYQnubMbKskN00WVkAl1Jo0BW4kySKjMHE+WZb /LrBAokpBW6iLsE3SZLCx3QkQyMFOeYi5DZ9DUNBFhpvnRGWfIqPdX7+zm97FzElTubn 2abT/y4U0/rsUKpdJtcU9a0j37IHKLrxhDGbfjUdVT6XGtJWT5nK1HGMlvxIl4pcLKbr Z0bQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=fNnlHbqS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m18-20020aa7d352000000b00492c006b78esi161819edr.213.2023.01.05.19.08.49; Thu, 05 Jan 2023 19:09:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=fNnlHbqS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231361AbjAFDGF (ORCPT <rfc822;tmhikaru@gmail.com> + 99 others); Thu, 5 Jan 2023 22:06:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231318AbjAFDFk (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 5 Jan 2023 22:05:40 -0500 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B9581C5 for <linux-kernel@vger.kernel.org>; Thu, 5 Jan 2023 19:05:38 -0800 (PST) X-UUID: c35c5f0ac95a404eaca8051e1a565ff3-20230106 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=nWLgk4eMZAsD/bVVJsuHq4USM6+AlpxQ1BjwEy3BOtI=; b=fNnlHbqSczztC60UDrePtdDpQnm2cndARKlIghZy4BCP2D4oAmEgTULvQqf5Ux++eCSJXZryIB3/bX7jtn+M7/NybKKLUVsaVfND72ql4kgUunY2pH18fb6IR2Y+fdLb7VXYra9f+29shuhtqzPdYM7NgFf38xg+dXJLXq65XUM=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.17,REQID:df821580-663f-4e33-bafa-44716b14f85f,IP:0,U RL:0,TC:0,Content:-5,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-5 X-CID-META: VersionHash:543e81c,CLOUDID:5d67698b-8530-4eff-9f77-222cf6e2895b,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0 X-CID-BVR: 0,NGT X-UUID: c35c5f0ac95a404eaca8051e1a565ff3-20230106 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw02.mediatek.com (envelope-from <xinlei.lee@mediatek.com>) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 940114373; Fri, 06 Jan 2023 11:05:32 +0800 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) by mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Fri, 6 Jan 2023 11:05:30 +0800 Received: from mszsdaap41.gcn.mediatek.inc (10.16.6.141) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.15 via Frontend Transport; Fri, 6 Jan 2023 11:05:30 +0800 From: <xinlei.lee@mediatek.com> To: <chunkuang.hu@kernel.org>, <p.zabel@pengutronix.de>, <airlied@linux.ie>, <daniel@ffwll.ch>, <matthias.bgg@gmail.com>, <angelogioacchino.delregno@collabora.com>, <jitao.shi@mediatek.com>, <thierry.reding@gmail.com>, <sam@ravnborg.org> CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-mediatek@lists.infradead.org>, <Project_Global_Chrome_Upstream_Group@mediatek.com>, Xinlei Lee <xinlei.lee@mediatek.com> Subject: [PATCH 2/2] drm/panel: boe-tv101wum-nl6: Reduce lcm_reset to send initial code time Date: Fri, 6 Jan 2023 11:05:21 +0800 Message-ID: <1672974321-18947-3-git-send-email-xinlei.lee@mediatek.com> X-Mailer: git-send-email 2.6.4 In-Reply-To: <1672974321-18947-1-git-send-email-xinlei.lee@mediatek.com> References: <1672974321-18947-1-git-send-email-xinlei.lee@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754240964749777184?= X-GMAIL-MSGID: =?utf-8?q?1754240964749777184?= |
Series |
Reduce lcm_reset to DSI LP11 send cmd time
|
|
Commit Message
Xinlei Lee (李昕磊)
Jan. 6, 2023, 3:05 a.m. UTC
From: Xinlei Lee <xinlei.lee@mediatek.com> Since the panel spec stipulates that the time from lcm_reset to DSI to send the initial code should be greater than 6ms and less than 40ms, so reduce the delay before sending the initial code and avoid panel exceptions. Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga dsi video mode panel") Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> --- drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - 1 file changed, 1 deletion(-)
Comments
On Fri, Jan 06, 2023 at 11:05:21AM +0800, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Since the panel spec stipulates that the time from lcm_reset to DSI to > send the initial code should be greater than 6ms and less than 40ms, > so reduce the delay before sending the initial code and avoid panel > exceptions. The changelog says "reduce the delay", but the patch removes the delay. Are there other delays that make sure the "greater than 6 ms" is OK? Sam > > Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga dsi video mode panel") > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > --- > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > index 857a2f0420d7..f0093035f1ff 100644 > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > @@ -780,7 +780,6 @@ static const struct panel_init_cmd inx_hj110iz_init_cmd[] = { > }; > > static const struct panel_init_cmd boe_init_cmd[] = { > - _INIT_DELAY_CMD(24), > _INIT_DCS_CMD(0xB0, 0x05), > _INIT_DCS_CMD(0xB1, 0xE5), > _INIT_DCS_CMD(0xB3, 0x52), > -- > 2.18.0
Il 06/01/23 04:05, xinlei.lee@mediatek.com ha scritto: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Since the panel spec stipulates that the time from lcm_reset to DSI to > send the initial code should be greater than 6ms and less than 40ms, > so reduce the delay before sending the initial code and avoid panel > exceptions. > > Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga dsi video mode panel") > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > --- > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > index 857a2f0420d7..f0093035f1ff 100644 > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > @@ -780,7 +780,6 @@ static const struct panel_init_cmd inx_hj110iz_init_cmd[] = { > }; > > static const struct panel_init_cmd boe_init_cmd[] = { > - _INIT_DELAY_CMD(24), You said that should be greater than 6 and less than 40: perhaps on MediaTek platforms removing this delay is fine but we don't know about others - and this driver is for all platforms. To stay on the safe side you should, at this point, replace this delay with _INIT_DELAY_CMD(7); Regards, Angelo
On Mon, 2023-01-09 at 12:25 +0100, AngeloGioacchino Del Regno wrote: > Il 06/01/23 04:05, xinlei.lee@mediatek.com ha scritto: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Since the panel spec stipulates that the time from lcm_reset to DSI > > to > > send the initial code should be greater than 6ms and less than > > 40ms, > > so reduce the delay before sending the initial code and avoid panel > > exceptions. > > > > Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga > > dsi video mode panel") > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > index 857a2f0420d7..f0093035f1ff 100644 > > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > @@ -780,7 +780,6 @@ static const struct panel_init_cmd > > inx_hj110iz_init_cmd[] = { > > }; > > > > static const struct panel_init_cmd boe_init_cmd[] = { > > - _INIT_DELAY_CMD(24), > > You said that should be greater than 6 and less than 40: perhaps on > MediaTek > platforms removing this delay is fine but we don't know about others > - and this > driver is for all platforms. > > To stay on the safe side you should, at this point, replace this > delay with > > _INIT_DELAY_CMD(7); > > Regards, > Angelo > Hi Angelo: Thanks for your reply! Please allow me to explain, in another dsi modification of this series, I reduced the delay of dsi's LP00->LP11 stage from 20ms to 1ms (to comply with dsi spec), in fact, in this file, the boe_panel_prepare function The 6ms delay after pulling up lcm_reset is before the 1ms mentioned just now, which ensures that the delay is within the specified range (7ms). Do you still have doubts about my explanation? Best Regards! xinlei
On Sat, 2023-01-07 at 21:31 +0100, Sam Ravnborg wrote: > On Fri, Jan 06, 2023 at 11:05:21AM +0800, xinlei.lee@mediatek.com > wrote: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Since the panel spec stipulates that the time from lcm_reset to DSI > > to > > send the initial code should be greater than 6ms and less than > > 40ms, > > so reduce the delay before sending the initial code and avoid panel > > exceptions. > > The changelog says "reduce the delay", but the patch removes the > delay. > Are there other delays that make sure the "greater than 6 ms" is OK? > > Sam > > > > > Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga > > dsi video mode panel") > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > index 857a2f0420d7..f0093035f1ff 100644 > > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > @@ -780,7 +780,6 @@ static const struct panel_init_cmd > > inx_hj110iz_init_cmd[] = { > > }; > > > > static const struct panel_init_cmd boe_init_cmd[] = { > > - _INIT_DELAY_CMD(24), > > _INIT_DCS_CMD(0xB0, 0x05), > > _INIT_DCS_CMD(0xB1, 0xE5), > > _INIT_DCS_CMD(0xB3, 0x52), > > -- > > 2.18.0 Hi Sam: Thanks for your reply! Please allow me to explain, in the boe_panel_prepare function in this file, there will be a 6ms delay after the reset pin is pulled high (gpiod_set_value(boe->enable_gpio, 1)), and the initial code will be sent in the boe_panel_init_dcs_cmd function later, This period of time ensures that the delay is within the specified range. In addition, I will add a special panel control in the V2 version, if you have any questions, we will discuss it later. Best Regards! xinlei
On Sat, 2023-01-07 at 21:31 +0100, Sam Ravnborg wrote: > On Fri, Jan 06, 2023 at 11:05:21AM +0800, xinlei.lee@mediatek.com > wrote: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > Since the panel spec stipulates that the time from lcm_reset to DSI > > to > > send the initial code should be greater than 6ms and less than > > 40ms, > > so reduce the delay before sending the initial code and avoid panel > > exceptions. > > The changelog says "reduce the delay", but the patch removes the > delay. > Are there other delays that make sure the "greater than 6 ms" is OK? > > Sam > > > > > Fixes: a869b9db7adf ("drm/panel: support for boe tv101wum-nl6 wuxga > > dsi video mode panel") > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > --- > > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > index 857a2f0420d7..f0093035f1ff 100644 > > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c > > @@ -780,7 +780,6 @@ static const struct panel_init_cmd > > inx_hj110iz_init_cmd[] = { > > }; > > > > static const struct panel_init_cmd boe_init_cmd[] = { > > - _INIT_DELAY_CMD(24), > > _INIT_DCS_CMD(0xB0, 0x05), > > _INIT_DCS_CMD(0xB1, 0xE5), > > _INIT_DCS_CMD(0xB3, 0x52), > > -- > > 2.18.0 Hi Sam: Thanks for your reply! Please allow me to explain, in the boe_panel_prepare function in this file, there will be a 6ms delay after the reset pin is pulled high (gpiod_set_value(boe->enable_gpio, 1)), and the initial code will be sent in the boe_panel_init_dcs_cmd function later, This period of time ensures that the delay is within the specified range. In addition, I will add a special panel control in the V2 version, if you have any questions, we will discuss it later. Best Regards! xinlei
diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c index 857a2f0420d7..f0093035f1ff 100644 --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c @@ -780,7 +780,6 @@ static const struct panel_init_cmd inx_hj110iz_init_cmd[] = { }; static const struct panel_init_cmd boe_init_cmd[] = { - _INIT_DELAY_CMD(24), _INIT_DCS_CMD(0xB0, 0x05), _INIT_DCS_CMD(0xB1, 0xE5), _INIT_DCS_CMD(0xB3, 0x52),