From patchwork Fri Apr 29 13:42:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 8982551 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 1FBBABF29F for ; Fri, 29 Apr 2016 13:43:19 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8076F20218 for ; Fri, 29 Apr 2016 13:43:14 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id A9AD9201CE for ; Fri, 29 Apr 2016 13:43:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 39C966EF8C; Fri, 29 Apr 2016 13:43:10 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout4.w1.samsung.com (mailout4.w1.samsung.com [210.118.77.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 469AA6EF8C for ; Fri, 29 Apr 2016 13:43:07 +0000 (UTC) Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O6E00J83E3RUJC0@mailout4.w1.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 29 Apr 2016 14:43:03 +0100 (BST) X-AuditID: cbfec7f4-f796c6d000001486-59-572364e6aa31 Received: from eusync1.samsung.com ( [203.254.199.211]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id A7.AC.05254.6E463275; Fri, 29 Apr 2016 14:43:02 +0100 (BST) Received: from amdc1061.digital.local ([106.116.147.88]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0O6E00HVME3PG680@eusync1.samsung.com>; Fri, 29 Apr 2016 14:43:02 +0100 (BST) From: Andrzej Hajda To: inki.dae@samsung.com Subject: [PATCH 3/3] drm/exynos/decon5433: fix trigger configuration Date: Fri, 29 Apr 2016 15:42:49 +0200 Message-id: <1461937369-22994-3-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1461937369-22994-1-git-send-email-a.hajda@samsung.com> References: <1461937369-22994-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNJMWRmVeSWpSXmKPExsVy+t/xy7rPUpTDDdb36lvcWneO1WLjjPWs Fle+vmezmHR/AovF2iN32R1YPe53H2fy6NuyijGAKYrLJiU1J7MstUjfLoEr4/3z86wFL/kq Ls68w9jAuJini5GTQ0LAROJT6y5mCFtM4sK99WxdjFwcQgJLGSUeH57PAuE0MUlc+zmdFaSK TUBT4u/mm2wgtoiAhMTMVxeZQIqYBdYzSmyYcpuxi5GDQ1jARWLnVk2QGhYBVYlfLa/ANvAK OEtMf9jOCLFNTuLkscmsIOWcQOU3ulVAwkJAJds72pknMPIuYGRYxSiaWppcUJyUnmuoV5yY W1yal66XnJ+7iRESJF92MC4+ZnWIUYCDUYmHd8Y9pXAh1sSy4srcQ4wSHMxKIrzZycrhQrwp iZVVqUX58UWlOanFhxilOViUxHnn7nofIiSQnliSmp2aWpBaBJNl4uCUamAMlpon4BCUE1o2 W9z21suJ+eXnv7633Pos0klh4VK/Tu/ySLXL+locT+4vm7DIgtXGiItj+987Xp2R+iec8+Qy bL+a1xf6pTbIrDiWINaT8Wxi/q4Xibnq+WdvZR5cGK1xj+G15kqtoi15ErtyNPJun/7uEn/x 7lN5+0+9FsEnVd9+5AiwaVRiKc5INNRiLipOBAC0LF7JDgIAAA== Cc: Andrzej Hajda , Marek Szyprowski , dri-devel@lists.freedesktop.org, Bartlomiej Zolnierkiewicz 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-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP It seems trigger cannot be configured too early, otherwise it does not work in case of panel. The patch fixes also trigger flag logic, previously HW-TRIGGER flag was cleared in case of panel - as a result panel used always software trigger. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c index 7b4f699..9ae913b 100644 --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c @@ -151,11 +151,13 @@ static void decon_commit(struct exynos_drm_crtc *crtc) val = CMU_CLKGAGE_MODE_SFR_F | CMU_CLKGAGE_MODE_MEM_F; writel(val, ctx->addr + DECON_CMU); + if (ctx->out_type & (IFTYPE_I80 | I80_HW_TRG)) + decon_setup_trigger(ctx); + /* lcd on and use command if */ val = VIDOUT_LCD_ON; if (ctx->out_type & IFTYPE_I80) { val |= VIDOUT_COMMAND_IF; - decon_setup_trigger(ctx); } else { val |= VIDOUT_RGB_IF; } @@ -380,9 +382,6 @@ static void decon_swreset(struct decon_context *ctx) writel(VIDCON1_VCLK_RUN_VDEN_DISABLE, ctx->addr + DECON_VIDCON1); writel(CRCCTRL_CRCEN | CRCCTRL_CRCSTART_F | CRCCTRL_CRCCLKEN, ctx->addr + DECON_CRCCTRL); - - if (ctx->out_type & IFTYPE_I80) - decon_setup_trigger(ctx); } static void decon_enable(struct exynos_drm_crtc *crtc) @@ -652,9 +651,8 @@ static int exynos5433_decon_probe(struct platform_device *pdev) if (ctx->out_type & IFTYPE_HDMI) { ctx->first_win = 1; - ctx->out_type = IFTYPE_I80; } else if (of_get_child_by_name(dev->of_node, "i80-if-timings")) { - ctx->out_type = IFTYPE_I80; + ctx->out_type |= IFTYPE_I80; } for (i = 0; i < ARRAY_SIZE(decon_clks_name); i++) {