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: Wed, 8 May 2019 13:42:12 -0700 Message-ID: <20190508204219.31687-3-robdclark@gmail.com> References: <20190508204219.31687-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190508204219.31687-1-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Rob Clark , freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, David Airlie , linux-arm-msm@vger.kernel.org, Abhinav Kumar , Stephen Boyd , Jayant Shekhar , Sean Paul , 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 eGVkIGEgdHlwbwoKU2lnbmVkLW9mZi1ieTogU3JhdmFudGhpIEtvbGx1a3VkdXJ1IDxza29sbHVr dUBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9mZi1ieTogSmF5YW50IFNoZWtoYXIgPGpzaGVraGFy QGNvZGVhdXJvcmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BjaHJv bWl1bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYyB8 IDQ5ICsrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDQ1IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X21kc3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9t ZHNzLmMKaW5kZXggNzMxNmI0YWIxYjg1Li5lM2M1NmNjZDczNTcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9tZHNzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYwpAQCAtNCwxMSArNCwxNSBAQAogICovCiAKICNpbmNs dWRlICJkcHVfa21zLmgiCisjaW5jbHVkZSA8bGludXgvaW50ZXJjb25uZWN0Lmg+CiAKICNkZWZp bmUgdG9fZHB1X21kc3MoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcHVfbWRzcywgYmFzZSkK IAogI2RlZmluZSBIV19JTlRSX1NUQVRVUwkJCTB4MDAxMAogCisvKiBNYXggQlcgZGVmaW5lZCBp biBLQnBzICovCisjZGVmaW5lIE1BWF9CVwkJCQk2ODAwMDAwCisKIHN0cnVjdCBkcHVfaXJxX2Nv bnRyb2xsZXIgewogCXVuc2lnbmVkIGxvbmcgZW5hYmxlZF9tYXNrOwogCXN0cnVjdCBpcnFfZG9t YWluICpkb21haW47CkBAIC0yMSw4ICsyNSwzMCBAQCBzdHJ1Y3QgZHB1X21kc3MgewogCXUzMiBo d3ZlcnNpb247CiAJc3RydWN0IGRzc19tb2R1bGVfcG93ZXIgbXA7CiAJc3RydWN0IGRwdV9pcnFf Y29udHJvbGxlciBpcnFfY29udHJvbGxlcjsKKwlzdHJ1Y3QgaWNjX3BhdGggKnBhdGhbMl07CisJ dTMyIG51bV9wYXRoczsKIH07CiAKK3N0YXRpYyBpbnQgZHB1X21kc3NfcGFyc2VfZGF0YV9idXNf aWNjX3BhdGgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJCXN0cnVjdCBkcHVfbWRzcyAq ZHB1X21kc3MpCit7CisJc3RydWN0IGljY19wYXRoICpwYXRoMCA9IG9mX2ljY19nZXQoZGV2LT5k ZXYsICJtZHAwLW1lbSIpOworCXN0cnVjdCBpY2NfcGF0aCAqcGF0aDEgPSBvZl9pY2NfZ2V0KGRl di0+ZGV2LCAibWRwMS1tZW0iKTsKKworCWlmIChJU19FUlIocGF0aDApKQorCQlyZXR1cm4gUFRS X0VSUihwYXRoMCk7CisKKwlkcHVfbWRzcy0+cGF0aFswXSA9IHBhdGgwOworCWRwdV9tZHNzLT5u dW1fcGF0aHMgPSAxOworCisJaWYgKCFJU19FUlIocGF0aDEpKSB7CisJCWRwdV9tZHNzLT5wYXRo WzFdID0gcGF0aDE7CisJCWRwdV9tZHNzLT5udW1fcGF0aHMrKzsKKwl9CisKKwlyZXR1cm4gMDsK K30KKwogc3RhdGljIHZvaWQgZHB1X21kc3NfaXJxKHN0cnVjdCBpcnFfZGVzYyAqZGVzYykKIHsK IAlzdHJ1Y3QgZHB1X21kc3MgKmRwdV9tZHNzID0gaXJxX2Rlc2NfZ2V0X2hhbmRsZXJfZGF0YShk ZXNjKTsKQEAgLTEzNCw3ICsxNjAsMTEgQEAgc3RhdGljIGludCBkcHVfbWRzc19lbmFibGUoc3Ry dWN0IG1zbV9tZHNzICptZHNzKQogewogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSB0b19k cHVfbWRzcyhtZHNzKTsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X21kc3Mt Pm1wOwotCWludCByZXQ7CisJaW50IHJldCwgaTsKKwl1NjQgYXZnX2J3ID0gZHB1X21kc3MtPm51 bV9wYXRocyA/IE1BWF9CVyAvIGRwdV9tZHNzLT5udW1fcGF0aHMgOiAwOworCisJZm9yIChpID0g MDsgaSA8IGRwdV9tZHNzLT5udW1fcGF0aHM7IGkrKykKKwkJaWNjX3NldF9idyhkcHVfbWRzcy0+ cGF0aFtpXSwgYXZnX2J3LCBrQnBzX3RvX2ljYyhNQVhfQlcpKTsKIAogCXJldCA9IG1zbV9kc3Nf ZW5hYmxlX2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGssIHRydWUpOwogCWlmIChyZXQp CkBAIC0xNDcsMTIgKzE3NywxNSBAQCBzdGF0aWMgaW50IGRwdV9tZHNzX2Rpc2FibGUoc3RydWN0 IG1zbV9tZHNzICptZHNzKQogewogCXN0cnVjdCBkcHVfbWRzcyAqZHB1X21kc3MgPSB0b19kcHVf bWRzcyhtZHNzKTsKIAlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXAgPSAmZHB1X21kc3MtPm1w OwotCWludCByZXQ7CisJaW50IHJldCwgaTsKIAogCXJldCA9IG1zbV9kc3NfZW5hYmxlX2Nsayht cC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGssIGZhbHNlKTsKIAlpZiAocmV0KQogCQlEUFVfRVJS T1IoImNsb2NrIGRpc2FibGUgZmFpbGVkLCByZXQ6JWRcbiIsIHJldCk7CiAKKwlmb3IgKGkgPSAw OyBpIDwgZHB1X21kc3MtPm51bV9wYXRoczsgaSsrKQorCQlpY2Nfc2V0X2J3KGRwdV9tZHNzLT5w YXRoW2ldLCAwLCAwKTsKKwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE2Myw2ICsxOTYsNyBAQCBz dGF0aWMgdm9pZCBkcHVfbWRzc19kZXN0cm95KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3Ry dWN0IGRwdV9tZHNzICpkcHVfbWRzcyA9IHRvX2RwdV9tZHNzKHByaXYtPm1kc3MpOwogCXN0cnVj dCBkc3NfbW9kdWxlX3Bvd2VyICptcCA9ICZkcHVfbWRzcy0+bXA7CiAJaW50IGlycTsKKwlpbnQg aTsKIAogCXBtX3J1bnRpbWVfc3VzcGVuZChkZXYtPmRldik7CiAJcG1fcnVudGltZV9kaXNhYmxl KGRldi0+ZGV2KTsKQEAgLTE3Miw2ICsyMDYsOSBAQCBzdGF0aWMgdm9pZCBkcHVfbWRzc19kZXN0 cm95KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJbXNtX2Rzc19wdXRfY2xrKG1wLT5jbGtfY29u ZmlnLCBtcC0+bnVtX2Nsayk7CiAJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xrX2NvbmZp Zyk7CiAKKwlmb3IgKGkgPSAwOyBpIDwgZHB1X21kc3MtPm51bV9wYXRoczsgaSsrKQorCQlpY2Nf cHV0KGRwdV9tZHNzLT5wYXRoW2ldKTsKKwogCWlmIChkcHVfbWRzcy0+bW1pbykKIAkJZGV2bV9p b3VubWFwKCZwZGV2LT5kZXYsIGRwdV9tZHNzLT5tbWlvKTsKIAlkcHVfbWRzcy0+bW1pbyA9IE5V TEw7CkBAIC0yMTEsNiArMjQ4LDEwIEBAIGludCBkcHVfbWRzc19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJfQogCWRwdV9tZHNzLT5tbWlvX2xlbiA9IHJlc291cmNlX3NpemUocmVzKTsK IAorCXJldCA9IGRwdV9tZHNzX3BhcnNlX2RhdGFfYnVzX2ljY19wYXRoKGRldiwgZHB1X21kc3Mp OworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAltcCA9ICZkcHVfbWRzcy0+bXA7CiAJcmV0 ID0gbXNtX2Rzc19wYXJzZV9jbG9jayhwZGV2LCBtcCk7CiAJaWYgKHJldCkgewpAQCAtMjMyLDE0 ICsyNzMsMTQgQEAgaW50IGRwdV9tZHNzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlp cnFfc2V0X2NoYWluZWRfaGFuZGxlcl9hbmRfZGF0YShpcnEsIGRwdV9tZHNzX2lycSwKIAkJCQkJ IGRwdV9tZHNzKTsKIAorCXByaXYtPm1kc3MgPSAmZHB1X21kc3MtPmJhc2U7CisKIAlwbV9ydW50 aW1lX2VuYWJsZShkZXYtPmRldik7CiAKIAlwbV9ydW50aW1lX2dldF9zeW5jKGRldi0+ZGV2KTsK IAlkcHVfbWRzcy0+aHd2ZXJzaW9uID0gcmVhZGxfcmVsYXhlZChkcHVfbWRzcy0+bW1pbyk7CiAJ cG1fcnVudGltZV9wdXRfc3luYyhkZXYtPmRldik7CiAKLQlwcml2LT5tZHNzID0gJmRwdV9tZHNz LT5iYXNlOwotCiAJcmV0dXJuIHJldDsKIAogaXJxX2Vycm9yOgotLSAKMi4yMC4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=