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: 9350447 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 7A8C7601C2 for ; Mon, 26 Sep 2016 10:24:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6B57528B7D for ; Mon, 26 Sep 2016 10:24:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5FACC28B81; Mon, 26 Sep 2016 10:24:04 +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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id EE0E428B7D for ; Mon, 26 Sep 2016 10:24:03 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1boT36-0004Kr-EK; Mon, 26 Sep 2016 10:22:12 +0000 Received: from mail-pf0-x242.google.com ([2607:f8b0:400e:c00::242]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1boT30-0004HA-GL for linux-arm-kernel@lists.infradead.org; Mon, 26 Sep 2016 10:22:07 +0000 Received: by mail-pf0-x242.google.com with SMTP id n24so8939558pfb.3 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=IJLq0GrmbmmPZzdlsgW7giJyaJOSXBBbmemLS9YHhoJ5S5yew8MBH5ButqR59t8Hzw ukj9eGp+cYleVHjxgZi0/boDR6RrNpl4B5gqMNvBWK5rNSg3D/Ndq9X0VuzDM8yGv+4u 6BKyF0JDpjom/AyNmeiTV0rjH6LrHUSGlPGMcAGGvwqHdzz9tCEr9QBRpv1otlRPi+MW wVdNN4Xxx0X+XZh5K7vhUMmSPEN99lMDs8a4JFngztnfEIhfaDmIq4tpPyR4wjL604bw D8hO1k6+rwqm5Vn5/TklzO82sEt+SEgV+b9vjXSDD1X9W9xiTRL/EbgcQx3/nfWrEC2r aylQ== X-Gm-Message-State: AE9vXwPJj0hiLxSDCXf9DP/tGNVk4Wyf4wNBc1J97gfga+qglu1QSeMfLtE0Pgw8GF5rFA== 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-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160926_032206_618820_42B2D90D X-CRM114-Status: GOOD ( 11.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jonathan Liu , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Chen-Yu Tsai , Thierry Reding , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org 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,