From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 2/5] drm/msm/dpu: Integrate interconnect API in MDSS Date: Tue, 18 Jun 2019 13:24:10 -0700 Message-ID: <20190618202425.15259-3-robdclark@gmail.com> References: <20190618202425.15259-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190618202425.15259-1-robdclark-Re5JQEeQqe8AvxtiuMwx3w@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 Cc: Rob Clark , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jordan Crouse , Abhinav Kumar , Stephen Boyd , Jayant Shekhar , Rob Clark , Sean Paul , Daniel Vetter , Jeykumar Sankaran , Sean Paul , Georgi Djakov , Sravanthi Kollukuduru List-Id: dri-devel@lists.freedesktop.org RnJvbTogSmF5YW50IFNoZWtoYXIgPGpzaGVraGFyQGNvZGVhdXJvcmEub3JnPgoKVGhlIGludGVy Y29ubmVjdCBmcmFtZXdvcmsgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBhCnN0YW5kYXJkIGtlcm5l bCBpbnRlcmZhY2UgdG8gY29udHJvbCB0aGUgc2V0dGluZ3Mgb2YKdGhlIGludGVyY29ubmVjdHMg b24gYSBTb0MuCgpUaGUgaW50ZXJjb25uZWN0IEFQSSB1c2VzIGEgY29uc3VtZXIvcHJvdmlkZXIt YmFzZWQgbW9kZWwsCndoZXJlIHRoZSBwcm92aWRlcnMgYXJlIHRoZSBpbnRlcmNvbm5lY3QgYnVz ZXMgYW5kIHRoZQpjb25zdW1lcnMgY291bGQgYmUgdmFyaW91cyBkcml2ZXJzLgoKTURTUyBpcyBv bmUgb2YgdGhlIGludGVyY29ubmVjdCBjb25zdW1lcnMgd2hpY2ggdXNlcyB0aGUKaW50ZXJjb25u ZWN0IEFQSXMgdG8gZ2V0IHRoZSBwYXRoIGJldHdlZW4gZW5kcG9pbnRzIGFuZApzZXQgaXRzIGJh bmR3aWR0aCByZXF1aXJlbWVudCBmb3IgdGhlIGdpdmVuIGludGVyY29ubmVjdGVkCnBhdGguCgpD aGFuZ2VzIGluIHYyOgoJLSBSZW1vdmUgZXJyb3IgbG9nIGFuZCB1bm5lY2Vzc2FyeSBjaGVjayAo Sm9yZGFuIENyb3VzZSkKCkNoYW5nZXMgaW4gdjM6CgktIENvZGUgY2xlYW4gaW52b2x2aW5nIHZh cmlhYmxlIG5hbWUgY2hhbmdlLCByZW1vdmFsCgkgIG9mIGV4dHJhIHBhcmFudGhlc2lzIGFuZCB2 YXJpYWJsZXMgKE1hdHRoaWFzIEthZWhsY2tlKQoKQ2hhbmdlcyBpbiB2NDoKCS0gQWRkIGNvbW1l bnRzLCBzcGFjaW5ncywgdGFicywgcHJvcGVyIHBvcnQgbmFtZQoJICBhbmQgaWNjIG1hY3JvIChH ZW9yZ2kgRGpha292KQoKQ2hhbmdlcyBpbiB2NToKCS0gQ29tbWl0IHRleHQgYW5kIHBhcmVudGhl c2lzIGFsaWdubWVudCAoR2VvcmdpIERqYWtvdikKCkNoYW5nZXMgaW4gdjY6CgktIENoYW5nZSB0 byBuZXcgaWNjX3NldCBBUEkncyAoRG91ZyBBbmRlcnNvbikKCkNoYW5nZXMgaW4gdjc6CgktIEZp eGVkIGEgdHlwbwoKQ2hhbmdlcyBpbiB2ODoKCS0gSGFuZGxlIHRoZSBvZl9pY2NfZ2V0KCkgcmV0 dXJuaW5nIE5VTEwgY2FzZS4gIEluIHByYWN0aWNlCgkgIGljY19zZXRfYncoKSB3aWxsIGdyYWNl ZnVsbHkgaGFuZGxlIHRoZSBjYXNlIG9mIGEgTlVMTCBwYXRoLAoJICBidXQgaXQncyBwcm9iYWJs eSBiZXN0IGZvciBjbGFyaXR5IHRvIGtlZXAgbnVtX3BhdGhzPTAgaW4KCSAgdGhpcyBjYXNlLgoK U2lnbmVkLW9mZi1ieTogU3JhdmFudGhpIEtvbGx1a3VkdXJ1IDxza29sbHVrdUBjb2RlYXVyb3Jh Lm9yZz4KU2lnbmVkLW9mZi1ieTogSmF5YW50IFNoZWtoYXIgPGpzaGVraGFyQGNvZGVhdXJvcmEu b3JnPgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BjaHJvbWl1bS5vcmc+CkFj a2VkLWJ5OiBHZW9yZ2kgRGpha292IDxnZW9yZ2kuZGpha292QGxpbmFyby5vcmc+Ci0tLQogZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYyB8IDQ5ICsrKysrKysrKysrKysr KysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3Mu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9tZHNzLmMKaW5kZXggNzMxNmI0 YWIxYjg1Li5iMWQwNDM3YWM3YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9tZHNzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X21kc3MuYwpAQCAtNCwxMSArNCwxNSBAQAogICovCiAKICNpbmNsdWRlICJkcHVfa21zLmgiCisj aW5jbHVkZSA8bGludXgvaW50ZXJjb25uZWN0Lmg+CiAKICNkZWZpbmUgdG9fZHB1X21kc3MoeCkg Y29udGFpbmVyX29mKHgsIHN0cnVjdCBkcHVfbWRzcywgYmFzZSkKIAogI2RlZmluZSBIV19JTlRS X1NUQVRVUwkJCTB4MDAxMAogCisvKiBNYXggQlcgZGVmaW5lZCBpbiBLQnBzICovCisjZGVmaW5l IE1BWF9CVwkJCQk2ODAwMDAwCisKIHN0cnVjdCBkcHVfaXJxX2NvbnRyb2xsZXIgewogCXVuc2ln bmVkIGxvbmcgZW5hYmxlZF9tYXNrOwogCXN0cnVjdCBpcnFfZG9tYWluICpkb21haW47CkBAIC0y MSw4ICsyNSwzMCBAQCBzdHJ1Y3QgZHB1X21kc3MgewogCXUzMiBod3ZlcnNpb247CiAJc3RydWN0 IGRzc19tb2R1bGVfcG93ZXIgbXA7CiAJc3RydWN0IGRwdV9pcnFfY29udHJvbGxlciBpcnFfY29u dHJvbGxlcjsKKwlzdHJ1Y3QgaWNjX3BhdGggKnBhdGhbMl07CisJdTMyIG51bV9wYXRoczsKIH07 CiAKK3N0YXRpYyBpbnQgZHB1X21kc3NfcGFyc2VfZGF0YV9idXNfaWNjX3BhdGgoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKKwkJCQkJCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MpCit7CisJc3Ry dWN0IGljY19wYXRoICpwYXRoMCA9IG9mX2ljY19nZXQoZGV2LT5kZXYsICJtZHAwLW1lbSIpOwor CXN0cnVjdCBpY2NfcGF0aCAqcGF0aDEgPSBvZl9pY2NfZ2V0KGRldi0+ZGV2LCAibWRwMS1tZW0i KTsKKworCWlmIChJU19FUlJfT1JfTlVMTChwYXRoMCkpCisJCXJldHVybiBQVFJfRVJSX09SX1pF Uk8ocGF0aDApOworCisJZHB1X21kc3MtPnBhdGhbMF0gPSBwYXRoMDsKKwlkcHVfbWRzcy0+bnVt X3BhdGhzID0gMTsKKworCWlmICghSVNfRVJSX09SX05VTEwocGF0aDEpKSB7CisJCWRwdV9tZHNz LT5wYXRoWzFdID0gcGF0aDE7CisJCWRwdV9tZHNzLT5udW1fcGF0aHMrKzsKKwl9CisKKwlyZXR1 cm4gMDsKK30KKwogc3RhdGljIHZvaWQgZHB1X21kc3NfaXJxKHN0cnVjdCBpcnFfZGVzYyAqZGVz YykKIHsKIAlzdHJ1Y3QgZHB1X21kc3MgKmRwdV9tZHNzID0gaXJxX2Rlc2NfZ2V0X2hhbmRsZXJf ZGF0YShkZXNjKTsKQEAgLTEzNCw3ICsxNjAsMTEgQEAgc3RhdGljIGludCBkcHVfbWRzc19lbmFi bGUoc3RydWN0IG1zbV9tZHNzICptZHNzKQogewogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3Mg PSB0b19kcHVfbWRzcyhtZHNzKTsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1 X21kc3MtPm1wOwotCWludCByZXQ7CisJaW50IHJldCwgaTsKKwl1NjQgYXZnX2J3ID0gZHB1X21k c3MtPm51bV9wYXRocyA/IE1BWF9CVyAvIGRwdV9tZHNzLT5udW1fcGF0aHMgOiAwOworCisJZm9y IChpID0gMDsgaSA8IGRwdV9tZHNzLT5udW1fcGF0aHM7IGkrKykKKwkJaWNjX3NldF9idyhkcHVf bWRzcy0+cGF0aFtpXSwgYXZnX2J3LCBrQnBzX3RvX2ljYyhNQVhfQlcpKTsKIAogCXJldCA9IG1z bV9kc3NfZW5hYmxlX2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGssIHRydWUpOwogCWlm IChyZXQpCkBAIC0xNDcsMTIgKzE3NywxNSBAQCBzdGF0aWMgaW50IGRwdV9tZHNzX2Rpc2FibGUo c3RydWN0IG1zbV9tZHNzICptZHNzKQogewogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSB0 b19kcHVfbWRzcyhtZHNzKTsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X21k c3MtPm1wOwotCWludCByZXQ7CisJaW50IHJldCwgaTsKIAogCXJldCA9IG1zbV9kc3NfZW5hYmxl X2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGssIGZhbHNlKTsKIAlpZiAocmV0KQogCQlE UFVfRVJST1IoImNsb2NrIGRpc2FibGUgZmFpbGVkLCByZXQ6JWRcbiIsIHJldCk7CiAKKwlmb3Ig KGkgPSAwOyBpIDwgZHB1X21kc3MtPm51bV9wYXRoczsgaSsrKQorCQlpY2Nfc2V0X2J3KGRwdV9t ZHNzLT5wYXRoW2ldLCAwLCAwKTsKKwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE2Myw2ICsxOTYs NyBAQCBzdGF0aWMgdm9pZCBkcHVfbWRzc19kZXN0cm95KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJc3RydWN0IGRwdV9tZHNzICpkcHVfbWRzcyA9IHRvX2RwdV9tZHNzKHByaXYtPm1kc3MpOwog CXN0cnVjdCBkc3NfbW9kdWxlX3Bvd2VyICptcCA9ICZkcHVfbWRzcy0+bXA7CiAJaW50IGlycTsK KwlpbnQgaTsKIAogCXBtX3J1bnRpbWVfc3VzcGVuZChkZXYtPmRldik7CiAJcG1fcnVudGltZV9k aXNhYmxlKGRldi0+ZGV2KTsKQEAgLTE3Miw2ICsyMDYsOSBAQCBzdGF0aWMgdm9pZCBkcHVfbWRz c19kZXN0cm95KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJbXNtX2Rzc19wdXRfY2xrKG1wLT5j bGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7CiAJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xr X2NvbmZpZyk7CiAKKwlmb3IgKGkgPSAwOyBpIDwgZHB1X21kc3MtPm51bV9wYXRoczsgaSsrKQor CQlpY2NfcHV0KGRwdV9tZHNzLT5wYXRoW2ldKTsKKwogCWlmIChkcHVfbWRzcy0+bW1pbykKIAkJ ZGV2bV9pb3VubWFwKCZwZGV2LT5kZXYsIGRwdV9tZHNzLT5tbWlvKTsKIAlkcHVfbWRzcy0+bW1p byA9IE5VTEw7CkBAIC0yMTEsNiArMjQ4LDEwIEBAIGludCBkcHVfbWRzc19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJfQogCWRwdV9tZHNzLT5tbWlvX2xlbiA9IHJlc291cmNlX3NpemUo cmVzKTsKIAorCXJldCA9IGRwdV9tZHNzX3BhcnNlX2RhdGFfYnVzX2ljY19wYXRoKGRldiwgZHB1 X21kc3MpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAltcCA9ICZkcHVfbWRzcy0+bXA7 CiAJcmV0ID0gbXNtX2Rzc19wYXJzZV9jbG9jayhwZGV2LCBtcCk7CiAJaWYgKHJldCkgewpAQCAt MjMyLDE0ICsyNzMsMTQgQEAgaW50IGRwdV9tZHNzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlpcnFfc2V0X2NoYWluZWRfaGFuZGxlcl9hbmRfZGF0YShpcnEsIGRwdV9tZHNzX2lycSwK IAkJCQkJIGRwdV9tZHNzKTsKIAorCXByaXYtPm1kc3MgPSAmZHB1X21kc3MtPmJhc2U7CisKIAlw bV9ydW50aW1lX2VuYWJsZShkZXYtPmRldik7CiAKIAlwbV9ydW50aW1lX2dldF9zeW5jKGRldi0+ ZGV2KTsKIAlkcHVfbWRzcy0+aHd2ZXJzaW9uID0gcmVhZGxfcmVsYXhlZChkcHVfbWRzcy0+bW1p byk7CiAJcG1fcnVudGltZV9wdXRfc3luYyhkZXYtPmRldik7CiAKLQlwcml2LT5tZHNzID0gJmRw dV9tZHNzLT5iYXNlOwotCiAJcmV0dXJuIHJldDsKIAogaXJxX2Vycm9yOgotLSAKMi4yMC4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8g bWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8=