From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 2/2] drm/mgag200: Add vblank support Date: Mon, 9 Sep 2019 16:06:33 +0200 Message-ID: <20190909140633.31260-3-tzimmermann@suse.de> References: <20190909140633.31260-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id DFBB589C86 for ; Mon, 9 Sep 2019 14:06:37 +0000 (UTC) In-Reply-To: <20190909140633.31260-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel@ffwll.ch, airlied@redhat.com, noralf@tronnes.org, rong.a.chen@intel.com, feng.tang@intel.com, ying.huang@intel.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U3VwcG9ydCBmb3IgdmJsYW5rIHJlcXVpcmVzIFZTWU5DIHRvIHNpZ25hbCBhbiBpbnRlcnJ1cHQs IHdoaWNoIGlzIGJyb2tlbgpvbiBNYXRyb3ggY2hpcHNldHMuIFRoZSB3b3JrYXJvdW5kIHRoYXQg aXMgdXNlZCBoZXJlIGFuZCBpbiBvdGhlciBmcmVlCk1hdHJveCBkcml2ZXJzIGlzIHRvIHByb2dy YW0gPGxpbmVjb21wPiB0byB0aGUgdmFsdWUgb2YgPHZkaXNwbGF5PiBhbmQKZW5hYmxlIHRoZSBW TElORSBpbnRlcnJ1cHQuIFRoaXMgdHJpZ2dlcnMgYW4gaW50ZXJydXB0IGF0IHRoZSBzYW1lIHRp bWUKd2hlbiBWU1lOQyBiZWdpbnMuCgpWTElORSB1c2VzIHNlcGFyYXRlIHJlZ2lzdGVycyBmb3Ig ZW5hYmxpbmcgYW5kIGNsZWFyaW5nIHBlbmRpbmcgaW50ZXJydXB0cy4KTm8gZXh0cmEgc3luY3Jv bml6YXRpb24gYmV0d2VlbiBpcnEgaGFuZGxlciBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRyaXZlciBp cwpyZXF1aXJlZC4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFu bkBzdXNlLmRlPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2LmMgIHwg IDEgKwogZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaCAgfCAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21haW4uYyB8IDMzICsrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyB8IDQyICsrKysrKysr KysrKysrKysrKysrKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIw MF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2LmMKaW5kZXggNGY5 ZGYzYjkzNTk4Li5jZmYyNjU5NzMxNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2Fn MjAwL21nYWcyMDBfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9k cnYuYwpAQCAtNjcsNiArNjcsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0g ewogCS5kcml2ZXJfZmVhdHVyZXMgPSBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQsCiAJLmxv YWQgPSBtZ2FnMjAwX2RyaXZlcl9sb2FkLAogCS51bmxvYWQgPSBtZ2FnMjAwX2RyaXZlcl91bmxv YWQsCisJLmlycV9oYW5kbGVyID0gbWdhZzIwMF9pcnFfaGFuZGxlciwKIAkuZm9wcyA9ICZtZ2Fn MjAwX2RyaXZlcl9mb3BzLAogCS5uYW1lID0gRFJJVkVSX05BTUUsCiAJLmRlc2MgPSBEUklWRVJf REVTQywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oCmluZGV4IDFjOTNmOGRjMDhj Ny4uODhjZjI1NmQxMzVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2Fn MjAwX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZHJ2LmgKQEAg LTE5NSw2ICsxOTUsNyBAQCB2b2lkIG1nYWcyMDBfbW9kZXNldF9maW5pKHN0cnVjdCBtZ2FfZGV2 aWNlICptZGV2KTsKIAkJCQkvKiBtZ2FnMjAwX21haW4uYyAqLwogaW50IG1nYWcyMDBfZHJpdmVy X2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncyk7CiB2b2lk IG1nYWcyMDBfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2lycXJldHVy bl90IG1nYWcyMDBfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKTsKIAogCQkJCS8qIG1n YWcyMDBfaTJjLmMgKi8KIHN0cnVjdCBtZ2FfaTJjX2NoYW4gKm1nYWcyMDBfaTJjX2NyZWF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZ2Fn MjAwL21nYWcyMDBfbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tYWlu LmMKaW5kZXggYTk3NzMzMzRkZWRmLi41OTQxNjA3Nzk2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbWFpbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2Fn MjAwL21nYWcyMDBfbWFpbi5jCkBAIC0xMCw3ICsxMCw5IEBACiAKICNpbmNsdWRlIDxkcm0vZHJt X2NydGNfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVy Lmg+CisjaW5jbHVkZSA8ZHJtL2RybV9pcnEuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BjaS5oPgor I2luY2x1ZGUgPGRybS9kcm1fdmJsYW5rLmg+CiAKICNpbmNsdWRlICJtZ2FnMjAwX2Rydi5oIgog CkBAIC0xODYsMTAgKzE4OCwxOCBAQCBpbnQgbWdhZzIwMF9kcml2ZXJfbG9hZChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCX0KIAltZGV2LT5jdXJzb3IucGl4 ZWxzX2N1cnJlbnQgPSBOVUxMOwogCisJciA9IGRybV92YmxhbmtfaW5pdChkZXYsIDEpOworCWlm IChyKQorCQlnb3RvIGVycl9tb2Rlc2V0OworCiAJciA9IGRybV9mYmRldl9nZW5lcmljX3NldHVw KG1kZXYtPmRldiwgMCk7CiAJaWYgKHIpCiAJCWdvdG8gZXJyX21vZGVzZXQ7CiAKKwlyID0gZHJt X2lycV9pbnN0YWxsKGRldiwgZGV2LT5wZGV2LT5pcnEpOworCWlmIChyKQorCQlnb3RvIGVycl9t b2Rlc2V0OworCiAJcmV0dXJuIDA7CiAKIGVycl9tb2Rlc2V0OgpAQCAtMjA3LDggKzIxNywzMSBA QCB2b2lkIG1nYWcyMDBfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJ aWYgKG1kZXYgPT0gTlVMTCkKIAkJcmV0dXJuOworCWRybV9pcnFfdW5pbnN0YWxsKGRldik7CiAJ bWdhZzIwMF9tb2Rlc2V0X2ZpbmkobWRldik7CiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZGV2 KTsKIAltZ2FnMjAwX21tX2ZpbmkobWRldik7CiAJZGV2LT5kZXZfcHJpdmF0ZSA9IE5VTEw7CiB9 CisKK2lycXJldHVybl90IG1nYWcyMDBfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQor eworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBhcmc7CisJc3RydWN0IG1nYV9kZXZpY2UgKm1k ZXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwl1MzIgc3Rh dHVzLCBpY2xlYXI7CisKKwlzdGF0dXMgPSBSUkVHMzIoMHgxZTE0KTsKKworCWlmIChzdGF0dXMg JiAweDAwMDAwMDIwKSB7IC8qIHRlc3QgPHZsaW5lcGVuPiAqLworCQlkcm1fZm9yX2VhY2hfY3J0 YyhjcnRjLCBkZXYpIHsKKwkJCWRybV9jcnRjX2hhbmRsZV92YmxhbmsoY3J0Yyk7CisJCX0KKwkJ aWNsZWFyID0gUlJFRzMyKDB4MWUxOCk7CisJCWljbGVhciB8PSAweDAwMDAwMDIwOyAvKiBzZXQg PHZsaW5laWNscj4gKi8KKwkJV1JFRzMyKDB4MWUxOCwgaWNsZWFyKTsKKwkJcmV0dXJuIElSUV9I QU5ETEVEOworCX0KKworCXJldHVybiBJUlFfTk9ORTsKK307CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAw L21nYWcyMDBfbW9kZS5jCmluZGV4IDVlNzc4YjVmMWExMC4uZmZlNWYxNWQwYTdkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwpAQCAtOTA1LDYgKzkwNSw3IEBAIHN0YXRp YyBpbnQgbWdhX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWNvbnN0IHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7CiAJaW50IGhkaXNw bGF5LCBoc3luY3N0YXJ0LCBoc3luY2VuZCwgaHRvdGFsOwogCWludCB2ZGlzcGxheSwgdnN5bmNz dGFydCwgdnN5bmNlbmQsIHZ0b3RhbDsKKwlpbnQgbGluZWNvbXA7CiAJaW50IHBpdGNoOwogCWlu dCBvcHRpb24gPSAwLCBvcHRpb24yID0gMDsKIAlpbnQgaTsKQEAgLTEwNDIsNiArMTA0MywxMyBA QCBzdGF0aWMgaW50IG1nYV9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl2 c3luY2VuZCA9IG1vZGUtPnZzeW5jX2VuZCAtIDE7CiAJdnRvdGFsID0gbW9kZS0+dnRvdGFsIC0g MjsKIAorCS8qIFRoZSBWU1lOQyBpbnRlcnJ1cHQgaXMgYnJva2VuIG9uIE1hdHJveCBjaGlwc2V0 cy4gV2UgdXNlCisJICogdGhlIFZMSU5FIGludGVycnVwdCBpbnN0ZWFkLiBJdCB0cmlnZ2VycyB3 aGVuIHRoZSBjdXJyZW50CisJICogbGluZWNvbXAgaGFzIGJlZW4gcmVhY2hlZC4gVGhlcmVmb3Jl IGtlZXAgPGxpbmVjb21wPiBpbgorCSAqIHN5bmMgd2l0aCA8dmRpc3BsYXk+LgorCSAqLworCWxp bmVjb21wID0gdmRpc3BsYXk7CisKIAlXUkVHX0dGWCgwLCAwKTsKIAlXUkVHX0dGWCgxLCAwKTsK IAlXUkVHX0dGWCgyLCAwKTsKQEAgLTEwNjMsMTIgKzEwNzEsMTIgQEAgc3RhdGljIGludCBtZ2Ff Y3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCSAoKHZkaXNwbGF5ICYgMHgx MDApID4+IDcpIHwKIAkJICgodnN5bmNzdGFydCAmIDB4MTAwKSA+PiA2KSB8CiAJCSAoKHZkaXNw bGF5ICYgMHgxMDApID4+IDUpIHwKLQkJICgodmRpc3BsYXkgJiAweDEwMCkgPj4gNCkgfCAvKiBs aW5lY29tcCAqLworCQkgKChsaW5lY29tcCAmIDB4MTAwKSA+PiA0KSB8CiAJCSAoKHZ0b3RhbCAm IDB4MjAwKSA+PiA0KXwKIAkJICgodmRpc3BsYXkgJiAweDIwMCkgPj4gMykgfAogCQkgKCh2c3lu Y3N0YXJ0ICYgMHgyMDApID4+IDIpKTsKIAlXUkVHX0NSVCg5LCAoKHZkaXNwbGF5ICYgMHgyMDAp ID4+IDQpIHwKLQkJICgodmRpc3BsYXkgJiAweDIwMCkgPj4gMykpOworCQkgKChsaW5lY29tcCAm IDB4MjAwKSA+PiAzKSk7CiAJV1JFR19DUlQoMTAsIDApOwogCVdSRUdfQ1JUKDExLCAwKTsKIAlX UkVHX0NSVCgxMiwgMCk7CkBAIC0xMDgzLDcgKzEwOTEsNyBAQCBzdGF0aWMgaW50IG1nYV9jcnRj X21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlXUkVHX0NSVCgyMSwgdmRpc3BsYXkg JiAweEZGKTsKIAlXUkVHX0NSVCgyMiwgKHZ0b3RhbCArIDEpICYgMHhGRik7CiAJV1JFR19DUlQo MjMsIDB4YzMpOwotCVdSRUdfQ1JUKDI0LCB2ZGlzcGxheSAmIDB4RkYpOworCVdSRUdfQ1JUKDI0 LCBsaW5lY29tcCAmIDB4ZmYpOwogCiAJZXh0X3ZnYVswXSA9IDA7CiAJZXh0X3ZnYVs1XSA9IDA7 CkBAIC0xMDk5LDcgKzExMDcsNyBAQCBzdGF0aWMgaW50IG1nYV9jcnRjX21vZGVfc2V0KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAkJKCh2ZGlzcGxheSAmIDB4NDAwKSA+PiA4KSB8CiAJCSgodmRp c3BsYXkgJiAweGMwMCkgPj4gNykgfAogCQkoKHZzeW5jc3RhcnQgJiAweGMwMCkgPj4gNSkgfAot CQkoKHZkaXNwbGF5ICYgMHg0MDApID4+IDMpOworCQkoKGxpbmVjb21wICYgMHg0MDApID4+IDMp OwogCWlmIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4ID09IDI0KQogCQlleHRfdmdhWzNdID0gKCgo MSA8PCBicHBzaGlmdCkgKiAzKSAtIDEpIHwgMHg4MDsKIAllbHNlCkBAIC0xNDExLDYgKzE0MTks MzAgQEAgc3RhdGljIHZvaWQgbWdhX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiAJY3J0Yy0+cHJpbWFyeS0+ZmIgPSBOVUxMOwogfQogCitzdGF0aWMgaW50IG1nYV9jcnRjX2Vu YWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5kZXY7CisJc3RydWN0IG1nYV9kZXZpY2UgKm1kZXYgPSBkZXYtPmRldl9w cml2YXRlOworCXUzMiBpZW47CisKKwlpZW4gPSBSUkVHMzIoMHgxZTFjKTsKKwlpZW4gfD0gMHgw MDAwMDAyMDsgLyogc2V0IDx2bGluZWllbj4gKi8KKwlXUkVHMzIoMHgxZTFjLCBpZW4pOworCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG1nYV9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2 OworCXN0cnVjdCBtZ2FfZGV2aWNlICptZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwl1MzIgaWVu OworCisJaWVuID0gUlJFRzMyKDB4MWUxYyk7CisJaWVuICY9IDB4ZmZmZmZmZGY7IC8qIGNsZWFy IDx2bGluZWllbj4gKi8KKwlXUkVHMzIoMHgxZTFjLCBpZW4pOworfQorCiAvKiBUaGVzZSBwcm92 aWRlIHRoZSBtaW5pbXVtIHNldCBvZiBmdW5jdGlvbnMgcmVxdWlyZWQgdG8gaGFuZGxlIGEgQ1JU QyAqLwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZ2FfY3J0Y19mdW5jcyA9 IHsKIAkuY3Vyc29yX3NldCA9IG1nYV9jcnRjX2N1cnNvcl9zZXQsCkBAIC0xNDE4LDYgKzE0NTAs OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG1nYV9jcnRjX2Z1bmNzID0g ewogCS5nYW1tYV9zZXQgPSBtZ2FfY3J0Y19nYW1tYV9zZXQsCiAJLnNldF9jb25maWcgPSBkcm1f Y3J0Y19oZWxwZXJfc2V0X2NvbmZpZywKIAkuZGVzdHJveSA9IG1nYV9jcnRjX2Rlc3Ryb3ksCisJ LmVuYWJsZV92YmxhbmsgPSBtZ2FfY3J0Y19lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFu ayA9IG1nYV9jcnRjX2Rpc2FibGVfdmJsYW5rLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY3J0Y19oZWxwZXJfZnVuY3MgbWdhX2hlbHBlcl9mdW5jcyA9IHsKLS0gCjIuMjMuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs