From patchwork Mon Sep 26 10:21:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Liu X-Patchwork-Id: 9350819 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 86E156077A for ; Mon, 26 Sep 2016 15:03:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7809628ABC for ; Mon, 26 Sep 2016 15:03:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6BECF28B14; Mon, 26 Sep 2016 15:03:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 5387728ABC for ; Mon, 26 Sep 2016 15:03:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AD7216E50E; Mon, 26 Sep 2016 15:03:03 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 63DA66E441 for ; Mon, 26 Sep 2016 10:21:45 +0000 (UTC) Received: by mail-pf0-x241.google.com with SMTP id 6so8947952pfl.2 for ; Mon, 26 Sep 2016 03:21:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=b3/zRGF/Q5vpm0TFQMeuFrhajvNpv7e5zfxeI3qHta0=; b=x+K6qX1qXpGrChVo/jLsuENTBf40yQ96TV7rI71S90FEELGjkSzY53PfxwcZ0uJnXG Nfr8ubvOvohIYAKnTaMv+UZf+4BQx6mJZHycWcPLiaf/iy6bQzxefFVmZ+jYsQK7GXq4 ye8KLVU+cd8ZNr43YO1WpziA2DpENU0mDkZv5hCL2rHTxFjuWvDOAvcqvGLzAK/S4pHI KQ05ASK1a9HwBBqdzgELdcve0Rco86Rc1chsXAKDPDhj8YsALFtrUgRxzIH0S+kSziDB wYvvsEgjVZjksRKQ+tUFLW3RsRFto7QkG8l+owYWtZYcHnaIjOHHtozeMrBbhDO+izfP 87AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=b3/zRGF/Q5vpm0TFQMeuFrhajvNpv7e5zfxeI3qHta0=; b=O4wCVomxvP3eDQ/FM3R+p1ZcqBR98ZMiV0rr7q2CAWura3gjavX+pYsJ8liqf0QPx2 vlvosdb6TWjIvK0UsaGEvT6ze2ScsDZdhQ19Lmu9s1ixIms/M+AEjhJISThwTBYy3s9f jeERLtsp0dcs60ktMENMYLVK0uAzz01CK4UDlGurGgd2h70TNjpnHO5sjJrtwHFDEO9d p25lOVnZZWYl1HJh8y2kl7I3RpHDIChPQBqIFRadr/B7T2sFOC9GD7q+ytf6QRBTo277 v1kT0C3u3lmeqHMEe6p2Ktj+MIU801uyUwjDCzoIqo2vI6Av6KbOmMzT0AUm8eszubCP 8IyQ== X-Gm-Message-State: AE9vXwOhlZNIPLXjdjV4oS4YsreZNINTJkD4DD4MugmjEjFLnSnlNrqbB9r1GJfkJfvIzQ== X-Received: by 10.98.198.70 with SMTP id m67mr37202450pfg.34.1474885305059; Mon, 26 Sep 2016 03:21:45 -0700 (PDT) Received: from 60-242-179-244.static.tpgi.com.au (60-242-179-244.static.tpgi.com.au. [60.242.179.244]) by smtp.gmail.com with ESMTPSA id x9sm29851650pff.19.2016.09.26.03.21.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Sep 2016 03:21:44 -0700 (PDT) From: Jonathan Liu To: Maxime Ripard Subject: [PATCH][v2] drm/sun4i: rgb: Enable panel after controller Date: Mon, 26 Sep 2016 20:21:45 +1000 Message-Id: <20160926102146.19129-1-net147@gmail.com> X-Mailer: git-send-email 2.10.0 X-Mailman-Approved-At: Mon, 26 Sep 2016 15:01:57 +0000 Cc: Jonathan Liu , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Chen-Yu Tsai , Thierry Reding , linux-arm-kernel@lists.infradead.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP The panel should be enabled after the controller so that we do not have visual glitches on the panel while the controller is setup. Similarly, the panel should be disabled before the controller. Signed-off-by: Jonathan Liu Reviewed-by: Sean Paul --- Changes in v2: - Changed the commit message to be clearer drivers/gpu/drm/sun4i/sun4i_rgb.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index c3ff10f..4e4bea6 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c @@ -152,15 +152,16 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder) DRM_DEBUG_DRIVER("Enabling RGB output\n"); - if (!IS_ERR(tcon->panel)) { + if (!IS_ERR(tcon->panel)) drm_panel_prepare(tcon->panel); - drm_panel_enable(tcon->panel); - } /* encoder->bridge can be NULL; drm_bridge_enable checks for it */ drm_bridge_enable(encoder->bridge); sun4i_tcon_channel_enable(tcon, 0); + + if (!IS_ERR(tcon->panel)) + drm_panel_enable(tcon->panel); } static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder) @@ -171,15 +172,16 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder) DRM_DEBUG_DRIVER("Disabling RGB output\n"); + if (!IS_ERR(tcon->panel)) + drm_panel_disable(tcon->panel); + sun4i_tcon_channel_disable(tcon, 0); /* encoder->bridge can be NULL; drm_bridge_disable checks for it */ drm_bridge_disable(encoder->bridge); - if (!IS_ERR(tcon->panel)) { - drm_panel_disable(tcon->panel); + if (!IS_ERR(tcon->panel)) drm_panel_unprepare(tcon->panel); - } } static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder,