From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v4] drm/msm: validate display and event threads Date: Wed, 10 Oct 2018 14:11:16 -0700 Message-ID: <1539205876-23732-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Jeykumar Sankaran , dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org V2hpbGUgY3JlYXRpbmcgZGlzcGxheSBhbmQgZXZlbnQgdGhyZWFkcyBwZXIgY3J0YywgdmFsaWRh dGUKdGhlbSBiZWZvcmUgc2V0dGluZyB0aGVpciBwcmlvcml0aWVzLgoKY2hhbmdlcyBpbiB2MjoK CS0gdXNlIGRldl93YXJuIChBYmhpbmF2IEt1bWFyKQpjaGFuZ2VzIGluIHYzOgoJLSBmaXggY29t cGlsYXRpb24gZXJyb3IKY2hhbmdlcyBpbiB2NDoKCS0gUmVtb3ZlIENoYW5nZS1JZCAoU2VhbiBQ YXVsKQoJLSBLZWVwIGxvZ2dpbmcgd2l0aGluIDgwIGNoYXIgbGltaXQgKFNlYW4gUGF1bCkKClNp Z25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0t LQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgfCA0OSArKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygr KSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCA0OTA0ZDBkLi5kY2Zm ODEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtNTUzLDE3ICs1NTMsMTggQEAgc3RhdGljIGlu dCBtc21fZHJtX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2 KQogCQkJa3RocmVhZF9ydW4oa3RocmVhZF93b3JrZXJfZm4sCiAJCQkJJnByaXYtPmRpc3BfdGhy ZWFkW2ldLndvcmtlciwKIAkJCQkiY3J0Y19jb21taXQ6JWQiLCBwcml2LT5kaXNwX3RocmVhZFtp XS5jcnRjX2lkKTsKLQkJcmV0ID0gc2NoZWRfc2V0c2NoZWR1bGVyKHByaXYtPmRpc3BfdGhyZWFk W2ldLnRocmVhZCwKLQkJCQkJCQlTQ0hFRF9GSUZPLCAmcGFyYW0pOwotCQlpZiAocmV0KQotCQkJ cHJfd2FybigiZGlzcGxheSB0aHJlYWQgcHJpb3JpdHkgdXBkYXRlIGZhaWxlZDogJWRcbiIsCi0J CQkJCQkJCQlyZXQpOwotCiAJCWlmIChJU19FUlIocHJpdi0+ZGlzcF90aHJlYWRbaV0udGhyZWFk KSkgewogCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gY3JlYXRlIGNydGNfY29tbWl0IGt0aHJl YWRcbiIpOwogCQkJcHJpdi0+ZGlzcF90aHJlYWRbaV0udGhyZWFkID0gTlVMTDsKKwkJCWdvdG8g ZXJyX21zbV91bmluaXQ7CiAJCX0KIAorCQlyZXQgPSBzY2hlZF9zZXRzY2hlZHVsZXIocHJpdi0+ ZGlzcF90aHJlYWRbaV0udGhyZWFkLAorCQkJCQkgU0NIRURfRklGTywgJnBhcmFtKTsKKwkJaWYg KHJldCkKKwkJCWRldl93YXJuKGRldiwgImRpc3BfdGhyZWFkIHNldCBwcmlvcml0eSBmYWlsZWQ6 ICVkXG4iLAorCQkJCSByZXQpOworCiAJCS8qIGluaXRpYWxpemUgZXZlbnQgdGhyZWFkICovCiAJ CXByaXYtPmV2ZW50X3RocmVhZFtpXS5jcnRjX2lkID0gcHJpdi0+Y3J0Y3NbaV0tPmJhc2UuaWQ7 CiAJCWt0aHJlYWRfaW5pdF93b3JrZXIoJnByaXYtPmV2ZW50X3RocmVhZFtpXS53b3JrZXIpOwpA QCAtNTcyLDYgKzU3MywxMiBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJCQlrdGhyZWFkX3J1bihrdGhyZWFkX3dv cmtlcl9mbiwKIAkJCQkmcHJpdi0+ZXZlbnRfdGhyZWFkW2ldLndvcmtlciwKIAkJCQkiY3J0Y19l dmVudDolZCIsIHByaXYtPmV2ZW50X3RocmVhZFtpXS5jcnRjX2lkKTsKKwkJaWYgKElTX0VSUihw cml2LT5ldmVudF90aHJlYWRbaV0udGhyZWFkKSkgeworCQkJZGV2X2VycihkZXYsICJmYWlsZWQg dG8gY3JlYXRlIGNydGNfZXZlbnQga3RocmVhZFxuIik7CisJCQlwcml2LT5ldmVudF90aHJlYWRb aV0udGhyZWFkID0gTlVMTDsKKwkJCWdvdG8gZXJyX21zbV91bmluaXQ7CisJCX0KKwogCQkvKioK IAkJICogZXZlbnQgdGhyZWFkIHNob3VsZCBhbHNvIHJ1biBhdCBzYW1lIHByaW9yaXR5IGFzIGRp c3BfdGhyZWFkCiAJCSAqIGJlY2F1c2UgaXQgaXMgaGFuZGxpbmcgZnJhbWVfZG9uZSBldmVudHMu IEEgbG93ZXIgcHJpb3JpdHkKQEAgLTU4MCwzNCArNTg3LDEwIEBAIHN0YXRpYyBpbnQgbXNtX2Ry bV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRybV9kcml2ZXIgKmRydikKIAkJICog ZmFpbHVyZSBhdCBjcnRjIGNvbW1pdCBsZXZlbC4KIAkJICovCiAJCXJldCA9IHNjaGVkX3NldHNj aGVkdWxlcihwcml2LT5ldmVudF90aHJlYWRbaV0udGhyZWFkLAotCQkJCQkJCVNDSEVEX0ZJRk8s ICZwYXJhbSk7CisJCQkJCSBTQ0hFRF9GSUZPLCAmcGFyYW0pOwogCQlpZiAocmV0KQotCQkJcHJf d2FybigiZGlzcGxheSBldmVudCB0aHJlYWQgcHJpb3JpdHkgdXBkYXRlIGZhaWxlZDogJWRcbiIs Ci0JCQkJCQkJCQlyZXQpOwotCi0JCWlmIChJU19FUlIocHJpdi0+ZXZlbnRfdGhyZWFkW2ldLnRo cmVhZCkpIHsKLQkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGNyZWF0ZSBjcnRjX2V2ZW50IGt0 aHJlYWRcbiIpOwotCQkJcHJpdi0+ZXZlbnRfdGhyZWFkW2ldLnRocmVhZCA9IE5VTEw7Ci0JCX0K LQotCQlpZiAoKCFwcml2LT5kaXNwX3RocmVhZFtpXS50aHJlYWQpIHx8Ci0JCQkJIXByaXYtPmV2 ZW50X3RocmVhZFtpXS50aHJlYWQpIHsKLQkJCS8qIGNsZWFuIHVwIHByZXZpb3VzbHkgY3JlYXRl ZCB0aHJlYWRzIGlmIGFueSAqLwotCQkJZm9yICggOyBpID49IDA7IGktLSkgewotCQkJCWlmIChw cml2LT5kaXNwX3RocmVhZFtpXS50aHJlYWQpIHsKLQkJCQkJa3RocmVhZF9zdG9wKAotCQkJCQkJ cHJpdi0+ZGlzcF90aHJlYWRbaV0udGhyZWFkKTsKLQkJCQkJcHJpdi0+ZGlzcF90aHJlYWRbaV0u dGhyZWFkID0gTlVMTDsKLQkJCQl9Ci0KLQkJCQlpZiAocHJpdi0+ZXZlbnRfdGhyZWFkW2ldLnRo cmVhZCkgewotCQkJCQlrdGhyZWFkX3N0b3AoCi0JCQkJCQlwcml2LT5ldmVudF90aHJlYWRbaV0u dGhyZWFkKTsKLQkJCQkJcHJpdi0+ZXZlbnRfdGhyZWFkW2ldLnRocmVhZCA9IE5VTEw7Ci0JCQkJ fQotCQkJfQotCQkJZ290byBlcnJfbXNtX3VuaW5pdDsKLQkJfQorCQkJZGV2X3dhcm4oZGV2LCAi ZXZlbnRfdGhyZWFkIHNldCBwcmlvcml0eSBmYWlsZWQ6JWRcbiIsCisJCQkJIHJldCk7CiAJfQog CiAJcmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYsIHByaXYtPm51bV9jcnRjcyk7Ci0tIApUaGUg UXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUg QXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8g bWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K