From patchwork Thu Dec 24 09:09:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inki Dae X-Patchwork-Id: 7915831 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 646D79F318 for ; Thu, 24 Dec 2015 09:11:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 85A8A20601 for ; Thu, 24 Dec 2015 09:11:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7CC9B205FE for ; Thu, 24 Dec 2015 09:11:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753384AbbLXJLH (ORCPT ); Thu, 24 Dec 2015 04:11:07 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:50027 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753254AbbLXJKH (ORCPT ); Thu, 24 Dec 2015 04:10:07 -0500 Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NZU030PTUSUIC60@mailout4.samsung.com> for linux-samsung-soc@vger.kernel.org; Thu, 24 Dec 2015 18:10:06 +0900 (KST) Received: from epcpsbgm1new.samsung.com ( [172.20.52.116]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 36.9F.04886.D66BB765; Thu, 24 Dec 2015 18:10:05 +0900 (KST) X-AuditID: cbfee690-f79646d000001316-48-567bb66d642c Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1new.samsung.com (EPCPMTA) with SMTP id 92.DE.13906.D66BB765; Thu, 24 Dec 2015 18:10:05 +0900 (KST) Received: from localhost.localdomain ([10.113.62.206]) by mmp1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0NZU00E56USNKX90@mmp1.samsung.com>; Thu, 24 Dec 2015 18:10:05 +0900 (KST) From: Inki Dae To: dri-devel@lists.freedesktop.org Cc: linux-samsung-soc@vger.kernel.org, Inki Dae Subject: [PATCH] drm/exynos: crtc: do not wait for the scanout completion Date: Thu, 24 Dec 2015 18:09:58 +0900 Message-id: <1450948198-14641-1-git-send-email-inki.dae@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCLMWRmVeSWpSXmKPExsWyRsSkRDd3W3WYwcQJ1hZXvr5ns5h0fwKL xYzz+5gcmD3udx9n8ujbsorR4/MmuQDmKC6blNSczLLUIn27BK6MU/8bmArOi1csXi7ZwDhD pIuRk0NCwETi7NcvbBC2mMSFe+uBbC4OIYEVjBJzj59hhil6Nf0EI0RiKaPExJfHwBJCAj8Y JTbtZQWx2QRUJSauuA82SURAWeLvxFWMIDazgJvE4tPLWUBsYQFPiZsbF4LZLED1m9ffArN5 BVwkHm3pZ4VYJidx8thkVpBlEgLX2SRWzuxjh2gQkPg2+RBQAwdQQlZi0wGo4yQlDq64wTKB UXABI8MqRtHUguSC4qT0IhO94sTc4tK8dL3k/NxNjMDAO/3v2YQdjPcOWB9iFOBgVOLhlbhV FSbEmlhWXJl7iNEUaMNEZinR5HxgeOeVxBsamxlZmJqYGhuZW5opifO+lvoZLCSQnliSmp2a WpBaFF9UmpNafIiRiYNTqoGRMevk+W6JuaGXfmta7/zzwLGNifHBpA9mYq1fN2Sy3Z/8dsmk LC3b4s47d2abLrBIvCo25QHP2/w/P73vmp788GlO2bS22RcmWd8OL1a+KhW/q7JEbN4UtmyL htm8rrOYlp5cvDrxhtqFE1qOi02eBpRpcDN+uKltaRyy7eipXaEXGr8tOJt9S4mlOCPRUIu5 qDgRAOkio0A3AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrILMWRmVeSWpSXmKPExsVy+t9jAd3cbdVhBtu2GFtc+fqezWLS/Qks FjPO72NyYPa4332cyaNvyypGj8+b5AKYoxoYbTJSE1NSixRS85LzUzLz0m2VvIPjneNNzQwM dQ0tLcyVFPISc1NtlVx8AnTdMnOANikplCXmlAKFAhKLi5X07TBNCA1x07WAaYzQ9Q0Jgusx MkADCWsYM079b2AqOC9esXi5ZAPjDJEuRk4OCQETiVfTTzBC2GISF+6tZ+ti5OIQEljKKDHx 5TFmkISQwA9GiU17WUFsNgFViYkr7rOB2CICyhJ/J64Ca2YWcJNYfHo5C4gtLOApcXPjQjCb Bah+8/pbYDavgIvEoy39rBDL5CROHpvMOoGRewEjwypGidSC5ILipPRcw7zUcr3ixNzi0rx0 veT83E2M4OB+JrWD8eAu90OMAhyMSjy8EreqwoRYE8uKK3MPMUpwMCuJ8P7YVB0mxJuSWFmV WpQfX1Sak1p8iNEU6ICJzFKiyfnAyMsriTc0NjEzsjQyN7QwMjZXEuetvRQZJiSQnliSmp2a WpBaBNPHxMEp1cA4K1ej9vwkneCSKWa915cImrw8t+Vv2/1lzCcjDjV/fnXu2d6dk94sSbwX r/pVQcBi9tk4+XXX4rLOtwZprPjax/nqV0e5dpbzpDCJw5tKX5Wde3fX5Ni9hX0BC8QeL7Oe mZO9R+m6vapPJpPVQuNpL8QqGdMXz6w5/uLvkzc32S8zbrn2KmWnvhJLcUaioRZzUXEiAMSi X82EAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, 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 This patch removes exynos_drm_crtc_complete_scanout function call which makes sure for overlay data to be updated to real hardware when drm driver is released. With atomic modeset support, it doesn't need the function anymore because atomic modeset interface makes sure that. Signed-off-by: Inki Dae --- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 23 ----------------------- drivers/gpu/drm/exynos/exynos_drm_crtc.h | 1 - drivers/gpu/drm/exynos/exynos_drm_fb.c | 3 --- 3 files changed, 27 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index 9d30a0f..81cfff5 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -212,29 +212,6 @@ void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc, spin_unlock_irqrestore(&crtc->dev->event_lock, flags); } -void exynos_drm_crtc_complete_scanout(struct drm_framebuffer *fb) -{ - struct exynos_drm_crtc *exynos_crtc; - struct drm_device *dev = fb->dev; - struct drm_crtc *crtc; - - /* - * make sure that overlay data are updated to real hardware - * for all encoders. - */ - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { - exynos_crtc = to_exynos_crtc(crtc); - - /* - * wait for vblank interrupt - * - this makes sure that overlay data are updated to - * real hardware. - */ - if (exynos_crtc->ops->wait_for_vblank) - exynos_crtc->ops->wait_for_vblank(exynos_crtc); - } -} - int exynos_drm_crtc_get_pipe_from_type(struct drm_device *drm_dev, enum exynos_drm_output_type out_type) { diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.h b/drivers/gpu/drm/exynos/exynos_drm_crtc.h index f9f365b..6a581a8 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.h +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.h @@ -28,7 +28,6 @@ void exynos_drm_crtc_disable_vblank(struct drm_device *dev, unsigned int pipe); void exynos_drm_crtc_wait_pending_update(struct exynos_drm_crtc *exynos_crtc); void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc, struct exynos_drm_plane *exynos_plane); -void exynos_drm_crtc_complete_scanout(struct drm_framebuffer *fb); /* This function gets pipe value to crtc device matched with out_type. */ int exynos_drm_crtc_get_pipe_from_type(struct drm_device *drm_dev, diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c index f6bdb0d..db77d83 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fb.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c @@ -71,9 +71,6 @@ static void exynos_drm_fb_destroy(struct drm_framebuffer *fb) struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb); unsigned int i; - /* make sure that overlay data are updated before relesing fb. */ - exynos_drm_crtc_complete_scanout(fb); - drm_framebuffer_cleanup(fb); for (i = 0; i < ARRAY_SIZE(exynos_fb->exynos_gem); i++) {