From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: [PATCH] drm/msm/dpu: Convert to a chained irq chip Date: Thu, 3 Jan 2019 11:06:02 -0800 Message-ID: <20190103190602.92612-1-swboyd@chromium.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: Rob Clark Cc: Rajesh Yadav , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jayant Shekhar , Jordan Crouse , Sean Paul , Jeykumar Sankaran , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org RGV2aWNlcyB0aGF0IG1ha2UgdXAgRFBVLCBpLmUuIGdyYXBoaWNzIGNhcmQsIHJlcXVlc3QgdGhl aXIgaW50ZXJydXB0cwpmcm9tIHRoaXMgInZpcnR1YWwiIGludGVycnVwdCBjaGlwLiBUaGUgaW50 ZXJydXB0IGNoaXAgYnVpbGRzIHVwb24gYSBHSUMKU1BJIGludGVycnVwdCB0aGF0IHJhaXNlcyBo aWdoIHdoZW4gYW55IG9mIHRoZSBpbnRlcnJ1cHRzIGluIHRoZSBEUFUncwppcnEgc3RhdHVzIHJl Z2lzdGVyIGFyZSB0cmlnZ2VyZWQuIEZyb20gdGhlIGtlcm5lbCdzIHBlcnNwZWN0aXZlIHRoaXMg aXMKYSBjaGFpbmVkIGlycSBjaGlwLCBzbyByZXF1ZXN0aW5nIGEgZmxvdyBoYW5kbGVyIGZvciB0 aGUgR0lDIFNQSSBhbmQKdGhlbiBjYWxsaW5nIGdlbmVyaWMgSVJRIGhhbmRsaW5nIGNvZGUgZnJv bSB0aGF0IGlycSBoYW5kbGVyIGlzIG5vdApjb21wbGV0ZWx5IHByb3Blci4gSXQncyBiZXR0ZXIg dG8gY29udmVydCB0aGlzIHRvIGEgY2hhaW5lZCBpcnEgc28gdGhhdAp0aGUgR0lDIFNQSSBpcnEg ZG9lc24ndCBhcHBlYXIgaW4gL3Byb2MvaW50ZXJydXB0cywgY2FuJ3QgaGF2ZSBDUFUKYWZmaW5p dHkgY2hhbmdlZCwgYW5kIHdvbid0IGJlIGFjY291bnRlZCBmb3Igd2l0aCBpcnEgc3RhdHMuIERv aW5nIHRoaXMKYWxzbyBzaWxlbmNlcyBhIHJlY3Vyc2l2ZSBsb2NrZGVwIHdhcm5pbmcgYmVjYXVz ZSB3ZSBjYW4gc3BlY2lmeSBhCmRpZmZlcmVudCBsb2NrIGNsYXNzIGZvciB0aGUgY2hhaW5lZCBp bnRlcnJ1cHRzLCBzaWxlbmNpbmcgYSB3YXJuaW5nCnRoYXQgaXMgZWFzeSB0byBzZWUgd2l0aCAn dGhyZWFkaXJxcycgb24gdGhlIGtlcm5lbCBjb21tYW5kbGluZS4KCiBXQVJOSU5HOiBpbmNvbnNp c3RlbnQgbG9jayBzdGF0ZQogNC4xOS4xMCAjNzYgVGFpbnRlZDogRyAgICAgICAgVwogLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY29uc2lzdGVudCB7SU4tSEFSRElSUS1XfSAt PiB7SEFSRElSUS1PTi1XfSB1c2FnZS4KIGlycS80MC1kcHVfbWRzcy8yMDMgW0hDMFswXTpTQzBb Ml06SEUxOlNFMF0gdGFrZXM6CiAwMDAwMDAwMDUzZWE5MDIxICgmaXJxX2Rlc2NfbG9ja19jbGFz cyl7Py4tLn0sIGF0OiBoYW5kbGVfbGV2ZWxfaXJxKzB4MzQvMHgyNmMKIHtJTi1IQVJESVJRLVd9 IHN0YXRlIHdhcyByZWdpc3RlcmVkIGF0OgogICBsb2NrX2FjcXVpcmUrMHgyNDQvMHgzNjAKICAg X3Jhd19zcGluX2xvY2srMHg2NC8weGEwCiAgIGhhbmRsZV9mYXN0ZW9pX2lycSsweDU0LzB4MmVj CiAgIGdlbmVyaWNfaGFuZGxlX2lycSsweDQ0LzB4NWMKICAgX19oYW5kbGVfZG9tYWluX2lycSsw eDljLzB4MTFjCiAgIGdpY19oYW5kbGVfaXJxKzB4MjA4LzB4MjYwCiAgIGVsMV9pcnErMHhiNC8w eDEzMAogICBhcmNoX2NwdV9pZGxlKzB4MTc4LzB4M2NjCiAgIGRlZmF1bHRfaWRsZV9jYWxsKzB4 M2MvMHg1NAogICBkb19pZGxlKzB4MWE4LzB4M2RjCiAgIGNwdV9zdGFydHVwX2VudHJ5KzB4MjQv MHgyOAogICByZXN0X2luaXQrMHgyNDAvMHgyNzAKICAgc3RhcnRfa2VybmVsKzB4NWE4LzB4NmJj CiBpcnEgZXZlbnQgc3RhbXA6IDE4CiBoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0ICgxNyk6IFs8 ZmZmZmZmOTA0MjM4NWU4MD5dIF9yYXdfc3Bpbl91bmxvY2tfaXJxKzB4NDAvMHhjMAogaGFyZGly cXMgbGFzdCBkaXNhYmxlZCBhdCAoMTYpOiBbPGZmZmZmZjkwNDIzN2ExZjQ+XSBfX3NjaGVkdWxl KzB4MjBjLzB4MWJiYwogc29mdGlycXMgbGFzdCAgZW5hYmxlZCBhdCAoMCk6IFs8ZmZmZmZmOTA0 MGYzMThkMD5dIGNvcHlfcHJvY2VzcysweGI1MC8weDM5NjQKIHNvZnRpcnFzIGxhc3QgZGlzYWJs ZWQgYXQgKDE4KTogWzxmZmZmZmY5MDQxMDM2MzY0Pl0gbG9jYWxfYmhfZGlzYWJsZSsweDgvMHgy MAoKIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6CiAgUG9zc2libGUg dW5zYWZlIGxvY2tpbmcgc2NlbmFyaW86CgogICAgICAgIENQVTAKICAgICAgICAtLS0tCiAgIGxv Y2soJmlycV9kZXNjX2xvY2tfY2xhc3MpOwogICA8SW50ZXJydXB0PgogICAgIGxvY2soJmlycV9k ZXNjX2xvY2tfY2xhc3MpOwoKICAqKiogREVBRExPQ0sgKioqCgogbm8gbG9ja3MgaGVsZCBieSBp cnEvNDAtZHB1X21kc3MvMjAzLgoKIHN0YWNrIGJhY2t0cmFjZToKIENQVTogMCBQSUQ6IDIwMyBD b21tOiBpcnEvNDAtZHB1X21kc3MgVGFpbnRlZDogRyAgICAgICAgVyAgICAgICAgIDQuMTkuMTAg Izc2CiBDYWxsIHRyYWNlOgogIGR1bXBfYmFja3RyYWNlKzB4MC8weDJmOAogIHNob3dfc3RhY2sr MHgyMC8weDJjCiAgX19kdW1wX3N0YWNrKzB4MjAvMHgyOAogIGR1bXBfc3RhY2srMHhjYy8weDEw YwogIG1hcmtfbG9jaysweGJlMC8weGUyNAogIF9fbG9ja19hY3F1aXJlKzB4NGNjLzB4MjcwOAog IGxvY2tfYWNxdWlyZSsweDI0NC8weDM2MAogIF9yYXdfc3Bpbl9sb2NrKzB4NjQvMHhhMAogIGhh bmRsZV9sZXZlbF9pcnErMHgzNC8weDI2YwogIGdlbmVyaWNfaGFuZGxlX2lycSsweDQ0LzB4NWMK ICBkcHVfbWRzc19pcnErMHg2NC8weGVjCiAgaXJxX2ZvcmNlZF90aHJlYWRfZm4rMHg1OC8weDlj CiAgaXJxX3RocmVhZCsweDEyMC8weDFkYwogIGt0aHJlYWQrMHgyNDgvMHgyNjAKICByZXRfZnJv bV9mb3JrKzB4MTAvMHgxOAogLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCiBp cnEgMTY5IGhhbmRsZXIgaXJxX2RlZmF1bHRfcHJpbWFyeV9oYW5kbGVyKzB4MC8weDE4IGVuYWJs ZWQgaW50ZXJydXB0cwoKQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpDYzog Sm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4KQ2M6IEpheWFudCBTaGVraGFy IDxqc2hla2hhckBjb2RlYXVyb3JhLm9yZz4KQ2M6IFJhamVzaCBZYWRhdiA8cnlhZGF2QGNvZGVh dXJvcmEub3JnPgpDYzogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4K U2lnbmVkLW9mZi1ieTogU3RlcGhlbiBCb3lkIDxzd2JveWRAY2hyb21pdW0ub3JnPgotLS0KCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfbWRzcy5jIHwgMzYgKysrKysrKysrKysr KystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21k c3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9tZHNzLmMKaW5kZXggY2Iz MDdhMmFiZjA2Li43MzE2YjRhYjFiODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9tZHNzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X21kc3MuYwpAQCAtMjMsMTEgKzIzLDE0IEBAIHN0cnVjdCBkcHVfbWRzcyB7CiAJc3RydWN0 IGRwdV9pcnFfY29udHJvbGxlciBpcnFfY29udHJvbGxlcjsKIH07CiAKLXN0YXRpYyBpcnFyZXR1 cm5fdCBkcHVfbWRzc19pcnEoaW50IGlycSwgdm9pZCAqYXJnKQorc3RhdGljIHZvaWQgZHB1X21k c3NfaXJxKHN0cnVjdCBpcnFfZGVzYyAqZGVzYykKIHsKLQlzdHJ1Y3QgZHB1X21kc3MgKmRwdV9t ZHNzID0gYXJnOworCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSBpcnFfZGVzY19nZXRfaGFu ZGxlcl9kYXRhKGRlc2MpOworCXN0cnVjdCBpcnFfY2hpcCAqY2hpcCA9IGlycV9kZXNjX2dldF9j aGlwKGRlc2MpOwogCXUzMiBpbnRlcnJ1cHRzOwogCisJY2hhaW5lZF9pcnFfZW50ZXIoY2hpcCwg ZGVzYyk7CisKIAlpbnRlcnJ1cHRzID0gcmVhZGxfcmVsYXhlZChkcHVfbWRzcy0+bW1pbyArIEhX X0lOVFJfU1RBVFVTKTsKIAogCXdoaWxlIChpbnRlcnJ1cHRzKSB7CkBAIC0zOSwyMCArNDIsMjAg QEAgc3RhdGljIGlycXJldHVybl90IGRwdV9tZHNzX2lycShpbnQgaXJxLCB2b2lkICphcmcpCiAJ CQkJCSAgIGh3aXJxKTsKIAkJaWYgKG1hcHBpbmcgPT0gMCkgewogCQkJRFJNX0VSUk9SKCJjb3Vs ZG4ndCBmaW5kIGlycSBtYXBwaW5nIGZvciAlbHVcbiIsIGh3aXJxKTsKLQkJCXJldHVybiBJUlFf Tk9ORTsKKwkJCWJyZWFrOwogCQl9CiAKIAkJcmMgPSBnZW5lcmljX2hhbmRsZV9pcnEobWFwcGlu Zyk7CiAJCWlmIChyYyA8IDApIHsKIAkJCURSTV9FUlJPUigiaGFuZGxlIGlycSBmYWlsOiBpcnE9 JWx1IG1hcHBpbmc9JXUgcmM9JWRcbiIsCiAJCQkJICBod2lycSwgbWFwcGluZywgcmMpOwotCQkJ cmV0dXJuIElSUV9OT05FOworCQkJYnJlYWs7CiAJCX0KIAogCQlpbnRlcnJ1cHRzICY9IH4oMSA8 PCBod2lycSk7CiAJfQogCi0JcmV0dXJuIElSUV9IQU5ETEVEOworCWNoYWluZWRfaXJxX2V4aXQo Y2hpcCwgZGVzYyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRwdV9tZHNzX2lycV9tYXNrKHN0cnVjdCBp cnFfZGF0YSAqaXJxZCkKQEAgLTgzLDE2ICs4NiwxNiBAQCBzdGF0aWMgc3RydWN0IGlycV9jaGlw IGRwdV9tZHNzX2lycV9jaGlwID0gewogCS5pcnFfdW5tYXNrID0gZHB1X21kc3NfaXJxX3VubWFz aywKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgbG9ja19jbGFzc19rZXkgZHB1X21kc3NfbG9ja19rZXks IGRwdV9tZHNzX3JlcXVlc3Rfa2V5OworCiBzdGF0aWMgaW50IGRwdV9tZHNzX2lycWRvbWFpbl9t YXAoc3RydWN0IGlycV9kb21haW4gKmRvbWFpbiwKIAkJdW5zaWduZWQgaW50IGlycSwgaXJxX2h3 X251bWJlcl90IGh3aXJxKQogewogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSBkb21haW4t Pmhvc3RfZGF0YTsKLQlpbnQgcmV0OwogCisJaXJxX3NldF9sb2NrZGVwX2NsYXNzKGlycSwgJmRw dV9tZHNzX2xvY2tfa2V5LCAmZHB1X21kc3NfcmVxdWVzdF9rZXkpOwogCWlycV9zZXRfY2hpcF9h bmRfaGFuZGxlcihpcnEsICZkcHVfbWRzc19pcnFfY2hpcCwgaGFuZGxlX2xldmVsX2lycSk7Ci0J cmV0ID0gaXJxX3NldF9jaGlwX2RhdGEoaXJxLCBkcHVfbWRzcyk7Ci0KLQlyZXR1cm4gcmV0Owor CXJldHVybiBpcnFfc2V0X2NoaXBfZGF0YShpcnEsIGRwdV9tZHNzKTsKIH0KIAogc3RhdGljIGNv bnN0IHN0cnVjdCBpcnFfZG9tYWluX29wcyBkcHVfbWRzc19pcnFkb21haW5fb3BzID0gewpAQCAt MTU5LDExICsxNjIsMTMgQEAgc3RhdGljIHZvaWQgZHB1X21kc3NfZGVzdHJveShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9w cml2YXRlOwogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSB0b19kcHVfbWRzcyhwcml2LT5t ZHNzKTsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X21kc3MtPm1wOworCWlu dCBpcnE7CiAKIAlwbV9ydW50aW1lX3N1c3BlbmQoZGV2LT5kZXYpOwogCXBtX3J1bnRpbWVfZGlz YWJsZShkZXYtPmRldik7CiAJX2RwdV9tZHNzX2lycV9kb21haW5fZmluaShkcHVfbWRzcyk7Ci0J ZnJlZV9pcnEocGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKSwgZHB1X21kc3MpOworCWlycSA9IHBs YXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJaXJxX3NldF9jaGFpbmVkX2hhbmRsZXJfYW5kX2Rh dGEoaXJxLCBOVUxMLCBOVUxMKTsKIAltc21fZHNzX3B1dF9jbGsobXAtPmNsa19jb25maWcsIG1w LT5udW1fY2xrKTsKIAlkZXZtX2tmcmVlKCZwZGV2LT5kZXYsIG1wLT5jbGtfY29uZmlnKTsKIApA QCAtMTg3LDYgKzE5Miw3IEBAIGludCBkcHVfbWRzc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJc3RydWN0IGRwdV9tZHNzICpkcHVfbWRzczsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dl ciAqbXA7CiAJaW50IHJldCA9IDA7CisJaW50IGlycTsKIAogCWRwdV9tZHNzID0gZGV2bV9remFs bG9jKGRldi0+ZGV2LCBzaXplb2YoKmRwdV9tZHNzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkcHVf bWRzcykKQEAgLTIxOSwxMiArMjI1LDEyIEBAIGludCBkcHVfbWRzc19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJaWYgKHJldCkKIAkJZ290byBpcnFfZG9tYWluX2Vycm9yOwogCi0JcmV0 ID0gcmVxdWVzdF9pcnEocGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKSwKLQkJCWRwdV9tZHNzX2ly cSwgMCwgImRwdV9tZHNzX2lzciIsIGRwdV9tZHNzKTsKLQlpZiAocmV0KSB7Ci0JCURQVV9FUlJP UigiZmFpbGVkIHRvIGluaXQgaXJxOiAlZFxuIiwgcmV0KTsKKwlpcnEgPSBwbGF0Zm9ybV9nZXRf aXJxKHBkZXYsIDApOworCWlmIChpcnEgPCAwKQogCQlnb3RvIGlycV9lcnJvcjsKLQl9CisKKwlp cnFfc2V0X2NoYWluZWRfaGFuZGxlcl9hbmRfZGF0YShpcnEsIGRwdV9tZHNzX2lycSwKKwkJCQkJ IGRwdV9tZHNzKTsKIAogCXBtX3J1bnRpbWVfZW5hYmxlKGRldi0+ZGV2KTsKIAotLSAKU2VudCBi eSBhIGNvbXB1dGVyIHRocm91Z2ggdHViZXMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZyZWVkcmVubwo=