From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH 17/25] drm/msm/dpu: remove RM HW block list iterator Date: Mon, 8 Oct 2018 21:27:34 -0700 Message-ID: <1539059262-8326-18-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 UmVwbGFjaW5nIHdpdGggc2ltcGxlciBsaW5rZWQgbGlzdCBoZWxwZXIgaXRlcmF0b3JzLgoKU2ln bmVkLW9mZi1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uYyB8IDEyMCArKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCsp LCA3NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5jCmlu ZGV4IDEyMzQ5OTEuLmE3OTQ1NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9ybS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9y bS5jCkBAIC00NSw0OSArNDUsNiBAQCBzdHJ1Y3QgZHB1X3JtX2h3X2JsayB7CiAJc3RydWN0IGRw dV9od19ibGsgKmh3OwogfTsKIAotLyoqCi0gKiBzdHJ1Y3QgZHB1X3JtX2h3X2l0ZXIgLSBpdGVy YXRvciBmb3IgdXNlIHdpdGggZHB1X3JtCi0gKiBAYmxrOiBkcHVfcm0gaW50ZXJuYWwgYmxvY2sg cmVwcmVzZW50YXRpb24uIENsaWVudHMgaWdub3JlLiBVc2VkIGFzIGl0ZXJhdG9yLgotICogQHR5 cGU6IEhhcmR3YXJlIEJsb2NrIFR5cGUgY2xpZW50IHdpc2hlcyB0byBzZWFyY2ggZm9yLgotICov Ci1zdHJ1Y3QgZHB1X3JtX2h3X2l0ZXIgewotCXN0cnVjdCBkcHVfcm1faHdfYmxrICpibGs7Ci0J ZW51bSBkcHVfaHdfYmxrX3R5cGUgdHlwZTsKLX07Ci0KLXN0YXRpYyB2b2lkIF9kcHVfcm1faW5p dF9od19pdGVyKAotCQlzdHJ1Y3QgZHB1X3JtX2h3X2l0ZXIgKml0ZXIsCi0JCWVudW0gZHB1X2h3 X2Jsa190eXBlIHR5cGUpCi17Ci0JbWVtc2V0KGl0ZXIsIDAsIHNpemVvZigqaXRlcikpOwotCWl0 ZXItPnR5cGUgPSB0eXBlOwotfQotCi1zdGF0aWMgYm9vbCBfZHB1X3JtX2dldF9od19sb2NrZWQo c3RydWN0IGRwdV9ybSAqcm0sIHN0cnVjdCBkcHVfcm1faHdfaXRlciAqaSkKLXsKLQlzdHJ1Y3Qg bGlzdF9oZWFkICpibGtfbGlzdDsKLQotCWlmICghcm0gfHwgIWkgfHwgaS0+dHlwZSA+PSBEUFVf SFdfQkxLX01BWCkgewotCQlEUFVfRVJST1IoImludmFsaWQgcm1cbiIpOwotCQlyZXR1cm4gZmFs c2U7Ci0JfQotCi0JYmxrX2xpc3QgPSAmcm0tPmh3X2Jsa3NbaS0+dHlwZV07Ci0KLQlpZiAoaS0+ YmxrICYmICgmaS0+YmxrLT5saXN0ID09IGJsa19saXN0KSkgewotCQlEUFVfREVCVUcoImF0dGVt cHQgcmVzdW1lIGl0ZXJhdGlvbiBwYXN0IGxhc3RcbiIpOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQot Ci0JaS0+YmxrID0gbGlzdF9wcmVwYXJlX2VudHJ5KGktPmJsaywgYmxrX2xpc3QsIGxpc3QpOwot Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShpLT5ibGssIGJsa19saXN0LCBsaXN0KQot CQlpZiAoIWktPmJsay0+aW5fdXNlKQotCQkJcmV0dXJuIHRydWU7Ci0KLQlyZXR1cm4gZmFsc2U7 Ci19Ci0KIHN0YXRpYyB2b2lkIF9kcHVfcm1faHdfZGVzdHJveShlbnVtIGRwdV9od19ibGtfdHlw ZSB0eXBlLCB2b2lkICpodykKIHsKIAlzd2l0Y2ggKHR5cGUpIHsKQEAgLTMwMSw3ICsyNTgsOCBA QCBzdGF0aWMgYm9vbCBfZHB1X3JtX2NoZWNrX2xtX2FuZF9nZXRfY29ubmVjdGVkX2Jsa3MoCiAJ CXN0cnVjdCBkcHVfcm1faHdfYmxrICpwcmltYXJ5X2xtKQogewogCWNvbnN0IHN0cnVjdCBkcHVf bG1fY2ZnICpsbV9jZmcgPSB0b19kcHVfaHdfbWl4ZXIobG0tPmh3KS0+Y2FwOwotCXN0cnVjdCBk cHVfcm1faHdfaXRlciBpdGVyOworCXN0cnVjdCBkcHVfcm1faHdfYmxrICppdGVyOworCXN0cnVj dCBsaXN0X2hlYWQgKmJsa19saXN0ID0gJnJtLT5od19ibGtzW0RQVV9IV19CTEtfUElOR1BPTkdd OwogCiAJKnBwID0gTlVMTDsKIApAQCAtMzIwLDEwICsyNzgsMTIgQEAgc3RhdGljIGJvb2wgX2Rw dV9ybV9jaGVja19sbV9hbmRfZ2V0X2Nvbm5lY3RlZF9ibGtzKAogCQl9CiAJfQogCi0JX2RwdV9y bV9pbml0X2h3X2l0ZXIoJml0ZXIsIERQVV9IV19CTEtfUElOR1BPTkcpOwotCXdoaWxlIChfZHB1 X3JtX2dldF9od19sb2NrZWQocm0sICZpdGVyKSkgewotCQlpZiAoaXRlci5ibGstPmh3LT5pZCA9 PSBsbV9jZmctPnBpbmdwb25nKSB7Ci0JCQkqcHAgPSBpdGVyLmJsazsKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGl0ZXIsIGJsa19saXN0LCBsaXN0KSB7CisJCWlmIChpdGVyLT5pbl91c2UpCisJCQlj b250aW51ZTsKKworCQlpZiAoaXRlci0+aHctPmlkID09IGxtX2NmZy0+cGluZ3BvbmcpIHsKKwkJ CSpwcCA9IGl0ZXI7CiAJCQlicmVhazsKIAkJfQogCX0KQEAgLTM0Myw3ICszMDMsOCBAQCBzdGF0 aWMgaW50IF9kcHVfcm1fcmVzZXJ2ZV9sbXMoc3RydWN0IGRwdV9ybSAqcm0sCiB7CiAJc3RydWN0 IGRwdV9ybV9od19ibGsgKmxtW01BWF9CTE9DS1NdOwogCXN0cnVjdCBkcHVfcm1faHdfYmxrICpw cFtNQVhfQkxPQ0tTXTsKLQlzdHJ1Y3QgZHB1X3JtX2h3X2l0ZXIgaXRlcl9pLCBpdGVyX2o7CisJ c3RydWN0IGRwdV9ybV9od19ibGsgKml0ZXJfaSwgKml0ZXJfajsKKwlzdHJ1Y3QgbGlzdF9oZWFk ICpibGtfbGlzdCA9ICZybS0+aHdfYmxrc1tEUFVfSFdfQkxLX0xNXTsKIAlpbnQgbG1fY291bnQg PSAwOwogCWludCBpLCByYyA9IDA7CiAKQEAgLTM1MywxNCArMzE0LDE4IEBAIHN0YXRpYyBpbnQg X2RwdV9ybV9yZXNlcnZlX2xtcyhzdHJ1Y3QgZHB1X3JtICpybSwKIAl9CiAKIAkvKiBGaW5kIGEg cHJpbWFyeSBtaXhlciAqLwotCV9kcHVfcm1faW5pdF9od19pdGVyKCZpdGVyX2ksIERQVV9IV19C TEtfTE0pOwotCXdoaWxlIChsbV9jb3VudCAhPSByZXFzLT50b3BvbG9neS5udW1fbG0gJiYKLQkJ CV9kcHVfcm1fZ2V0X2h3X2xvY2tlZChybSwgJml0ZXJfaSkpIHsKKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGl0ZXJfaSwgYmxrX2xpc3QsIGxpc3QpIHsKKwkJaWYgKGl0ZXJfaS0+aW5fdXNlKQorCQkJ Y29udGludWU7CisKKwkJaWYgKGxtX2NvdW50ID09IHJlcXMtPnRvcG9sb2d5Lm51bV9sbSkKKwkJ CWJyZWFrOworCiAJCW1lbXNldCgmbG0sIDAsIHNpemVvZihsbSkpOwogCQltZW1zZXQoJnBwLCAw LCBzaXplb2YocHApKTsKIAogCQlsbV9jb3VudCA9IDA7Ci0JCWxtW2xtX2NvdW50XSA9IGl0ZXJf aS5ibGs7CisJCWxtW2xtX2NvdW50XSA9IGl0ZXJfaTsKIAogCQlpZiAoIV9kcHVfcm1fY2hlY2tf bG1fYW5kX2dldF9jb25uZWN0ZWRfYmxrcygKIAkJCQlybSwgcmVxcywgbG1bbG1fY291bnRdLApA QCAtMzcwLDE5ICszMzUsMjIgQEAgc3RhdGljIGludCBfZHB1X3JtX3Jlc2VydmVfbG1zKHN0cnVj dCBkcHVfcm0gKnJtLAogCQkrK2xtX2NvdW50OwogCiAJCS8qIFZhbGlkIHByaW1hcnkgbWl4ZXIg Zm91bmQsIGZpbmQgbWF0Y2hpbmcgcGVlcnMgKi8KLQkJX2RwdV9ybV9pbml0X2h3X2l0ZXIoJml0 ZXJfaiwgRFBVX0hXX0JMS19MTSk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkoaXRlcl9qLCBibGtf bGlzdCwgbGlzdCkgeworCQkJaWYgKGl0ZXJfai0+aW5fdXNlKQorCQkJCWNvbnRpbnVlOwogCi0J CXdoaWxlIChsbV9jb3VudCAhPSByZXFzLT50b3BvbG9neS5udW1fbG0gJiYKLQkJCQlfZHB1X3Jt X2dldF9od19sb2NrZWQocm0sICZpdGVyX2opKSB7Ci0JCQlpZiAoaXRlcl9pLmJsayA9PSBpdGVy X2ouYmxrKQorCQkJaWYgKGxtX2NvdW50ID09IHJlcXMtPnRvcG9sb2d5Lm51bV9sbSkKKwkJCQli cmVhazsKKworCQkJaWYgKGl0ZXJfaSA9PSBpdGVyX2opCiAJCQkJY29udGludWU7CiAKIAkJCWlm ICghX2RwdV9ybV9jaGVja19sbV9hbmRfZ2V0X2Nvbm5lY3RlZF9ibGtzKAotCQkJCQlybSwgcmVx cywgaXRlcl9qLmJsaywKLQkJCQkJJnBwW2xtX2NvdW50XSwgaXRlcl9pLmJsaykpCisJCQkJCXJt LCByZXFzLCBpdGVyX2osCisJCQkJCSZwcFtsbV9jb3VudF0sIGl0ZXJfaSkpCiAJCQkJY29udGlu dWU7CiAKLQkJCWxtW2xtX2NvdW50XSA9IGl0ZXJfai5ibGs7CisJCQlsbVtsbV9jb3VudF0gPSBp dGVyX2o7CiAJCQkrK2xtX2NvdW50OwogCQl9CiAJfQpAQCAtNDE3LDcgKzM4NSw5IEBAIHN0YXRp YyBpbnQgX2RwdV9ybV9yZXNlcnZlX2N0bHMoCiAJCWNvbnN0IHN0cnVjdCBtc21fZGlzcGxheV90 b3BvbG9neSAqdG9wKQogewogCXN0cnVjdCBkcHVfcm1faHdfYmxrICpjdGxzW01BWF9CTE9DS1Nd OwotCXN0cnVjdCBkcHVfcm1faHdfaXRlciBpdGVyOworCXN0cnVjdCBkcHVfcm1faHdfYmxrICpp dGVyOworCXN0cnVjdCBsaXN0X2hlYWQgKmJsa19saXN0ID0gJnJtLT5od19ibGtzW0RQVV9IV19C TEtfQ1RMXTsKKwogCWludCBpID0gMCwgbnVtX2N0bHMgPSAwOwogCWJvb2wgbmVlZHNfc3BsaXRf ZGlzcGxheSA9IGZhbHNlOwogCkBAIC00MjgsMjEgKzM5OCwyMyBAQCBzdGF0aWMgaW50IF9kcHVf cm1fcmVzZXJ2ZV9jdGxzKAogCiAJbmVlZHNfc3BsaXRfZGlzcGxheSA9IF9kcHVfcm1fbmVlZHNf c3BsaXRfZGlzcGxheSh0b3ApOwogCi0JX2RwdV9ybV9pbml0X2h3X2l0ZXIoJml0ZXIsIERQVV9I V19CTEtfQ1RMKTsKLQl3aGlsZSAoX2RwdV9ybV9nZXRfaHdfbG9ja2VkKHJtLCAmaXRlcikpIHsK LQkJY29uc3Qgc3RydWN0IGRwdV9od19jdGwgKmN0bCA9IHRvX2RwdV9od19jdGwoaXRlci5ibGst Pmh3KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZXIsIGJsa19saXN0LCBsaXN0KSAgeworCQlj b25zdCBzdHJ1Y3QgZHB1X2h3X2N0bCAqY3RsID0gdG9fZHB1X2h3X2N0bChpdGVyLT5odyk7CiAJ CXVuc2lnbmVkIGxvbmcgZmVhdHVyZXMgPSBjdGwtPmNhcHMtPmZlYXR1cmVzOwogCQlib29sIGhh c19zcGxpdF9kaXNwbGF5OwogCisJCWlmIChpdGVyLT5pbl91c2UpCisJCQljb250aW51ZTsKKwog CQloYXNfc3BsaXRfZGlzcGxheSA9IEJJVChEUFVfQ1RMX1NQTElUX0RJU1BMQVkpICYgZmVhdHVy ZXM7CiAKLQkJRFBVX0RFQlVHKCJjdGwgJWQgY2FwcyAweCVsWFxuIiwgaXRlci5ibGstPmh3LT5p ZCwgZmVhdHVyZXMpOworCQlEUFVfREVCVUcoImN0bCAlZCBjYXBzIDB4JWxYXG4iLCBpdGVyLT5o dy0+aWQsIGZlYXR1cmVzKTsKIAogCQlpZiAobmVlZHNfc3BsaXRfZGlzcGxheSAhPSBoYXNfc3Bs aXRfZGlzcGxheSkKIAkJCWNvbnRpbnVlOwogCi0JCWN0bHNbaV0gPSBpdGVyLmJsazsKLQkJRFBV X0RFQlVHKCJjdGwgJWQgbWF0Y2hcbiIsIGl0ZXIuYmxrLT5ody0+aWQpOworCQljdGxzW2ldID0g aXRlcjsKKwkJRFBVX0RFQlVHKCJjdGwgJWQgbWF0Y2hcbiIsIGl0ZXItPmh3LT5pZCk7CiAKIAkJ aWYgKCsraSA9PSBudW1fY3RscykKIAkJCWJyZWFrOwpAQCAtNDY4LDI2ICs0NDAsMjYgQEAgc3Rh dGljIHN0cnVjdCBkcHVfcm1faHdfYmxrICpfZHB1X3JtX3Jlc2VydmVfaW50ZigKIAkJdWludDMy X3QgaWQsCiAJCWVudW0gZHB1X2h3X2Jsa190eXBlIHR5cGUpCiB7Ci0Jc3RydWN0IGRwdV9ybV9o d19pdGVyIGl0ZXI7CisJc3RydWN0IGRwdV9ybV9od19ibGsgKml0ZXI7CisJc3RydWN0IGxpc3Rf aGVhZCAqYmxrX2xpc3QgPSAmcm0tPmh3X2Jsa3NbRFBVX0hXX0JMS19JTlRGXTsKIAogCS8qIEZp bmQgdGhlIGJsb2NrIGVudHJ5IGluIHRoZSBybSwgYW5kIG5vdGUgdGhlIHJlc2VydmF0aW9uICov Ci0JX2RwdV9ybV9pbml0X2h3X2l0ZXIoJml0ZXIsIHR5cGUpOwotCXdoaWxlIChfZHB1X3JtX2dl dF9od19sb2NrZWQocm0sICZpdGVyKSkgewotCQlpZiAoaXRlci5ibGstPmh3LT5pZCAhPSBpZCkK KwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZXIsIGJsa19saXN0LCBsaXN0KSAgeworCQlpZiAoaXRl ci0+aHctPmlkICE9IGlkIHx8IGl0ZXItPmluX3VzZSkKIAkJCWNvbnRpbnVlOwogCi0JCXRyYWNl X2RwdV9ybV9yZXNlcnZlX2ludGYoaXRlci5ibGstPmh3LT5pZCwgRFBVX0hXX0JMS19JTlRGKTsK KwkJdHJhY2VfZHB1X3JtX3Jlc2VydmVfaW50ZihpdGVyLT5ody0+aWQsIERQVV9IV19CTEtfSU5U Rik7CiAKIAkJYnJlYWs7CiAJfQogCiAJLyogU2hvdWxkbid0IGhhcHBlbiBzaW5jZSBpbnRmcyBh cmUgZml4ZWQgYXQgcHJvYmUgKi8KLQlpZiAoIWl0ZXIuYmxrKSB7CisJaWYgKCFpdGVyKSB7CiAJ CURQVV9FUlJPUigiY291bGRuJ3QgZmluZCB0eXBlICVkIGlkICVkXG4iLCB0eXBlLCBpZCk7CiAJ CXJldHVybiBOVUxMOwogCX0KIAotCXJldHVybiBpdGVyLmJsazsKKwlyZXR1cm4gaXRlcjsKIH0K IAogc3RhdGljIGludCBfZHB1X3JtX3Jlc2VydmVfaW50Zl9yZWxhdGVkX2h3KAotLSAKVGhlIFF1 YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1 cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1h aWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==