From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C062DC43381 for ; Thu, 14 Feb 2019 19:27:50 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 904B7222D4 for ; Thu, 14 Feb 2019 19:27:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="EO2N9mHX"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="V+GKYnGR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 904B7222D4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amarulasolutions.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=YbC8WdfqXpjKwkEDzAyCsypbjMUpG9pEW4A3fh78p20=; b=EO2N9mHXgeG8nU Qr/BNvToqDCTvu/gqtDZHCUJIMCAND8qNYdek+/6ka9m/Z27NHt/rlNn4oq+a9IR1l1Pn+qZkGlMg eKuTZisPZFpPZZhUtGWNR67D1ky4CtrCkyAa2chUFGjU77e8xbQUUOg6Coc+i5NGqpzj3Ofq8c6b3 1gbKN99d1jsGAgPhu3saD9bTum0fEzTbKBLEEDvsvI8SyhaHBPREWXH1L4aqSMTnqYgyyJYy9L5uy 24b2y3mLAFUDC/3o706bf1vmdbIwyPCHhg48OKfQ2G5JnupLHzqDjBngtnmfD8+VVslDUz1zD1doj hWUOBhlXPvrwKIiHiKEA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1guMff-00033S-2g; Thu, 14 Feb 2019 19:27:43 +0000 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1guMeU-0001dd-FA for linux-arm-kernel@lists.infradead.org; Thu, 14 Feb 2019 19:26:43 +0000 Received: by mail-pg1-x544.google.com with SMTP id y1so3537273pgk.11 for ; Thu, 14 Feb 2019 11:26:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5N07oU2k2LE7t0QlvtqZwD41GQ0JhcM9+FfY0qN6oOk=; b=V+GKYnGRmRLbvW/9tmZOQnqrqzQVvOyAc9i+ybY4q6VXxG4RFFoK8DqK2T+BsWuglr fzRDTS2pzI3jNAYMc68T7vBJC4gSHKsp4sLqVf7YsrB/efnhLsJj1LbwKuj5iZUKyMAQ vnvc9xkb66E+nMMT2llLXX0UGrq8rxSx9+1NY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5N07oU2k2LE7t0QlvtqZwD41GQ0JhcM9+FfY0qN6oOk=; b=pC2evg1bm75tn7MtAmIqNyKgsYd0Ma7EqOFejswqaiKx661XK77YAV93U8Ge3aC8nr wynoJEURBniml7l3AFgsuNji77WmZu2pMFPv+V3wNCbeZ4/ZNesHiNFzp3ueWrSDpJkn YoSGvpKzbvJXv+xIK/kn9lIVjHDEehiNJ/doW8Os5+t89uaTtrSwhuGt2QGqmbQfUAB/ P/C3BDkC39q+fdJXeKVxT9ueXr0kY+0P4x1fd+x1obHV1EyGTxG6pqhKvQN+nxdSyAqf OATB+6a0B55p+8nL6XKbGmuzUqUEAzPv+4dmgD+cHRa/tiDu0VP6NW/+Ro8Ki8kXNfXS yAtw== X-Gm-Message-State: AHQUAuaS9ipcpesYbd2Y/Q9Fwcjvh4TDgv9CXj5U70DOYTCJ5RstUAG0 WX6fj5MpnM04xkcfqagYYE89QQ== X-Google-Smtp-Source: AHgI3IYa3jkq2zGmzYMgdNauEe0uYUJbfzKwzALB7vINehRpWgxtagKi09HgO0hbmCn1Lw5pM+LpXA== X-Received: by 2002:a62:168e:: with SMTP id 136mr5787813pfw.116.1550172389962; Thu, 14 Feb 2019 11:26:29 -0800 (PST) Received: from localhost.localdomain ([115.97.184.151]) by smtp.gmail.com with ESMTPSA id k71sm8390100pga.44.2019.02.14.11.26.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 11:26:29 -0800 (PST) From: Jagan Teki To: Maxime Ripard , David Airlie , Daniel Vetter , Chen-Yu Tsai Subject: [PATCH v8 7/8] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay Date: Fri, 15 Feb 2019 00:55:43 +0530 Message-Id: <20190214192544.7314-8-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190214192544.7314-1-jagan@amarulasolutions.com> References: <20190214192544.7314-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190214_112630_966943_FC10A713 X-CRM114-Status: GOOD ( 15.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Vertical video start delay is computed by excluding vertical porch value from total vertical timings, but the current driver excluding vertical porch along with vertical sync values from total vertical timings resulting wrong start delay. This patch trying to update the video start delay by subtracting vertical porch from vertical total, on the other hand it added 1 extra start_delay line for TCON based on the Allwinner BSP reference. BSP code form BPI-M64-bsp is computing video start delay as (from linux-sunxi/ drivers/video/sunxi/disp2/disp/de/lowlevel_sun50iw1/de_dsi.c) u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp; => (panel->lcd_vt) - panel->lcd_y - (panel->lcd_vbp) => (timmings->ver_front_porch + panel->lcd_vbp + panel->lcd_y) - panel->lcd_y - (panel->lcd_vbp) => timmings->ver_front_porch + panel->lcd_vbp + panel->lcd_y - panel->lcd_y - panel->lcd_vbp => timmings->ver_front_porch So, update the start delay computation accordingly. Signed-off-by: Jagan Teki --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c index a08dfdcbe9e8..31cf9c58e98d 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -358,7 +358,24 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi, static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi, struct drm_display_mode *mode) { - return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1; + u32 vfp, start_delay; + + /* vertical front porch */ + vfp = mode->vsync_start - mode->vdisplay; + + /* start_delay = vertical total - vertical front porch */ + start_delay = mode->vtotal - vfp; + + /* add extra 1 delay line for TCON, as per Allwinner BSP */ + start_delay = 1; + + if (start_delay > mode->vtotal) + start_delay -= mode->vtotal; + + if (!start_delay) + start_delay = 1; + + return start_delay; } static void sun6i_dsi_setup_burst(struct sun6i_dsi *dsi, -- 2.18.0.321.gffc6fa0e3 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Subject: [PATCH v8 7/8] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay Date: Fri, 15 Feb 2019 00:55:43 +0530 Message-ID: <20190214192544.7314-8-jagan@amarulasolutions.com> References: <20190214192544.7314-1-jagan@amarulasolutions.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id B76466EAAF for ; Thu, 14 Feb 2019 19:26:30 +0000 (UTC) Received: by mail-pg1-x544.google.com with SMTP id q206so3556216pgq.4 for ; Thu, 14 Feb 2019 11:26:30 -0800 (PST) In-Reply-To: <20190214192544.7314-1-jagan@amarulasolutions.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maxime Ripard , David Airlie , Daniel Vetter , Chen-Yu Tsai Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org VmVydGljYWwgdmlkZW8gc3RhcnQgZGVsYXkgaXMgY29tcHV0ZWQgYnkgZXhjbHVkaW5nIHZlcnRp Y2FsIHBvcmNoCnZhbHVlIGZyb20gdG90YWwgdmVydGljYWwgdGltaW5ncywgYnV0IHRoZSBjdXJy ZW50IGRyaXZlciBleGNsdWRpbmcKdmVydGljYWwgcG9yY2ggYWxvbmcgd2l0aCB2ZXJ0aWNhbCBz eW5jIHZhbHVlcyBmcm9tIHRvdGFsIHZlcnRpY2FsCnRpbWluZ3MgcmVzdWx0aW5nIHdyb25nIHN0 YXJ0IGRlbGF5LgoKVGhpcyBwYXRjaCB0cnlpbmcgdG8gdXBkYXRlIHRoZSB2aWRlbyBzdGFydCBk ZWxheSBieSBzdWJ0cmFjdGluZwp2ZXJ0aWNhbCBwb3JjaCBmcm9tIHZlcnRpY2FsIHRvdGFsLCBv biB0aGUgb3RoZXIgaGFuZCBpdCBhZGRlZCAxCmV4dHJhIHN0YXJ0X2RlbGF5IGxpbmUgZm9yIFRD T04gYmFzZWQgb24gdGhlIEFsbHdpbm5lciBCU1AgcmVmZXJlbmNlLgoKQlNQIGNvZGUgZm9ybSBC UEktTTY0LWJzcCBpcyBjb21wdXRpbmcgdmlkZW8gc3RhcnQgZGVsYXkgYXMKKGZyb20gbGludXgt c3VueGkvCmRyaXZlcnMvdmlkZW8vc3VueGkvZGlzcDIvZGlzcC9kZS9sb3dsZXZlbF9zdW41MGl3 MS9kZV9kc2kuYykKCnUzMiB2ZnAgPSBwYW5lbC0+bGNkX3Z0IC0gcGFuZWwtPmxjZF95IC0gcGFu ZWwtPmxjZF92YnA7Cj0+IChwYW5lbC0+bGNkX3Z0KSAtIHBhbmVsLT5sY2RfeSAtIChwYW5lbC0+ bGNkX3ZicCkKPT4gKHRpbW1pbmdzLT52ZXJfZnJvbnRfcG9yY2ggKyBwYW5lbC0+bGNkX3ZicCAr IHBhbmVsLT5sY2RfeSkKICAgLSBwYW5lbC0+bGNkX3kgLSAocGFuZWwtPmxjZF92YnApCj0+IHRp bW1pbmdzLT52ZXJfZnJvbnRfcG9yY2ggKyBwYW5lbC0+bGNkX3ZicCArIHBhbmVsLT5sY2RfeQog IAkJCSAgICAgLSBwYW5lbC0+bGNkX3kgLSBwYW5lbC0+bGNkX3ZicAo9PiB0aW1taW5ncy0+dmVy X2Zyb250X3BvcmNoCgpTbywgdXBkYXRlIHRoZSBzdGFydCBkZWxheSBjb21wdXRhdGlvbiBhY2Nv cmRpbmdseS4KClNpZ25lZC1vZmYtYnk6IEphZ2FuIFRla2kgPGphZ2FuQGFtYXJ1bGFzb2x1dGlv bnMuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9taXBpX2RzaS5jIHwgMTkg KysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlw aV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9taXBpX2RzaS5jCmluZGV4IGEw OGRmZGNiZTllOC4uMzFjZjljNThlOThkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3Vu NGkvc3VuNmlfbWlwaV9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlw aV9kc2kuYwpAQCAtMzU4LDcgKzM1OCwyNCBAQCBzdGF0aWMgdm9pZCBzdW42aV9kc2lfaW5zdF9p bml0KHN0cnVjdCBzdW42aV9kc2kgKmRzaSwKIHN0YXRpYyB1MTYgc3VuNmlfZHNpX2dldF92aWRl b19zdGFydF9kZWxheShzdHJ1Y3Qgc3VuNmlfZHNpICpkc2ksCiAJCQkJCSAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlKQogewotCXJldHVybiBtb2RlLT52dG90YWwgLSAobW9kZS0+dnN5 bmNfZW5kIC0gbW9kZS0+dmRpc3BsYXkpICsgMTsKKwl1MzIgdmZwLCBzdGFydF9kZWxheTsKKwor CS8qIHZlcnRpY2FsIGZyb250IHBvcmNoICovCisJdmZwID0gbW9kZS0+dnN5bmNfc3RhcnQgLSBt b2RlLT52ZGlzcGxheTsKKworCS8qIHN0YXJ0X2RlbGF5ID0gdmVydGljYWwgdG90YWwgLSB2ZXJ0 aWNhbCBmcm9udCBwb3JjaCAqLworCXN0YXJ0X2RlbGF5ID0gbW9kZS0+dnRvdGFsIC0gdmZwOwor CisJLyogYWRkIGV4dHJhIDEgZGVsYXkgbGluZSBmb3IgVENPTiwgYXMgcGVyIEFsbHdpbm5lciBC U1AgKi8KKwlzdGFydF9kZWxheSA9IDE7CisKKwlpZiAoc3RhcnRfZGVsYXkgPiBtb2RlLT52dG90 YWwpCisJCXN0YXJ0X2RlbGF5IC09IG1vZGUtPnZ0b3RhbDsKKworCWlmICghc3RhcnRfZGVsYXkp CisJCXN0YXJ0X2RlbGF5ID0gMTsKKworCXJldHVybiBzdGFydF9kZWxheTsKIH0KIAogc3RhdGlj IHZvaWQgc3VuNmlfZHNpX3NldHVwX2J1cnN0KHN0cnVjdCBzdW42aV9kc2kgKmRzaSwKLS0gCjIu MTguMC4zMjEuZ2ZmYzZmYTBlMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A6B3C43381 for ; Thu, 14 Feb 2019 19:26:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 496BC21B68 for ; Thu, 14 Feb 2019 19:26:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="V+GKYnGR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2439749AbfBNT0n (ORCPT ); Thu, 14 Feb 2019 14:26:43 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:43622 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2439734AbfBNT0b (ORCPT ); Thu, 14 Feb 2019 14:26:31 -0500 Received: by mail-pf1-f196.google.com with SMTP id q17so3571011pfh.10 for ; Thu, 14 Feb 2019 11:26:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5N07oU2k2LE7t0QlvtqZwD41GQ0JhcM9+FfY0qN6oOk=; b=V+GKYnGRmRLbvW/9tmZOQnqrqzQVvOyAc9i+ybY4q6VXxG4RFFoK8DqK2T+BsWuglr fzRDTS2pzI3jNAYMc68T7vBJC4gSHKsp4sLqVf7YsrB/efnhLsJj1LbwKuj5iZUKyMAQ vnvc9xkb66E+nMMT2llLXX0UGrq8rxSx9+1NY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5N07oU2k2LE7t0QlvtqZwD41GQ0JhcM9+FfY0qN6oOk=; b=Rjh6RMHu8JaSrJXmN49Uvl8kFxL1iz1G3i24U37DFD7tbNmHQB3O6KphfegS0xjHop Z5Ui+h1ENofIHxiQWEsPd/CGkK68VCGoDBZx6rzUBJHXSkApADJGoSYL59suFc8lE9gA u1B4HV0kPeehA40nnHCh8s9HjM/uOESzzk+kQ0nb1VFho/IHcv0KP0LBboye2v8xgFja /51HRhd7si/Gtw2jEsY4MS4t9TtSR3dNSZA4vuz0TWdgwLlKKCWoNJlUYKKm/6lwXGkZ jkSASgl34DI05RoNaeDScdHr0NlonYuxgRjjrbEvHxH6ky5P4UuHn9fiXOOmVSfqpwFM R/PQ== X-Gm-Message-State: AHQUAub6fYqlND28ljBWCLxDY/UjIv2gXiZ6hmQp3A5ejVAIYRpjrvBU 0MA8cMZ8v76qwVNDJM942j0Y9g== X-Google-Smtp-Source: AHgI3IYa3jkq2zGmzYMgdNauEe0uYUJbfzKwzALB7vINehRpWgxtagKi09HgO0hbmCn1Lw5pM+LpXA== X-Received: by 2002:a62:168e:: with SMTP id 136mr5787813pfw.116.1550172389962; Thu, 14 Feb 2019 11:26:29 -0800 (PST) Received: from localhost.localdomain ([115.97.184.151]) by smtp.gmail.com with ESMTPSA id k71sm8390100pga.44.2019.02.14.11.26.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 11:26:29 -0800 (PST) From: Jagan Teki To: Maxime Ripard , David Airlie , Daniel Vetter , Chen-Yu Tsai Cc: dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-amarula@amarulasolutions.com, Michael Trimarchi , Jagan Teki Subject: [PATCH v8 7/8] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay Date: Fri, 15 Feb 2019 00:55:43 +0530 Message-Id: <20190214192544.7314-8-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 In-Reply-To: <20190214192544.7314-1-jagan@amarulasolutions.com> References: <20190214192544.7314-1-jagan@amarulasolutions.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Vertical video start delay is computed by excluding vertical porch value from total vertical timings, but the current driver excluding vertical porch along with vertical sync values from total vertical timings resulting wrong start delay. This patch trying to update the video start delay by subtracting vertical porch from vertical total, on the other hand it added 1 extra start_delay line for TCON based on the Allwinner BSP reference. BSP code form BPI-M64-bsp is computing video start delay as (from linux-sunxi/ drivers/video/sunxi/disp2/disp/de/lowlevel_sun50iw1/de_dsi.c) u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp; => (panel->lcd_vt) - panel->lcd_y - (panel->lcd_vbp) => (timmings->ver_front_porch + panel->lcd_vbp + panel->lcd_y) - panel->lcd_y - (panel->lcd_vbp) => timmings->ver_front_porch + panel->lcd_vbp + panel->lcd_y - panel->lcd_y - panel->lcd_vbp => timmings->ver_front_porch So, update the start delay computation accordingly. Signed-off-by: Jagan Teki --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c index a08dfdcbe9e8..31cf9c58e98d 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -358,7 +358,24 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi, static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi, struct drm_display_mode *mode) { - return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1; + u32 vfp, start_delay; + + /* vertical front porch */ + vfp = mode->vsync_start - mode->vdisplay; + + /* start_delay = vertical total - vertical front porch */ + start_delay = mode->vtotal - vfp; + + /* add extra 1 delay line for TCON, as per Allwinner BSP */ + start_delay = 1; + + if (start_delay > mode->vtotal) + start_delay -= mode->vtotal; + + if (!start_delay) + start_delay = 1; + + return start_delay; } static void sun6i_dsi_setup_burst(struct sun6i_dsi *dsi, -- 2.18.0.321.gffc6fa0e3