From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shawn Guo Subject: [PATCH v3 06/23] drm: armada: use vblank hooks in struct drm_crtc_funcs Date: Tue, 7 Feb 2017 17:16:18 +0800 Message-ID: <1486458995-31018-7-git-send-email-shawnguo@kernel.org> References: <1486458995-31018-1-git-send-email-shawnguo@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.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5D4326E621 for ; Tue, 7 Feb 2017 09:18:27 +0000 (UTC) In-Reply-To: <1486458995-31018-1-git-send-email-shawnguo@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Neil Armstrong , Liviu Dudau , Laurent Pinchart , Daniel Vetter , Marek Vasut , Alexey Brodkin , Russell King , Xinliang Liu , Tomi Valkeinen , Mali DP Maintainers , Ben Skeggs , Jyri Sarha , dri-devel@lists.freedesktop.org, Maxime Ripard List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2hhd24gR3VvIDxzaGF3bi5ndW9AbGluYXJvLm9yZz4KClRoZSB2YmxhbmsgaG9va3Mg aW4gc3RydWN0IGRybV9kcml2ZXIgYXJlIGRlcHJlY2F0ZWQgYW5kIG9ubHkgbWVhbnQgZm9yCmxl Z2FjeSBkcml2ZXJzLiAgRm9yIG1vZGVybiBkcml2ZXJzIHdpdGggRFJJVkVSX01PREVTRVQgZmxh ZywgdGhlIGhvb2tzCmluIHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBzaG91bGQgYmUgdXNlZCBpbnN0 ZWFkLiAgQXMgdGhlIHJlc3VsdCwKZnVuY3Rpb25zIGFybWFkYV9kcm1fY3J0Y19lbmFibGVbZGlz YWJsZV1faXJxKCkgY2FuIGJlIHN0YXRpYywgYWx0aG91Z2gKdGhleSBhcmUgbW92ZWQgYXJvdW5k IGEgYml0IHRvIHNhdmUgZm9yd2FyZCBkZWNsYXJhdGlvbi4KClRoZSBhcm1hZGFfY3J0YyBwb2lu dGVyIGFycmF5IGluIHN0cnVjdCBhcm1hZGFfcHJpdmF0ZSBpcyBzdGlsbCBrZXB0IGluCnRoZXJl LCBiZWNhdXNlIGFybWFkYV9kZWJ1Z2ZzLmMgc3RpbGwgaGF2ZSByZWZlcmVuY2UgdG8gaXQuCgpT aWduZWQtb2ZmLWJ5OiBTaGF3biBHdW8gPHNoYXduLmd1b0BsaW5hcm8ub3JnPgpDYzogUnVzc2Vs bCBLaW5nIDxsaW51eEBhcm1saW51eC5vcmcudWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmggfCAgMiAtLQogZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMgIHwgMTYgLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5jCmluZGV4IGU2MmVlNDQ5OGNlNC4uMTM0MWUwYjkzNjhhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCkBAIC00MTgsNiArNDE4LDI1IEBAIHN0YXRpYyBi b29sIGFybWFkYV9kcm1fY3J0Y19tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAly ZXR1cm4gdHJ1ZTsKIH0KIAorLyogVGhlc2UgYXJlIGxvY2tlZCBieSBkZXYtPnZibF9sb2NrICov CitzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfZGlzYWJsZV9pcnEoc3RydWN0IGFybWFkYV9j cnRjICpkY3J0YywgdTMyIG1hc2spCit7CisJaWYgKGRjcnRjLT5pcnFfZW5hICYgbWFzaykgewor CQlkY3J0Yy0+aXJxX2VuYSAmPSB+bWFzazsKKwkJd3JpdGVsKGRjcnRjLT5pcnFfZW5hLCBkY3J0 Yy0+YmFzZSArIExDRF9TUFVfSVJRX0VOQSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBhcm1hZGFf ZHJtX2NydGNfZW5hYmxlX2lycShzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjLCB1MzIgbWFzaykK K3sKKwlpZiAoKGRjcnRjLT5pcnFfZW5hICYgbWFzaykgIT0gbWFzaykgeworCQlkY3J0Yy0+aXJx X2VuYSB8PSBtYXNrOworCQl3cml0ZWwoZGNydGMtPmlycV9lbmEsIGRjcnRjLT5iYXNlICsgTENE X1NQVV9JUlFfRU5BKTsKKwkJaWYgKHJlYWRsX3JlbGF4ZWQoZGNydGMtPmJhc2UgKyBMQ0RfU1BV X0lSUV9JU1IpICYgbWFzaykKKwkJCXdyaXRlbCgwLCBkY3J0Yy0+YmFzZSArIExDRF9TUFVfSVJR X0lTUik7CisJfQorfQorCiBzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfaXJxKHN0cnVjdCBh cm1hZGFfY3J0YyAqZGNydGMsIHUzMiBzdGF0KQogewogCXZvaWQgX19pb21lbSAqYmFzZSA9IGRj cnRjLT5iYXNlOwpAQCAtNDkxLDI1ICs1MTAsNiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgYXJtYWRh X2RybV9pcnEoaW50IGlycSwgdm9pZCAqYXJnKQogCXJldHVybiBJUlFfTk9ORTsKIH0KIAotLyog VGhlc2UgYXJlIGxvY2tlZCBieSBkZXYtPnZibF9sb2NrICovCi12b2lkIGFybWFkYV9kcm1fY3J0 Y19kaXNhYmxlX2lycShzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjLCB1MzIgbWFzaykKLXsKLQlp ZiAoZGNydGMtPmlycV9lbmEgJiBtYXNrKSB7Ci0JCWRjcnRjLT5pcnFfZW5hICY9IH5tYXNrOwot CQl3cml0ZWwoZGNydGMtPmlycV9lbmEsIGRjcnRjLT5iYXNlICsgTENEX1NQVV9JUlFfRU5BKTsK LQl9Ci19Ci0KLXZvaWQgYXJtYWRhX2RybV9jcnRjX2VuYWJsZV9pcnEoc3RydWN0IGFybWFkYV9j cnRjICpkY3J0YywgdTMyIG1hc2spCi17Ci0JaWYgKChkY3J0Yy0+aXJxX2VuYSAmIG1hc2spICE9 IG1hc2spIHsKLQkJZGNydGMtPmlycV9lbmEgfD0gbWFzazsKLQkJd3JpdGVsKGRjcnRjLT5pcnFf ZW5hLCBkY3J0Yy0+YmFzZSArIExDRF9TUFVfSVJRX0VOQSk7Ci0JCWlmIChyZWFkbF9yZWxheGVk KGRjcnRjLT5iYXNlICsgTENEX1NQVV9JUlFfSVNSKSAmIG1hc2spCi0JCQl3cml0ZWwoMCwgZGNy dGMtPmJhc2UgKyBMQ0RfU1BVX0lSUV9JU1IpOwotCX0KLX0KLQogc3RhdGljIHVpbnQzMl90IGFy bWFkYV9kcm1fY3J0Y19jYWxjdWxhdGVfY3NjKHN0cnVjdCBhcm1hZGFfY3J0YyAqZGNydGMpCiB7 CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkaiA9ICZkY3J0Yy0+Y3J0Yy5tb2RlOwpAQCAt MTEwOSw2ICsxMTA5LDIyIEBAIHN0YXRpYyBpbnQgYXJtYWRhX2RybV9jcnRjX3BhZ2VfZmxpcChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJcmV0dXJuIDA7CiB9CiAKKy8qIFRoZXNlIGFyZSBjYWxs ZWQgdW5kZXIgdGhlIHZibF9sb2NrLiAqLworc3RhdGljIGludCBhcm1hZGFfZHJtX2NydGNfZW5h YmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGFybWFkYV9jcnRj ICpkY3J0YyA9IGRybV90b19hcm1hZGFfY3J0YyhjcnRjKTsKKworCWFybWFkYV9kcm1fY3J0Y19l bmFibGVfaXJxKGRjcnRjLCBWU1lOQ19JUlFfRU5BKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IHZvaWQgYXJtYWRhX2RybV9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKK3sKKwlzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjID0gZHJtX3RvX2FybWFkYV9jcnRjKGNy dGMpOworCisJYXJtYWRhX2RybV9jcnRjX2Rpc2FibGVfaXJxKGRjcnRjLCBWU1lOQ19JUlFfRU5B KTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBhcm1hZGFfY3J0Y19m dW5jcyA9IHsKIAkuY3Vyc29yX3NldAk9IGFybWFkYV9kcm1fY3J0Y19jdXJzb3Jfc2V0LAogCS5j dXJzb3JfbW92ZQk9IGFybWFkYV9kcm1fY3J0Y19jdXJzb3JfbW92ZSwKQEAgLTExMTYsNiArMTEz Miw4IEBAIHN0YXRpYyBpbnQgYXJtYWRhX2RybV9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJLnNldF9jb25maWcJPSBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZywKIAku cGFnZV9mbGlwCT0gYXJtYWRhX2RybV9jcnRjX3BhZ2VfZmxpcCwKIAkuc2V0X3Byb3BlcnR5CT0g YXJtYWRhX2RybV9jcnRjX3NldF9wcm9wZXJ0eSwKKwkuZW5hYmxlX3ZibGFuawk9IGFybWFkYV9k cm1fY3J0Y19lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuawk9IGFybWFkYV9kcm1fY3J0 Y19kaXNhYmxlX3ZibGFuaywKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1 bmNzIGFybWFkYV9wcmltYXJ5X3BsYW5lX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfY3J0Yy5oCmluZGV4IGIwODA0M2U4Y2MzYi4uN2U4OTA2ZDNhZTI2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfY3J0Yy5oCkBAIC0xMDQsOCArMTA0LDYgQEAgc3RydWN0IGFybWFkYV9j cnRjIHsKIAogdm9pZCBhcm1hZGFfZHJtX2NydGNfZ2FtbWFfc2V0KHN0cnVjdCBkcm1fY3J0YyAq LCB1MTYsIHUxNiwgdTE2LCBpbnQpOwogdm9pZCBhcm1hZGFfZHJtX2NydGNfZ2FtbWFfZ2V0KHN0 cnVjdCBkcm1fY3J0YyAqLCB1MTYgKiwgdTE2ICosIHUxNiAqLCBpbnQpOwotdm9pZCBhcm1hZGFf ZHJtX2NydGNfZGlzYWJsZV9pcnEoc3RydWN0IGFybWFkYV9jcnRjICosIHUzMik7Ci12b2lkIGFy bWFkYV9kcm1fY3J0Y19lbmFibGVfaXJxKHN0cnVjdCBhcm1hZGFfY3J0YyAqLCB1MzIpOwogdm9p ZCBhcm1hZGFfZHJtX2NydGNfdXBkYXRlX3JlZ3Moc3RydWN0IGFybWFkYV9jcnRjICosIHN0cnVj dCBhcm1hZGFfcmVncyAqKTsKIAogdm9pZCBhcm1hZGFfZHJtX2NydGNfcGxhbmVfZGlzYWJsZShz dHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bWFkYS9hcm1hZGFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYwpp bmRleCBiYjI3ODkyMDEyZGUuLjczN2JmY2JjZTg3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfZHJ2LmMKQEAgLTQ5LDIwICs0OSw2IEBAIHZvaWQgYXJtYWRhX2RybV9xdWV1ZV91bnJlZl93 b3JrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2 LT5ldmVudF9sb2NrLCBmbGFncyk7CiB9CiAKLS8qIFRoZXNlIGFyZSBjYWxsZWQgdW5kZXIgdGhl IHZibF9sb2NrLiAqLwotc3RhdGljIGludCBhcm1hZGFfZHJtX2VuYWJsZV92Ymxhbmsoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCi17Ci0Jc3RydWN0IGFybWFkYV9w cml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlhcm1hZGFfZHJtX2NydGNfZW5hYmxl X2lycShwcml2LT5kY3J0Y1twaXBlXSwgVlNZTkNfSVJRX0VOQSk7Ci0JcmV0dXJuIDA7Ci19Ci0K LXN0YXRpYyB2b2lkIGFybWFkYV9kcm1fZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgaW50IHBpcGUpCi17Ci0Jc3RydWN0IGFybWFkYV9wcml2YXRlICpwcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlhcm1hZGFfZHJtX2NydGNfZGlzYWJsZV9pcnEocHJpdi0+ ZGNydGNbcGlwZV0sIFZTWU5DX0lSUV9FTkEpOwotfQotCiBzdGF0aWMgc3RydWN0IGRybV9pb2N0 bF9kZXNjIGFybWFkYV9pb2N0bHNbXSA9IHsKIAlEUk1fSU9DVExfREVGX0RSVihBUk1BREFfR0VN X0NSRUFURSwgYXJtYWRhX2dlbV9jcmVhdGVfaW9jdGwsMCksCiAJRFJNX0lPQ1RMX0RFRl9EUlYo QVJNQURBX0dFTV9NTUFQLCBhcm1hZGFfZ2VtX21tYXBfaW9jdGwsIDApLApAQCAtODcsOCArNzMs NiBAQCBzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgYXJtYWRhX2RybV9kcml2ZXIgPSB7CiAJ Lmxhc3RjbG9zZQkJPSBhcm1hZGFfZHJtX2xhc3RjbG9zZSwKLQkuZW5hYmxlX3ZibGFuawkJPSBh cm1hZGFfZHJtX2VuYWJsZV92YmxhbmssCi0JLmRpc2FibGVfdmJsYW5rCQk9IGFybWFkYV9kcm1f ZGlzYWJsZV92YmxhbmssCiAJLmdlbV9mcmVlX29iamVjdF91bmxvY2tlZCA9IGFybWFkYV9nZW1f ZnJlZV9vYmplY3QsCiAJLnByaW1lX2hhbmRsZV90b19mZAk9IGRybV9nZW1fcHJpbWVfaGFuZGxl X3RvX2ZkLAogCS5wcmltZV9mZF90b19oYW5kbGUJPSBkcm1fZ2VtX3ByaW1lX2ZkX3RvX2hhbmRs ZSwKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK