From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH 08/25] drm/msm/dpu: release reservation using crtc state Date: Mon, 8 Oct 2018 21:27:25 -0700 Message-ID: <1539059262-8326-9-git-send-email-jsanka@codeaurora.org> References: <1539059262-8326-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: <1539059262-8326-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 VXNlIHRoZSBodyBibG9jayBwb2ludGVycyBzdG9yZWQgaW4gY3J0YyBzdGF0ZSB0bwpyZWxlYXNl IHRoZW0gYmFjayB0byBSTSByZXNvdXJjZSBwb29sLiBUaGlzIGNoYW5nZQppcyBtYWRlIHRvIHVu Y291cGxlIFJNIHJlc2VydmF0aW9uIGZyb20gZW5jb2Rlcl9pZC4KU2VwYXJhdGUgY2hhbmdlIGlz IHN1Ym1pdHRlZCB0byBjbGVhbiB1cCBSTSBvZgplbmNvZGVyIGlkIHRhZ2dpbmcuCgpTaWduZWQt b2ZmLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMgICAgICB8IDY5ICsrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaCAg ICAgIHwgIDYgKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDE3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9l bmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCmlu ZGV4IDE3ZGJiYzMuLmE4ZmQxNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXIuYwpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29k ZXJfdmlydF9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKIAogCURQVV9ERUJV R19FTkMoZHB1X2VuYywgImVuY29kZXIgZGlzYWJsZWRcbiIpOwogCi0JZHB1X3JtX3JlbGVhc2Uo JmRwdV9rbXMtPnJtLCBkcm1fZW5jKTsKKwlkcHVfcm1fcmVsZWFzZSgmZHB1X2ttcy0+cm0sIGRy bV9lbmMtPmNydGMtPnN0YXRlKTsKIH0KIAogc3RhdGljIGVudW0gZHB1X2ludGYgZHB1X2VuY29k ZXJfZ2V0X2ludGYoc3RydWN0IGRwdV9tZHNzX2NmZyAqY2F0YWxvZywKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X3JtLmMKaW5kZXggNTcwM2IxMS4uNjE5YjU5NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMKQEAgLTYyNSwyNyArNjI1LDcwIEBAIHN0YXRpYyBp bnQgX2RwdV9ybV9wb3B1bGF0ZV9yZXF1aXJlbWVudHMoCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRp YyB2b2lkIF9kcHVfcm1fcmVsZWFzZV9yZXNlcnZhdGlvbihzdHJ1Y3QgZHB1X3JtICpybSwgdWlu dDMyX3QgZW5jX2lkKQorc3RhdGljIGludCBfZHB1X3JtX3JlbGVhc2VfaHcoc3RydWN0IGRwdV9y bSAqcm0sIGVudW0gZHB1X2h3X2Jsa190eXBlIHR5cGUsCisJCQkgICAgICBpbnQgaWQpCiB7CiAJ c3RydWN0IGRwdV9ybV9od19ibGsgKmJsazsKLQllbnVtIGRwdV9od19ibGtfdHlwZSB0eXBlOwog Ci0JZm9yICh0eXBlID0gMDsgdHlwZSA8IERQVV9IV19CTEtfTUFYOyB0eXBlKyspIHsKLQkJbGlz dF9mb3JfZWFjaF9lbnRyeShibGssICZybS0+aHdfYmxrc1t0eXBlXSwgbGlzdCkgewotCQkJaWYg KGJsay0+ZW5jX2lkID09IGVuY19pZCkgewotCQkJCWJsay0+ZW5jX2lkID0gMDsKLQkJCQlEUFVf REVCVUcoInJlbCBlbmMgJWQgJWQgJWRcbiIsIGVuY19pZCwKLQkJCQkJICBibGstPnR5cGUsIGJs ay0+aWQpOwotCQkJfQorCWxpc3RfZm9yX2VhY2hfZW50cnkoYmxrLCAmcm0tPmh3X2Jsa3NbdHlw ZV0sIGxpc3QpIHsKKwkJaWYgKGJsay0+aHctPmlkID09IGlkKSB7CisJCQlibGstPmVuY19pZCA9 IDA7CisJCQlyZXR1cm4gMDsKIAkJfQogCX0KKworCURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBm aW5kIGh3IGlkKCVkKSBvZiB0eXBlKCVkKSBmb3IgcmVsZWFzaW5nXG4iLAorCQkgICAgICBpZCwg dHlwZSk7CisKKwlyZXR1cm4gLUVJTlZBTDsKIH0KIAotdm9pZCBkcHVfcm1fcmVsZWFzZShzdHJ1 Y3QgZHB1X3JtICpybSwgc3RydWN0IGRybV9lbmNvZGVyICplbmMpCitzdGF0aWMgdm9pZCBfZHB1 X3JtX3JlbGVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IGRwdV9ybSAqcm0sCisJCQkJCXN0cnVjdCBk cHVfY3J0Y19zdGF0ZSAqZHB1X2NzdGF0ZSkKIHsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkg PCBkcHVfY3N0YXRlLT5udW1fbWl4ZXJzOyBpKyspIHsKKwkJc3RydWN0IGRwdV9jcnRjX21peGVy ICptaXhlciA9ICZkcHVfY3N0YXRlLT5taXhlcnNbaV07CisKKwkJaWYgKCFtaXhlci0+aHdfbG0p CisJCQljb250aW51ZTsKKworCQlpZiAoIV9kcHVfcm1fcmVsZWFzZV9odyhybSwgRFBVX0hXX0JM S19MTSwKKwkJCQkJbWl4ZXItPmh3X2xtLT5iYXNlLmlkKSkKKwkJCW1peGVyLT5od19sbSA9IE5V TEw7CisKKwkJaWYgKCFfZHB1X3JtX3JlbGVhc2VfaHcocm0sIERQVV9IV19CTEtfUElOR1BPTkcs CisJCQkJCW1peGVyLT5od19wcC0+YmFzZS5pZCkpCisJCQltaXhlci0+aHdfcHAgPSBOVUxMOwor CX0KKworCWZvciAoaSA9IDA7IGkgPCBkcHVfY3N0YXRlLT5udW1fY3RsczsgaSsrKSB7CisJCWlm ICghZHB1X2NzdGF0ZS0+aHdfY3Rsc1tpXSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghX2RwdV9y bV9yZWxlYXNlX2h3KHJtLCBEUFVfSFdfQkxLX0NUTCwKKwkJCQkJZHB1X2NzdGF0ZS0+aHdfY3Rs c1tpXS0+YmFzZS5pZCkpCisJCQlkcHVfY3N0YXRlLT5od19jdGxzW2ldID0gTlVMTDsKKwl9CisK Kwlmb3IgKGkgPSAwOyBpIDwgZHB1X2NzdGF0ZS0+bnVtX2ludGZzOyBpKyspIHsKKwkJaWYgKCFk cHVfY3N0YXRlLT5od19pbnRmc1tpXSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghX2RwdV9ybV9y ZWxlYXNlX2h3KHJtLCBEUFVfSFdfQkxLX0lOVEYsCisJCQkJCWRwdV9jc3RhdGUtPmh3X2ludGZz W2ldLT5iYXNlLmlkKSkKKwkJCWRwdV9jc3RhdGUtPmh3X2ludGZzW2ldID0gTlVMTDsKKwl9Cit9 CisKK3ZvaWQgZHB1X3JtX3JlbGVhc2Uoc3RydWN0IGRwdV9ybSAqcm0sIHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9jc3Rh dGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKKwogCW11dGV4X2xvY2soJnJtLT5y bV9sb2NrKTsKIAotCV9kcHVfcm1fcmVsZWFzZV9yZXNlcnZhdGlvbihybSwgZW5jLT5iYXNlLmlk KTsKKwlfZHB1X3JtX3JlbGVhc2VfcmVzZXJ2YXRpb24ocm0sIGRwdV9jc3RhdGUpOwogCiAJbXV0 ZXhfdW5sb2NrKCZybS0+cm1fbG9jayk7CiB9CkBAIC02NzksMTIgKzcyMiwxMiBAQCBpbnQgZHB1 X3JtX3Jlc2VydmUoCiAJcmV0ID0gX2RwdV9ybV9tYWtlX3Jlc2VydmF0aW9uKHJtLCBlbmMsIGRw dV9jc3RhdGUsICZyZXFzKTsKIAlpZiAocmV0KSB7CiAJCURQVV9FUlJPUigiZmFpbGVkIHRvIHJl c2VydmUgaHcgcmVzb3VyY2VzOiAlZFxuIiwgcmV0KTsKLQkJX2RwdV9ybV9yZWxlYXNlX3Jlc2Vy dmF0aW9uKHJtLCBlbmMtPmJhc2UuaWQpOworCQlfZHB1X3JtX3JlbGVhc2VfcmVzZXJ2YXRpb24o cm0sIGRwdV9jc3RhdGUpOwogCX0gZWxzZSBpZiAodGVzdF9vbmx5KSB7CiAJCSAvKiB0ZXN0X29u bHk6IHRlc3QgdGhlIHJlc2VydmF0aW9uIGFuZCB0aGVuIHVuZG8gKi8KIAkJRFBVX0RFQlVHKCJ0 ZXN0X29ubHk6IGRpc2NhcmQgdGVzdCBbZW5jOiAlZF1cbiIsCiAJCQkJZW5jLT5iYXNlLmlkKTsK LQkJX2RwdV9ybV9yZWxlYXNlX3Jlc2VydmF0aW9uKHJtLCBlbmMtPmJhc2UuaWQpOworCQlfZHB1 X3JtX3JlbGVhc2VfcmVzZXJ2YXRpb24ocm0sIGRwdV9jc3RhdGUpOwogCX0KIAogZW5kOgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmggYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaAppbmRleCBlYjZhNmFjLi5lNDhlOGYyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaApAQCAtOTUsMTMgKzk1LDEzIEBA IGludCBkcHVfcm1fcmVzZXJ2ZShzdHJ1Y3QgZHB1X3JtICpybSwKIAkJYm9vbCB0ZXN0X29ubHkp OwogCiAvKioKLSAqIGRwdV9ybV9yZXNlcnZlIC0gR2l2ZW4gdGhlIGVuY29kZXIgZm9yIHRoZSBk aXNwbGF5IGNoYWluLCByZWxlYXNlIGFueQorICogZHB1X3JtX3JlbGVhc2UgLSBHaXZlbiB0aGUg ZW5jb2RlciBmb3IgdGhlIGRpc3BsYXkgY2hhaW4sIHJlbGVhc2UgYW55CiAgKglIVyBibG9ja3Mg cHJldmlvdXNseSByZXNlcnZlZCBmb3IgdGhhdCB1c2UgY2FzZS4KICAqIEBybTogRFBVIFJlc291 cmNlIE1hbmFnZXIgaGFuZGxlCi0gKiBAZW5jOiBEUk0gRW5jb2RlciBoYW5kbGUKKyAqIEBjcnRj X3N0YXRlOiBhdG9taWMgRFJNIHN0YXRlIGhhbmRsZQogICogQFJldHVybjogMCBvbiBTdWNjZXNz IG90aGVyd2lzZSAtRVJST1IKICAqLwotdm9pZCBkcHVfcm1fcmVsZWFzZShzdHJ1Y3QgZHB1X3Jt ICpybSwgc3RydWN0IGRybV9lbmNvZGVyICplbmMpOwordm9pZCBkcHVfcm1fcmVsZWFzZShzdHJ1 Y3QgZHB1X3JtICpybSwgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIAogLyoq CiAgKiBkcHVfcm1fZ2V0X21kcCAtIFJldHJpZXZlIEhXIGJsb2NrIGZvciBNRFAgVE9QLgotLSAK VGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBD b2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVj dAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRy ZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==