Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp8351843rwp; Wed, 19 Jul 2023 08:38:33 -0700 (PDT) X-Google-Smtp-Source: APBJJlF9hsZQ3R9lLdajaYgd9Y6mp1Tj89fUBShZiqGuiYxp0SbchPQBMr/gZBcvbJEZA1mcUSDk X-Received: by 2002:a17:902:a614:b0:1b8:2c2a:962e with SMTP id u20-20020a170902a61400b001b82c2a962emr16858772plq.33.1689781113399; Wed, 19 Jul 2023 08:38:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689781113; cv=none; d=google.com; s=arc-20160816; b=hWdxIx6TikCdusUzbzoL/rBz+tLPvV2QuGMpPotrUcOQJF/1g94ZaT6jchpoTbdFxj kxO7xGQeoidMmbJDXKVKp0jlISjyX5kYtY+7Dqrcu8gzkx6858AubVRHH+LBjW9nXeaL paJcSYYN4SdX2+MWrx1oEVQSSiiTl9ql+TGcBo/RlgHhImVsE4XPUkqF0wpc/4p3kol9 9vEGLJ7Kj34vpWXUfwN07dU7k9ZdRUMKwDqiyrIUhTfeanubLFDmzCzPmuo1wou+RQlE HVpmV1rJecp16+UmESTQZL+NaqbW3ecSAuHKbw9gBzgD4dHvZDThUIwhfYpkujUW1/Sv OVSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=i7bxphw/YpWmzB+mtLf3PSOUO4YSLrGh8OWg8w+78sk=; fh=WO+wAvRuQGbYGL2DGqfNwjqiH8RcMpazOZft1Rc2qp8=; b=swKiTYsgWnw7wOVUi2ap+M+TkIuEAKBt4zvyjYx6G2zaYAhRDk/voQQJDuVkCxdRgz CcgCy28HB74OVqYyxRySTEbEtbc3ZQYAkvAQtHidr3hN4R97oPZDApWZYHBPX4tIanYl 1A1lq/h8sN2Hsy5f79z6MxfHLkoUK59fP0d7zyIjBqe5Fs2nfVp9anzlPGVOR9uM7TUn YjjsRV42Axi6lCSmxDHxoMhtztDUdjB8hHBR3rf+TN8x/VqaLHy49fNJslO1JAUKyZ28 p0XFa36YRosM1Fper9HalSkuKq0VkEswdHWx7bZApVyr0OeTXHywzlt8cz+jO7MoGijw FShg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=X5Ur6GtO; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gb11-20020a17090b060b00b00263ffb07fa9si1515962pjb.95.2023.07.19.08.38.20; Wed, 19 Jul 2023 08:38:33 -0700 (PDT) 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=@kernel.org header.s=k20201202 header.b=X5Ur6GtO; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231787AbjGSP01 (ORCPT + 99 others); Wed, 19 Jul 2023 11:26:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231766AbjGSP0Y (ORCPT ); Wed, 19 Jul 2023 11:26:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E953210E for ; Wed, 19 Jul 2023 08:26:12 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A0FAD61730 for ; Wed, 19 Jul 2023 15:26:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E07F8C43395 for ; Wed, 19 Jul 2023 15:26:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689780370; bh=nXOLt+Ru1599YLHogJZDfcCqEFtOC1MXpEQo8Utf5+4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=X5Ur6GtOca0SFfi+2pqbWqAT2zyHEBEDsVDrSunDo62xwbrVst2eiLVPhX8LugXjg VPDH89Nwmdq4z7T9tXZJcSsK5UZhxGjzsbMhwc+3YELx3nwxBr1uyAy1BrUVxflDnd gyS0lvCBVAN2uYJptRT+6wrKD8KOMVvcMLSUG2djW8YJNayqmxBPBlCnPIAgZCKqTq wSM2U3r2QwqV5nZxt97CKc0wcpwHvgcrpZuPAt3ga2aXnTdPEdV8HKUrn5wAKeIbl1 HoVdUdR4ReF/1XyB6SYMJeCbie8OcWHaMfG0FKlpRhKaKn4Q6EGaaNhS6ge9z7gPkB 7MNDCW+sYBPRw== Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2b701dee4bfso111183801fa.0 for ; Wed, 19 Jul 2023 08:26:10 -0700 (PDT) X-Gm-Message-State: ABy/qLaQNt8CAQDneH3uSCkgOuAjucOMJijwa5UgP4Zwwuf6rAcJUNrE QqGQSzcbBSGjQt9Vjt/tUcBYvE7BdgnVAoKpDQ== X-Received: by 2002:a2e:985a:0:b0:2b6:a057:8098 with SMTP id e26-20020a2e985a000000b002b6a0578098mr249343ljj.0.1689780368825; Wed, 19 Jul 2023 08:26:08 -0700 (PDT) MIME-Version: 1.0 References: <20230523104234.7849-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230523104234.7849-1-angelogioacchino.delregno@collabora.com> From: Chun-Kuang Hu Date: Wed, 19 Jul 2023 23:25:56 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] drm: mediatek: mtk_dsi: Fix NO_EOT_PACKET settings/handling To: AngeloGioacchino Del Regno , jitao.shi@mediatek.com Cc: chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@gmail.com, daniel@ffwll.ch, matthias.bgg@gmail.com, ck.hu@mediatek.com, shaoming.chen@mediatek.com, yt.shen@mediatek.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Jitao: Do you have any comment? If you have no comment, I would apply this patch. Regards, Chun-Kuang. AngeloGioacchino Del Regno =E6=96= =BC 2023=E5=B9=B45=E6=9C=8823=E6=97=A5 =E9=80=B1=E4=BA=8C =E4=B8=8B=E5=8D=886:4= 2=E5=AF=AB=E9=81=93=EF=BC=9A > > Due to the initial confusion about MIPI_DSI_MODE_EOT_PACKET, properly > renamed to MIPI_DSI_MODE_NO_EOT_PACKET, reflecting its actual meaning, > both the DSI_TXRX_CON register setting for bit (HSTX_)DIS_EOT and the > later calculation for horizontal sync-active (HSA), back (HBP) and > front (HFP) porches got incorrect due to the logic being inverted. > > This means that a number of settings were wrong because....: > - DSI_TXRX_CON register setting: bit (HSTX_)DIS_EOT should be > set in order to disable the End of Transmission packet; > - Horizontal Sync and Back/Front porches: The delta used to > calculate all of HSA, HBP and HFP should account for the > additional EOT packet. > > Before this change... > - Bit (HSTX_)DIS_EOT was being set when EOT packet was enabled; > - For HSA/HBP/HFP delta... all three were wrong, as words were > added when EOT disabled, instead of when EOT packet enabled! > > Invert the logic around flag MIPI_DSI_MODE_NO_EOT_PACKET in the > MediaTek DSI driver to fix the aforementioned issues. > > Fixes: 8b2b99fd7931 ("drm/mediatek: dsi: Fine tune the line time caused b= y EOTp") > Fixes: 2d52bfba09d1 ("drm/mediatek: add non-continuous clock mode and EOT= packet control") > Signed-off-by: AngeloGioacchino Del Regno > --- > drivers/gpu/drm/mediatek/mtk_dsi.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediate= k/mtk_dsi.c > index 7d5250351193..b0ab38e59db9 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -407,7 +407,7 @@ static void mtk_dsi_rxtx_control(struct mtk_dsi *dsi) > if (dsi->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) > tmp_reg |=3D HSTX_CKLP_EN; > > - if (!(dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) > + if (dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET) > tmp_reg |=3D DIS_EOT; > > writel(tmp_reg, dsi->regs + DSI_TXRX_CTRL); > @@ -484,7 +484,7 @@ static void mtk_dsi_config_vdo_timing(struct mtk_dsi = *dsi) > timing->da_hs_zero + timing->da_hs_exit + 3; > > delta =3D dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST ? 18 : 12; > - delta +=3D dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET ? 2 : 0; > + delta +=3D dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET ? 0 : 2; > > horizontal_frontporch_byte =3D vm->hfront_porch * dsi_tmp_buf_bpp= ; > horizontal_front_back_byte =3D horizontal_frontporch_byte + horiz= ontal_backporch_byte; > -- > 2.40.1 >