From patchwork Fri Oct 5 02:50:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inki Dae X-Patchwork-Id: 10627289 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 072D614BD for ; Fri, 5 Oct 2018 02:50:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD9E029599 for ; Fri, 5 Oct 2018 02:50:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D1BE529563; Fri, 5 Oct 2018 02:50:31 +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=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B42E7295B3 for ; Fri, 5 Oct 2018 02:50:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727063AbeJEJrF (ORCPT ); Fri, 5 Oct 2018 05:47:05 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:17855 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727042AbeJEJrF (ORCPT ); Fri, 5 Oct 2018 05:47:05 -0400 Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20181005025027epoutp03b5d9164d73580ba32242d83199dfed10~alp3EdZ9b1216812168epoutp03S; Fri, 5 Oct 2018 02:50:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20181005025027epoutp03b5d9164d73580ba32242d83199dfed10~alp3EdZ9b1216812168epoutp03S DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1538707827; bh=lpZGLY4+bSU3rxgXgKJva5nWlWmczIjCpdfo8/M6zDQ=; h=From:To:Cc:Subject:Date:References:From; b=rD6BXg/SzvYxreMSz3zocbAFmAez8Mas7JG9PBuknOqaPz3R0Y/9ZHHtDVBxh3v9A +rtoYP9bVh4Kd8M7dgJsbKvoqFHhLCrG2yHQarKLKY4Uk6gQ3UH9VkBALHMqiouJss 6tBYxvcYnYJc4/324ExVh2+TATxY1/jrZau4BSww= Received: from epsmges2p2.samsung.com (unknown [182.195.40.156]) by epcas1p4.samsung.com (KnoxPortal) with ESMTP id 20181005025023epcas1p42faa62c3b8d19dfecf820c7f46638152~alpzpJV-A1207912079epcas1p4k; Fri, 5 Oct 2018 02:50:23 +0000 (GMT) Received: from epcas2p1.samsung.com ( [182.195.41.53]) by epsmges2p2.samsung.com (Symantec Messaging Gateway) with SMTP id 56.43.04077.F61D6BB5; Fri, 5 Oct 2018 11:50:23 +0900 (KST) Received: from epsmgms2p2new.samsung.com (unknown [182.195.42.143]) by epcas2p1.samsung.com (KnoxPortal) with ESMTP id 20181005025023epcas2p165ff162ffc86c7aaa58a85184e5dee85~alpzWwJJO0505005050epcas2p1X; Fri, 5 Oct 2018 02:50:23 +0000 (GMT) X-AuditID: b6c32a46-45dff70000000fed-42-5bb6d16fa0d5 Received: from epmmp1.local.host ( [203.254.227.16]) by epsmgms2p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 62.68.03633.E61D6BB5; Fri, 5 Oct 2018 11:50:22 +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 <0PG3008BGUJYGJA0@mmp1.samsung.com>; Fri, 05 Oct 2018 11:50:22 +0900 (KST) From: Inki Dae To: dri-devel@lists.freedesktop.org Cc: linux-samsung-soc@vger.kernel.org, Inki Dae Subject: [PATCH] Revert "drm/exynos/decon5433: implement frame counter" Date: Fri, 05 Oct 2018 11:50:20 +0900 Message-id: <1538707820-3103-1-git-send-email-inki.dae@samsung.com> X-Mailer: git-send-email 2.7.4 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBIsWRmVeSWpSXmKPExsWy7bCmqW7+xW3RBu87BC2ufH3PZjHp/gQW ixnn9zE5MHvc7z7O5NG3ZRWjx+dNcgHMUdk2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6 hpYW5koKeYm5qbZKLj4Bum6ZOUCLlBTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2SqkFKTkF lgV6xYm5xaV56XrJ+blWhgYGRqZAhQnZGTv7agtOy1dsWbKNtYGxX7qLkZNDQsBE4trE1Sxd jFwcQgI7GCWW7J/KCuF8Z5Q4PO0hG0zVjVuvoBK7GSUmzm6GavnBKDGn7wUTSBWbgKrExBX3 wTpEBJQl/k5cxQhiMwu4SSw+vZwFxBYWcJc4fnMfWJwFqL753Up2EJtXwFmi9047I8Q2OYmb 5zqZQRZICBxklfjRvYQVIuEiMevEUmYIW1ji1fEt7BC2tMSzVRsZIRraGSV+/tkENamHUWL5 ngwI21ji2cIuJoiL+CQ6Dv8FauYAivNKdLQJQZR4SCy81wf2gJBArMTr7nuMExglFjAyrGIU Sy0ozk1PLTYqMEIO3k2M4FjXctvBuOSczyFGAQ5GJR7eCYrbooVYE8uKK3MPMUpwMCuJ8IaX AIV4UxIrq1KL8uOLSnNSiw8xmgLDYCKzlGhyPjAN5ZXEG5oaGRsbW5iaWxobWCqJ8z6Unhst JJCeWJKanZpakFoE08fEwSnVwGjAGf/h0+RL7bOvyXsW9z79o6UttfzSB/VOydPnb4q2XYp+ XCBV9OCod7JBZOBHDjlbgffHnZbpCuhsPBDeodu+Q3TKVtv/s1q1fHyP8rF7fzLrUim5r5cv sTAu5+e71bd8bloUnPumUTmlwP6wvVV/atr/vz/TGxuLFeua4+4FsVW7G6tHK7EUZyQaajEX FScCAAcWTnQLAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKJMWRmVeSWpSXmKPExsVy+t9jAd28i9uiDXoOW1tc+fqezWLS/Qks FjPO72NyYPa4332cyaNvyypGj8+b5AKYo7hsUlJzMstSi/TtErgydvbVFpyWr9iyZBtrA2O/ dBcjJ4eEgInEjVuvWLsYuTiEBHYySjxYdp8ZwvnBKDFlwVw2kCo2AVWJiSvug9kiAsoSfyeu YgSxmQXcJBafXs4CYgsLuEscv7kPLM4CVN/8biU7iM0r4CzRe6edEWKbnMTNc53MExi5FjAy rGKUTC0ozk3PLTYqMMpLLdcrTswtLs1L10vOz93ECPTstsNa/TsYHy+JP8QowMGoxMP7Qnlb tBBrYllxZe4hRgkOZiUR3vASoBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXFe/vxjkUIC6Yklqdmp qQWpRTBZJg5OqQbGsOs87H+iFmc/Pfm+2vdtY1TXx60LmOI7rqVUKkccFLCzXRi60C5m+iq/ t6qb5hnxFxyf2Tl/b9qFi5VitzfPufDl09WLB/YIZ+k17s3yjlLIePlg9gRPNkEOsVxvbq0o 5uMCy/8eZTGbnspk+H6Gyirdlb/s/8vnpM9fpqXNuVLOTW3W9b8xSizFGYmGWsxFxYkAWN2z QOgBAAA= X-CMS-MailID: 20181005025023epcas2p165ff162ffc86c7aaa58a85184e5dee85 X-Msg-Generator: CA CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20181005025023epcas2p165ff162ffc86c7aaa58a85184e5dee85 References: Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This reverts commit 0586feba322e1de05075700eb4b835c8b683e62b This patch makes it to need get_vblank_counter callback in crtc to get frame counter from decon driver. However, drm_dev->max_vblank_count is a member unique to vendor's DRM driver but in case of ARM DRM, some CRTC devices don't provide the frame counter value. As a result, this patch made extension and clone mode not working. Instead of this patch, we may need separated max_vblank_count which belongs to each CRTC device, or need to implement frame counter emulation for them who don't support HW frame counter. Signed-off-by: Inki Dae --- drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 9 --------- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 11 ----------- drivers/gpu/drm/exynos/exynos_drm_drv.h | 1 - 3 files changed, 21 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c index 94529aa..aef487d 100644 --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c @@ -164,13 +164,6 @@ static u32 decon_get_frame_count(struct decon_context *ctx, bool end) return frm; } -static u32 decon_get_vblank_counter(struct exynos_drm_crtc *crtc) -{ - struct decon_context *ctx = crtc->ctx; - - return decon_get_frame_count(ctx, false); -} - static void decon_setup_trigger(struct decon_context *ctx) { if (!ctx->crtc->i80_mode && !(ctx->out_type & I80_HW_TRG)) @@ -536,7 +529,6 @@ static const struct exynos_drm_crtc_ops decon_crtc_ops = { .disable = decon_disable, .enable_vblank = decon_enable_vblank, .disable_vblank = decon_disable_vblank, - .get_vblank_counter = decon_get_vblank_counter, .atomic_begin = decon_atomic_begin, .update_plane = decon_update_plane, .disable_plane = decon_disable_plane, @@ -554,7 +546,6 @@ static int decon_bind(struct device *dev, struct device *master, void *data) int ret; ctx->drm_dev = drm_dev; - drm_dev->max_vblank_count = 0xffffffff; for (win = ctx->first_win; win < WINDOWS_NR; win++) { ctx->configs[win].pixel_formats = decon_formats; diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index eea9025..2696289 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -162,16 +162,6 @@ static void exynos_drm_crtc_disable_vblank(struct drm_crtc *crtc) exynos_crtc->ops->disable_vblank(exynos_crtc); } -static u32 exynos_drm_crtc_get_vblank_counter(struct drm_crtc *crtc) -{ - struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); - - if (exynos_crtc->ops->get_vblank_counter) - return exynos_crtc->ops->get_vblank_counter(exynos_crtc); - - return 0; -} - static const struct drm_crtc_funcs exynos_crtc_funcs = { .set_config = drm_atomic_helper_set_config, .page_flip = drm_atomic_helper_page_flip, @@ -181,7 +171,6 @@ static const struct drm_crtc_funcs exynos_crtc_funcs = { .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, .enable_vblank = exynos_drm_crtc_enable_vblank, .disable_vblank = exynos_drm_crtc_disable_vblank, - .get_vblank_counter = exynos_drm_crtc_get_vblank_counter, }; struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h index ec9604f..5e61e70 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h @@ -135,7 +135,6 @@ struct exynos_drm_crtc_ops { void (*disable)(struct exynos_drm_crtc *crtc); int (*enable_vblank)(struct exynos_drm_crtc *crtc); void (*disable_vblank)(struct exynos_drm_crtc *crtc); - u32 (*get_vblank_counter)(struct exynos_drm_crtc *crtc); enum drm_mode_status (*mode_valid)(struct exynos_drm_crtc *crtc, const struct drm_display_mode *mode); bool (*mode_fixup)(struct exynos_drm_crtc *crtc,