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=-3.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, T_DKIMWL_WL_HIGH,URIBL_BLOCKED,USER_AGENT_NEOMUTT 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 323E6C282DD for ; Thu, 23 May 2019 20:34:56 +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 01C8C2175B for ; Thu, 23 May 2019 20:34:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="PLVw6iJO"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="G9vkvlek" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 01C8C2175B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.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:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pfLDlNAZ1/JT4EytAA0dqpO4pXqsztRyoebnYn32rpg=; b=PLVw6iJOkjrI11 i3B6t5XrXWHYtnRTxQ0tDR53fPEniQhUPlZ5zRMwl3Y+ooKg8Iw4ekA1qWoEHhoCLtw/vs2GnvQ6l NqAUdZVxIvVwn3272TmU/1/3pXf8OJnGMCRT6kfaPFP8ALKEJ/WQc+bHaiRrLnfC4jS+WQ2zIhHe0 bV6+X33G9CB6i+IvHUWsV/kNi6ig/Rb6Qr+lfDZa6uizBgLeHhs9IRepHI6ekN3e7qzU2Ie7GOoRp GtwjHKlWTk/pmKa+CcXOKcPbR8wm55099XgC/CdcBRfmxo7FXm+QnWF+X2F+IYYYA/lgxIWXqn1OB xpCxW1zItEiD2gwlLcWQ==; 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 1hTuQN-00056t-Qo; Thu, 23 May 2019 20:34:51 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hTuQL-00056g-IL for linux-arm-kernel@bombadil.infradead.org; Thu, 23 May 2019 20:34:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=6F200WqNI0/BjgJO5nmiRj6b4jXSOG6S1hsSZ8Q/vZ8=; b=G9vkvlekZLA8i2Pcn2c3KmHbO /MSvL5xOPeVakPhkzNe8IMZg1F/pSGe7e5H9bOJyJSj61xQnnbFboKqWh5m6kguRQ+AEhO6a22LeX igZVfcwEIEYj35G09cWuRv3Z4aqdPsePdqvzCiOCdaLId5v5BeT5cfZsDu+dRqM0JPDsgrN+icdzy PVHed6iEMuxDLSCGlcKfIhdmCoZmgYhqyrrra0LujFmgteUUSNJ4govSA51RYe5IRC5bd4QOVQq7K NDrZN6O+ujuBs93mb3QsTyIUXvbzmw9IR7v6WecFU8U5bXV3wAA7i9dhuJ8UBbgV+m6OUcd4GoD/H TyKVnjNfQ==; Received: from relay9-d.mail.gandi.net ([217.70.183.199]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hTuQH-0004Dp-UA for linux-arm-kernel@lists.infradead.org; Thu, 23 May 2019 20:34:47 +0000 X-Originating-IP: 90.89.68.76 Received: from localhost (lfbn-1-10718-76.w90-89.abo.wanadoo.fr [90.89.68.76]) (Authenticated sender: maxime.ripard@bootlin.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 10FE9FF806; Thu, 23 May 2019 20:34:07 +0000 (UTC) Date: Thu, 23 May 2019 22:34:07 +0200 From: Maxime Ripard To: Jagan Teki Subject: Re: [PATCH v10 01/11] drm/sun4i: dsi: Fix TCON DRQ set bits Message-ID: <20190523203407.o5obg2wtj7wwau6a@flea> References: <20190520090318.27570-1-jagan@amarulasolutions.com> <20190520090318.27570-2-jagan@amarulasolutions.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190520090318.27570-2-jagan@amarulasolutions.com> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190523_163446_175918_1DFAF2E9 X-CRM114-Status: GOOD ( 13.69 ) 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: bshah@mykolab.com, David Airlie , linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, powerpan@qq.com, Chen-Yu Tsai , Daniel Vetter , michael@amarulasolutions.com, 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 On Mon, May 20, 2019 at 02:33:08PM +0530, Jagan Teki wrote: > According to "DRM kernel-internal display mode structure" in > include/drm/drm_modes.h the current driver is trying to include > sync timings along with front porch value while checking and > computing drq set bits in non-burst mode. > > mode->hsync_end - mode->hdisplay => horizontal front porch + sync > > With adding additional sync timings, the dsi controller leads to > wrong drq set bits for "bananapi,s070wv20-ct16" panel which indeed > trigger panel flip_done timed out as: > > WARNING: CPU: 0 PID: 31 at drivers/gpu/drm/drm_atomic_helper.c:1429 drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0 > [CRTC:46:crtc-0] vblank wait timed out > Modules linked in: > CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 5.1.0-next-20190514-00026-g01f0c75b902d-dirty #13 > Hardware name: Allwinner sun8i Family > Workqueue: events deferred_probe_work_func > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0x84/0x98) > [] (dump_stack) from [] (__warn+0xfc/0x114) > [] (__warn) from [] (warn_slowpath_fmt+0x44/0x68) > [] (warn_slowpath_fmt) from [] (drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0) > [] (drm_atomic_helper_wait_for_vblanks.part.1) from [] (drm_atomic_helper_commit_tail_rpm+0x5c/0x6c) > [] (drm_atomic_helper_commit_tail_rpm) from [] (commit_tail+0x40/0x6c) > [] (commit_tail) from [] (drm_atomic_helper_commit+0xbc/0x128) > [] (drm_atomic_helper_commit) from [] (restore_fbdev_mode_atomic+0x1cc/0x1dc) > [] (restore_fbdev_mode_atomic) from [] (drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xa0) > [] (drm_fb_helper_restore_fbdev_mode_unlocked) from [] (drm_fb_helper_set_par+0x30/0x54) > [] (drm_fb_helper_set_par) from [] (fbcon_init+0x560/0x5ac) > [] (fbcon_init) from [] (visual_init+0xbc/0x104) > [] (visual_init) from [] (do_bind_con_driver+0x1b0/0x390) > [] (do_bind_con_driver) from [] (do_take_over_console+0x13c/0x1c4) > [] (do_take_over_console) from [] (do_fbcon_takeover+0x74/0xcc) > [] (do_fbcon_takeover) from [] (notifier_call_chain+0x44/0x84) > [] (notifier_call_chain) from [] (__blocking_notifier_call_chain+0x48/0x60) > [] (__blocking_notifier_call_chain) from [] (blocking_notifier_call_chain+0x18/0x20) > [] (blocking_notifier_call_chain) from [] (register_framebuffer+0x1e0/0x2f8) > [] (register_framebuffer) from [] (__drm_fb_helper_initial_config_and_unlock+0x2fc/0x50c) > [] (__drm_fb_helper_initial_config_and_unlock) from [] (drm_fbdev_client_hotplug+0xe8/0x1b8) > [] (drm_fbdev_client_hotplug) from [] (drm_fbdev_generic_setup+0x88/0x118) > [] (drm_fbdev_generic_setup) from [] (sun4i_drv_bind+0x128/0x160) > [] (sun4i_drv_bind) from [] (try_to_bring_up_master+0x164/0x1a0) > [] (try_to_bring_up_master) from [] (__component_add+0x94/0x140) > [] (__component_add) from [] (sun6i_dsi_probe+0x144/0x234) > [] (sun6i_dsi_probe) from [] (platform_drv_probe+0x48/0x9c) > [] (platform_drv_probe) from [] (really_probe+0x1dc/0x2c8) > [] (really_probe) from [] (driver_probe_device+0x60/0x160) > [] (driver_probe_device) from [] (bus_for_each_drv+0x74/0xb8) > [] (bus_for_each_drv) from [] (__device_attach+0xd0/0x13c) > [] (__device_attach) from [] (bus_probe_device+0x84/0x8c) > [] (bus_probe_device) from [] (deferred_probe_work_func+0x64/0x90) > [] (deferred_probe_work_func) from [] (process_one_work+0x204/0x420) > [] (process_one_work) from [] (worker_thread+0x274/0x5a0) > [] (worker_thread) from [] (kthread+0x11c/0x14c) > [] (kthread) from [] (ret_from_fork+0x14/0x2c) > Exception stack(0xde539fb0 to 0xde539ff8) > 9fa0: 00000000 00000000 00000000 00000000 > 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > ---[ end trace b57eb1e5c64c6b8b ]--- > random: fast init done > [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:46:crtc-0] flip_done timed out > [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:48:DSI-1] flip_done timed out > [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:30:plane-0] flip_done timed out > > But according to Allwinner A33, A64 BSP code [1] [3] the TCON DRQ for > non-burst DSI mode can be computed based on "horizontal front porch" > value only (no sync timings included). > > Detailed evidence for drq set bits based on A33 BSP [1] [2] > > => panel->lcd_ht - panel->lcd_x - panel->lcd_hbp - 20 > => (tt->hor_front_porch + lcdp->panel_info.lcd_hbp + > lcdp->panel_info.lcd_x) - panel->lcd_x - panel->lcd_hbp - 20 > => tt->hor_front_porch - 20 The thing is, while your explanation on the DRM side is sound, Allwinner has been using the hbp field of their panel description to store what DRM calls the backporch and the sync period. And nowhere in that commit log you are describing whether it's still an issue or not, and if it's not anymore how you did test that it's not the case anymore. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel