From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v4 5/5] drm/msm: subclass work object for vblank events Date: Thu, 6 Dec 2018 18:41:44 -0800 Message-ID: <1544150504-19630-5-git-send-email-jsanka@codeaurora.org> References: <1544150504-19630-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1544150504-19630-1-git-send-email-jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Jeykumar Sankaran , jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org bXNtIG1haW50YWlucyBhIHNlcGFyYXRlIHN0cnVjdHVyZSB0byBkZWZpbmUgdmJsYW5rCndvcmsg ZGVmaW5pdGlvbnMgYW5kIGEgbGlzdCB0byB0cmFjayBldmVudHMgc3VibWl0dGVkCnRvIHRoZSB3 b3JrcXVldWUuIFdlIGNhbiBhdm9pZCB0aGlzIHJlZHVuZGFudCBsaXN0CmFuZCBpdHMgcHJvdGVj dGlvbiBtZWNoYW5pc20sIGlmIHdlIHN1YmNsYXNzIHRoZQp3b3JrIG9iamVjdCB0byBlbmNhcHN1 bGF0ZSB2YmxhbmsgZXZlbnQgcGFyYW1ldGVycy4KCmNoYW5nZXMgaW4gdjI6CgktIHN1YmNsYXNz IG9wdGltaXphdGlvbiBvbiBzeXN0ZW0gd3EgKFNlYW4gUGF1bCkKY2hhbmdlcyBpbiB2MzoKCS0g bm9uZQpjaGFuZ2VzIGluIHY0OgoJLSBtb3ZlIGZsdXNoX3dvcmtxdWV1ZSBiZWZvcmUgaXJxIHVu aW5zdGFsbAoKU2lnbmVkLW9mZi1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVy b3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyB8IDcxICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2Rydi5oIHwgIDcgLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwg NTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCAxZTlmZWMxLi41ZjYxZmM0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtMjA2LDYxICsyMDYsNDQgQEAgdTMyIG1zbV9yZWFk bChjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIpCiAJcmV0dXJuIHZhbDsKIH0KIAotc3RydWN0IHZi bGFua19ldmVudCB7Ci0Jc3RydWN0IGxpc3RfaGVhZCBub2RlOworc3RydWN0IG1zbV92Ymxhbmtf d29yayB7CisJc3RydWN0IHdvcmtfc3RydWN0IHdvcms7CiAJaW50IGNydGNfaWQ7CiAJYm9vbCBl bmFibGU7CisJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKIH07CiAKIHN0YXRpYyB2b2lk IHZibGFua19jdHJsX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0 IG1zbV92YmxhbmtfY3RybCAqdmJsX2N0cmwgPSBjb250YWluZXJfb2Yod29yaywKLQkJCQkJCXN0 cnVjdCBtc21fdmJsYW5rX2N0cmwsIHdvcmspOwotCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnBy aXYgPSBjb250YWluZXJfb2YodmJsX2N0cmwsCi0JCQkJCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUs IHZibGFua19jdHJsKTsKKwlzdHJ1Y3QgbXNtX3ZibGFua193b3JrICp2Ymxfd29yayA9IGNvbnRh aW5lcl9vZih3b3JrLAorCQkJCQkJc3RydWN0IG1zbV92Ymxhbmtfd29yaywgd29yayk7CisJc3Ry dWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IHZibF93b3JrLT5wcml2OwogCXN0cnVjdCBtc21f a21zICprbXMgPSBwcml2LT5rbXM7Ci0Jc3RydWN0IHZibGFua19ldmVudCAqdmJsX2V2LCAqdG1w OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmdmJsX2N0cmwt PmxvY2ssIGZsYWdzKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodmJsX2V2LCB0bXAsICZ2 YmxfY3RybC0+ZXZlbnRfbGlzdCwgbm9kZSkgewotCQlsaXN0X2RlbCgmdmJsX2V2LT5ub2RlKTsK LQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmJsX2N0cmwtPmxvY2ssIGZsYWdzKTsKLQotCQlp ZiAodmJsX2V2LT5lbmFibGUpCi0JCQlrbXMtPmZ1bmNzLT5lbmFibGVfdmJsYW5rKGttcywKLQkJ CQkJCXByaXYtPmNydGNzW3ZibF9ldi0+Y3J0Y19pZF0pOwotCQllbHNlCi0JCQlrbXMtPmZ1bmNz LT5kaXNhYmxlX3ZibGFuayhrbXMsCi0JCQkJCQlwcml2LT5jcnRjc1t2YmxfZXYtPmNydGNfaWRd KTsKLQotCQlrZnJlZSh2YmxfZXYpOwogCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZ2YmxfY3RybC0+ bG9jaywgZmxhZ3MpOwotCX0KKwlpZiAodmJsX3dvcmstPmVuYWJsZSkKKwkJa21zLT5mdW5jcy0+ ZW5hYmxlX3ZibGFuayhrbXMsIHByaXYtPmNydGNzW3ZibF93b3JrLT5jcnRjX2lkXSk7CisJZWxz ZQorCQlrbXMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuayhrbXMsCXByaXYtPmNydGNzW3ZibF93b3Jr LT5jcnRjX2lkXSk7CiAKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2YmxfY3RybC0+bG9jaywg ZmxhZ3MpOworCWtmcmVlKHZibF93b3JrKTsKIH0KIAogc3RhdGljIGludCB2YmxhbmtfY3RybF9x dWV1ZV93b3JrKHN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYsCiAJCQkJCWludCBjcnRjX2lk LCBib29sIGVuYWJsZSkKIHsKLQlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsICp2YmxfY3RybCA9ICZw cml2LT52YmxhbmtfY3RybDsKLQlzdHJ1Y3QgdmJsYW5rX2V2ZW50ICp2YmxfZXY7Ci0JdW5zaWdu ZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgbXNtX3ZibGFua193b3JrICp2Ymxfd29yazsKIAotCXZi bF9ldiA9IGt6YWxsb2Moc2l6ZW9mKCp2YmxfZXYpLCBHRlBfQVRPTUlDKTsKLQlpZiAoIXZibF9l dikKKwl2Ymxfd29yayA9IGt6YWxsb2Moc2l6ZW9mKCp2Ymxfd29yayksIEdGUF9BVE9NSUMpOwor CWlmICghdmJsX3dvcmspCiAJCXJldHVybiAtRU5PTUVNOwogCi0JdmJsX2V2LT5jcnRjX2lkID0g Y3J0Y19pZDsKLQl2YmxfZXYtPmVuYWJsZSA9IGVuYWJsZTsKKwlJTklUX1dPUksoJnZibF93b3Jr LT53b3JrLCB2YmxhbmtfY3RybF93b3JrZXIpOwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnZibF9j dHJsLT5sb2NrLCBmbGFncyk7Ci0JbGlzdF9hZGRfdGFpbCgmdmJsX2V2LT5ub2RlLCAmdmJsX2N0 cmwtPmV2ZW50X2xpc3QpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZibF9jdHJsLT5sb2Nr LCBmbGFncyk7CisJdmJsX3dvcmstPmNydGNfaWQgPSBjcnRjX2lkOworCXZibF93b3JrLT5lbmFi bGUgPSBlbmFibGU7CisJdmJsX3dvcmstPnByaXYgPSBwcml2OwogCi0JcXVldWVfd29yayhwcml2 LT53cSwgJnZibF9jdHJsLT53b3JrKTsKKwlxdWV1ZV93b3JrKHByaXYtPndxLCAmdmJsX3dvcmst PndvcmspOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yNzIsMTkgKzI1NSwxNSBAQCBzdGF0aWMgaW50 IG1zbV9kcm1fdW5pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKIAlzdHJ1Y3QgbXNtX2RybV9wcml2 YXRlICpwcml2ID0gZGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IG1zbV9rbXMgKmttcyA9IHBy aXYtPmttczsKIAlzdHJ1Y3QgbXNtX21kc3MgKm1kc3MgPSBwcml2LT5tZHNzOwotCXN0cnVjdCBt c21fdmJsYW5rX2N0cmwgKnZibF9jdHJsID0gJnByaXYtPnZibGFua19jdHJsOwotCXN0cnVjdCB2 YmxhbmtfZXZlbnQgKnZibF9ldiwgKnRtcDsKIAlpbnQgaTsKIAogCS8qIFdlIG11c3QgY2FuY2Vs IGFuZCBjbGVhbnVwIGFueSBwZW5kaW5nIHZibGFuayBlbmFibGUvZGlzYWJsZQogCSAqIHdvcmsg YmVmb3JlIGRybV9pcnFfdW5pbnN0YWxsKCkgdG8gYXZvaWQgd29yayByZS1lbmFibGluZyBhbgog CSAqIGlycSBhZnRlciB1bmluc3RhbGwgaGFzIGRpc2FibGVkIGl0LgogCSAqLwotCWZsdXNoX3dv cmsoJnZibF9jdHJsLT53b3JrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodmJsX2V2LCB0 bXAsICZ2YmxfY3RybC0+ZXZlbnRfbGlzdCwgbm9kZSkgewotCQlsaXN0X2RlbCgmdmJsX2V2LT5u b2RlKTsKLQkJa2ZyZWUodmJsX2V2KTsKLQl9CisKKwlmbHVzaF93b3JrcXVldWUocHJpdi0+d3Ep OworCWRlc3Ryb3lfd29ya3F1ZXVlKHByaXYtPndxKTsKIAogCS8qIGNsZWFuIHVwIGV2ZW50IHdv cmtlciB0aHJlYWRzICovCiAJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jcnRjczsgaSsrKSB7 CkBAIC0zMTMsOSArMjkyLDYgQEAgc3RhdGljIGludCBtc21fZHJtX3VuaW5pdChzdHJ1Y3QgZGV2 aWNlICpkZXYpCiAJZHJtX2lycV91bmluc3RhbGwoZGRldik7CiAJcG1fcnVudGltZV9wdXRfc3lu YyhkZXYpOwogCi0JZmx1c2hfd29ya3F1ZXVlKHByaXYtPndxKTsKLQlkZXN0cm95X3dvcmtxdWV1 ZShwcml2LT53cSk7Ci0KIAlpZiAoa21zICYmIGttcy0+ZnVuY3MpCiAJCWttcy0+ZnVuY3MtPmRl c3Ryb3koa21zKTsKIApAQCAtNDcyLDkgKzQ0OCw2IEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0 KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRybV9kcml2ZXIgKmRydikKIAlwcml2LT53cSA9 IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVlKCJtc20iLCAwKTsKIAogCUlOSVRfTElTVF9IRUFEKCZw cml2LT5pbmFjdGl2ZV9saXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmcHJpdi0+dmJsYW5rX2N0cmwu ZXZlbnRfbGlzdCk7Ci0JSU5JVF9XT1JLKCZwcml2LT52YmxhbmtfY3RybC53b3JrLCB2Ymxhbmtf Y3RybF93b3JrZXIpOwotCXNwaW5fbG9ja19pbml0KCZwcml2LT52YmxhbmtfY3RybC5sb2NrKTsK IAogCWRybV9tb2RlX2NvbmZpZ19pbml0KGRkZXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCmluZGV4 IDAzMDc1NDMuLmYyMzczZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Ry di5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCkBAIC03NywxMiArNzcsNiBA QCBlbnVtIG1zbV9tZHBfcGxhbmVfcHJvcGVydHkgewogCVBMQU5FX1BST1BfTUFYX05VTQogfTsK IAotc3RydWN0IG1zbV92YmxhbmtfY3RybCB7Ci0Jc3RydWN0IHdvcmtfc3RydWN0IHdvcms7Ci0J c3RydWN0IGxpc3RfaGVhZCBldmVudF9saXN0OwotCXNwaW5sb2NrX3QgbG9jazsKLX07Ci0KICNk ZWZpbmUgTVNNX0dQVV9NQVhfUklOR1MgNAogI2RlZmluZSBNQVhfSF9USUxFU19QRVJfRElTUExB WSAyCiAKQEAgLTIyNSw3ICsyMTksNiBAQCBzdHJ1Y3QgbXNtX2RybV9wcml2YXRlIHsKIAlzdHJ1 Y3Qgbm90aWZpZXJfYmxvY2sgdm1hcF9ub3RpZmllcjsKIAlzdHJ1Y3Qgc2hyaW5rZXIgc2hyaW5r ZXI7CiAKLQlzdHJ1Y3QgbXNtX3ZibGFua19jdHJsIHZibGFua19jdHJsOwogCXN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpwbV9zdGF0ZTsKIH07CiAKLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9u IENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmEgTGlu dXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRy ZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=