From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 4.18 26/59] Revert "drm/exynos/decon5433: implement frame counter" Date: Wed, 14 Nov 2018 17:22:58 -0500 Message-ID: <20181114222335.99339-26-sashal@kernel.org> References: <20181114222335.99339-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB0056E031 for ; Wed, 14 Nov 2018 22:24:21 +0000 (UTC) In-Reply-To: <20181114222335.99339-1-sashal@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Sasha Levin , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1bmcuY29tPgoKWyBVcHN0cmVhbSBjb21taXQg NmNhNDY5ZTIyYTMwOTkyYjQ0NzhkMmFiODg3MzdjNzA2NjdjMWUwMCBdCgpUaGlzIHJldmVydHMg Y29tbWl0IDA1ODZmZWJhMzIyZTFkZTA1MDc1NzAwZWI0YjgzNWM4YjY4M2U2MmIKClRoaXMgcGF0 Y2ggbWFrZXMgaXQgdG8gbmVlZCBnZXRfdmJsYW5rX2NvdW50ZXIgY2FsbGJhY2sgaW4gY3J0Ywp0 byBnZXQgZnJhbWUgY291bnRlciBmcm9tIGRlY29uIGRyaXZlci4KCkhvd2V2ZXIsIGRybV9kZXYt Pm1heF92YmxhbmtfY291bnQgaXMgYSBtZW1iZXIgdW5pcXVlIHRvCnZlbmRvcidzIERSTSBkcml2 ZXIgYnV0IGluIGNhc2Ugb2YgQVJNIERSTSwgc29tZSBDUlRDIGRldmljZXMKZG9uJ3QgcHJvdmlk ZSB0aGUgZnJhbWUgY291bnRlciB2YWx1ZS4gQXMgYSByZXN1bHQsIHRoaXMgcGF0Y2gKbWFkZSBl eHRlbnNpb24gYW5kIGNsb25lIG1vZGUgbm90IHdvcmtpbmcuCgpJbnN0ZWFkIG9mIHRoaXMgcGF0 Y2gsIHdlIG1heSBuZWVkIHNlcGFyYXRlZCBtYXhfdmJsYW5rX2NvdW50CndoaWNoIGJlbG9uZ3Mg dG8gZWFjaCBDUlRDIGRldmljZSwgb3IgbmVlZCB0byBpbXBsZW1lbnQgZnJhbWUKY291bnRlciBl bXVsYXRpb24gZm9yIHRoZW0gd2hvIGRvbid0IHN1cHBvcnQgSFcgZnJhbWUgY291bnRlci4KClNp Z25lZC1vZmYtYnk6IElua2kgRGFlIDxpbmtpLmRhZUBzYW1zdW5nLmNvbT4KU2lnbmVkLW9mZi1i eTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYyB8ICA5IC0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYyAgICAgIHwgMTEgLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaCAgICAgICB8ICAxIC0KIDMgZmlsZXMg Y2hhbmdlZCwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3M1NDMzX2RybV9kZWNvbi5jCmluZGV4IGU4Njg3NzNlYTUwOS4uMTBiMjc2MzUzMDA0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jCkBAIC0xNjQs MTMgKzE2NCw2IEBAIHN0YXRpYyB1MzIgZGVjb25fZ2V0X2ZyYW1lX2NvdW50KHN0cnVjdCBkZWNv bl9jb250ZXh0ICpjdHgsIGJvb2wgZW5kKQogCXJldHVybiBmcm07CiB9CiAKLXN0YXRpYyB1MzIg ZGVjb25fZ2V0X3ZibGFua19jb3VudGVyKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCi17 Ci0Jc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKLQotCXJldHVybiBkZWNv bl9nZXRfZnJhbWVfY291bnQoY3R4LCBmYWxzZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIGRlY29uX3Nl dHVwX3RyaWdnZXIoc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCkKIHsKIAlpZiAoIWN0eC0+Y3J0 Yy0+aTgwX21vZGUgJiYgIShjdHgtPm91dF90eXBlICYgSTgwX0hXX1RSRykpCkBAIC01MzYsNyAr NTI5LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHlub3NfZHJtX2NydGNfb3BzIGRlY29uX2Ny dGNfb3BzID0gewogCS5kaXNhYmxlCQk9IGRlY29uX2Rpc2FibGUsCiAJLmVuYWJsZV92YmxhbmsJ CT0gZGVjb25fZW5hYmxlX3ZibGFuaywKIAkuZGlzYWJsZV92YmxhbmsJCT0gZGVjb25fZGlzYWJs ZV92YmxhbmssCi0JLmdldF92YmxhbmtfY291bnRlcgk9IGRlY29uX2dldF92YmxhbmtfY291bnRl ciwKIAkuYXRvbWljX2JlZ2luCQk9IGRlY29uX2F0b21pY19iZWdpbiwKIAkudXBkYXRlX3BsYW5l CQk9IGRlY29uX3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZQkJPSBkZWNvbl9kaXNhYmxl X3BsYW5lLApAQCAtNTU0LDcgKzU0Niw2IEBAIHN0YXRpYyBpbnQgZGVjb25fYmluZChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAlpbnQgcmV0 OwogCiAJY3R4LT5kcm1fZGV2ID0gZHJtX2RldjsKLQlkcm1fZGV2LT5tYXhfdmJsYW5rX2NvdW50 ID0gMHhmZmZmZmZmZjsKIAogCWZvciAod2luID0gY3R4LT5maXJzdF93aW47IHdpbiA8IFdJTkRP V1NfTlI7IHdpbisrKSB7CiAJCWN0eC0+Y29uZmlnc1t3aW5dLnBpeGVsX2Zvcm1hdHMgPSBkZWNv bl9mb3JtYXRzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmMKaW5kZXgg ZWVhOTAyNTE4MDhmLi4yNjk2Mjg5ZWNjNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2NydGMuYwpAQCAtMTYyLDE2ICsxNjIsNiBAQCBzdGF0aWMgdm9pZCBleHlub3NfZHJt X2NydGNfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlleHlub3NfY3J0 Yy0+b3BzLT5kaXNhYmxlX3ZibGFuayhleHlub3NfY3J0Yyk7CiB9CiAKLXN0YXRpYyB1MzIgZXh5 bm9zX2RybV9jcnRjX2dldF92YmxhbmtfY291bnRlcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17 Ci0Jc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqZXh5bm9zX2NydGMgPSB0b19leHlub3NfY3J0Yyhj cnRjKTsKLQotCWlmIChleHlub3NfY3J0Yy0+b3BzLT5nZXRfdmJsYW5rX2NvdW50ZXIpCi0JCXJl dHVybiBleHlub3NfY3J0Yy0+b3BzLT5nZXRfdmJsYW5rX2NvdW50ZXIoZXh5bm9zX2NydGMpOwot Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgZXh5 bm9zX2NydGNfZnVuY3MgPSB7CiAJLnNldF9jb25maWcJPSBkcm1fYXRvbWljX2hlbHBlcl9zZXRf Y29uZmlnLAogCS5wYWdlX2ZsaXAJPSBkcm1fYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXAsCkBAIC0x ODEsNyArMTcxLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBleHlub3Nf Y3J0Y19mdW5jcyA9IHsKIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBl cl9jcnRjX2Rlc3Ryb3lfc3RhdGUsCiAJLmVuYWJsZV92YmxhbmsgPSBleHlub3NfZHJtX2NydGNf ZW5hYmxlX3ZibGFuaywKIAkuZGlzYWJsZV92YmxhbmsgPSBleHlub3NfZHJtX2NydGNfZGlzYWJs ZV92YmxhbmssCi0JLmdldF92YmxhbmtfY291bnRlciA9IGV4eW5vc19kcm1fY3J0Y19nZXRfdmJs YW5rX2NvdW50ZXIsCiB9OwogCiBzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpleHlub3NfZHJtX2Ny dGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfZHJtX2Rydi5oCmluZGV4IDBmNmQwNzlhNTVjOS4uNDZkNjU5ZmQxNzAzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5oCkBAIC0xMzMsNyArMTMzLDYgQEAg c3RydWN0IGV4eW5vc19kcm1fY3J0Y19vcHMgewogCXZvaWQgKCpkaXNhYmxlKShzdHJ1Y3QgZXh5 bm9zX2RybV9jcnRjICpjcnRjKTsKIAlpbnQgKCplbmFibGVfdmJsYW5rKShzdHJ1Y3QgZXh5bm9z X2RybV9jcnRjICpjcnRjKTsKIAl2b2lkICgqZGlzYWJsZV92YmxhbmspKHN0cnVjdCBleHlub3Nf ZHJtX2NydGMgKmNydGMpOwotCXUzMiAoKmdldF92YmxhbmtfY291bnRlcikoc3RydWN0IGV4eW5v c19kcm1fY3J0YyAqY3J0Yyk7CiAJZW51bSBkcm1fbW9kZV9zdGF0dXMgKCptb2RlX3ZhbGlkKShz dHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAogCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSk7CiAJYm9vbCAoKm1vZGVfZml4dXApKHN0cnVjdCBleHlub3NfZHJtX2NydGMg KmNydGMsCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 558EFC43610 for ; Wed, 14 Nov 2018 22:37:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1DB832175B for ; Wed, 14 Nov 2018 22:37:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="EfxPyD58" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1DB832175B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388563AbeKOIm0 (ORCPT ); Thu, 15 Nov 2018 03:42:26 -0500 Received: from mail.kernel.org ([198.145.29.99]:36268 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388285AbeKOI30 (ORCPT ); Thu, 15 Nov 2018 03:29:26 -0500 Received: from sasha-vm.mshome.net (unknown [64.114.255.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8DC1F2252B; Wed, 14 Nov 2018 22:24:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542234261; bh=jCkQ/NI813++FSrvW44CuBWwtEFEu9t6E1eE/91zcSk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EfxPyD581iUysEu+Fkgf0QVOGjhjwaL0Gtq5WlyPEYMjVX33giSqgoXlwqsBC11Qh mkyUA6c4075Y9wHHIXE9BRFssX+k7WrRwoeKEI35XBXYsOosu11qDS7f8lfEWypeac ehu4E5R0OW7typ0vqBih+3pp8hlr02WfsFiEO27w= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Inki Dae , Sasha Levin , dri-devel@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.18 26/59] Revert "drm/exynos/decon5433: implement frame counter" Date: Wed, 14 Nov 2018 17:22:58 -0500 Message-Id: <20181114222335.99339-26-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181114222335.99339-1-sashal@kernel.org> References: <20181114222335.99339-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Inki Dae [ Upstream commit 6ca469e22a30992b4478d2ab88737c70667c1e00 ] 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 Signed-off-by: Sasha Levin --- 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 e868773ea509..10b276353004 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 eea90251808f..2696289ecc78 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 0f6d079a55c9..46d659fd1703 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h @@ -133,7 +133,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, -- 2.17.1