From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Masney Subject: [PATCH v3 3/6] firmware: qcom: scm: add OCMEM lock/unlock interface Date: Tue, 25 Jun 2019 22:21:45 -0400 Message-ID: <20190626022148.23712-4-masneyb@onstation.org> References: <20190626022148.23712-1-masneyb@onstation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190626022148.23712-1-masneyb-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: agross-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org Cc: mark.rutland-5wv7dgnIgG8@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jonathan-eSc4qw6YbEQ@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, daniel-/w4YWyX8dFk@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: devicetree@vger.kernel.org RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKQWRkIHN1cHBvcnQgZm9yIHRo ZSBPQ01FTSBsb2NrL3VubG9jayBpbnRlcmZhY2UgdGhhdCBpcyBuZWVkZWQgYnkgdGhlCk9uIENo aXAgTUVNb3J5IChPQ01FTSkgdGhhdCBpcyBwcmVzZW50IG9uIHNvbWUgU25hcGRyYWdvbiBkZXZp Y2VzLgoKU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgpbbWFz bmV5YkBvbnN0YXRpb24ub3JnOiBwb3J0ZWQgdG8gbGF0ZXN0IGtlcm5lbDsgbWlub3IgcmVmb3Jt YXR0aW5nLl0KU2lnbmVkLW9mZi1ieTogQnJpYW4gTWFzbmV5IDxtYXNuZXliQG9uc3RhdGlvbi5v cmc+ClJldmlld2VkLWJ5OiBCam9ybiBBbmRlcnNzb24gPGJqb3JuLmFuZGVyc3NvbkBsaW5hcm8u b3JnPgotLS0KUm9iJ3MgbGFzdCB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2g6Cmh0dHBzOi8vcGF0Y2h3 b3JrLmtlcm5lbC5vcmcvcGF0Y2gvNzM0MDcxMS8KCkNoYW5nZXMgc2luY2UgdjI6Ci0gTm9uZQoK Q2hhbmdlcyBzaW5jZSB2MToKLSBOb25lCgogZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS0zMi5j IHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZmlybXdhcmUvcWNv bV9zY20tNjQuYyB8IDEyICsrKysrKysrKysKIGRyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20uYyAg ICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZmlybXdh cmUvcWNvbV9zY20uaCAgICB8ICA5ICsrKysrKysrCiBpbmNsdWRlL2xpbnV4L3Fjb21fc2NtLmgg ICAgICAgfCAxNSArKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS0zMi5jIGIvZHJpdmVy cy9maXJtd2FyZS9xY29tX3NjbS0zMi5jCmluZGV4IDIxNTA2MWM1ODFlMS4uNGMyNTE0ZTVlMjQ5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2NtLTMyLmMKKysrIGIvZHJpdmVy cy9maXJtd2FyZS9xY29tX3NjbS0zMi5jCkBAIC00NDIsNiArNDQyLDQxIEBAIGludCBfX3Fjb21f c2NtX2hkY3BfcmVxKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHFjb21fc2NtX2hkY3BfcmVx ICpyZXEsCiAJCXJlcSwgcmVxX2NudCAqIHNpemVvZigqcmVxKSwgcmVzcCwgc2l6ZW9mKCpyZXNw KSk7CiB9CiAKK2ludCBfX3Fjb21fc2NtX29jbWVtX2xvY2soc3RydWN0IGRldmljZSAqZGV2LCB1 MzIgaWQsIHUzMiBvZmZzZXQsIHUzMiBzaXplLAorCQkJICB1MzIgbW9kZSkKK3sKKwlzdHJ1Y3Qg b2NtZW1fdHpfbG9jayB7CisJCV9fbGUzMiBpZDsKKwkJX19sZTMyIG9mZnNldDsKKwkJX19sZTMy IHNpemU7CisJCV9fbGUzMiBtb2RlOworCX0gcmVxdWVzdDsKKworCXJlcXVlc3QuaWQgPSBjcHVf dG9fbGUzMihpZCk7CisJcmVxdWVzdC5vZmZzZXQgPSBjcHVfdG9fbGUzMihvZmZzZXQpOworCXJl cXVlc3Quc2l6ZSA9IGNwdV90b19sZTMyKHNpemUpOworCXJlcXVlc3QubW9kZSA9IGNwdV90b19s ZTMyKG1vZGUpOworCisJcmV0dXJuIHFjb21fc2NtX2NhbGwoZGV2LCBRQ09NX1NDTV9PQ01FTV9T VkMsIFFDT01fU0NNX09DTUVNX0xPQ0tfQ01ELAorCQkJICAgICAmcmVxdWVzdCwgc2l6ZW9mKHJl cXVlc3QpLCBOVUxMLCAwKTsKK30KKworaW50IF9fcWNvbV9zY21fb2NtZW1fdW5sb2NrKHN0cnVj dCBkZXZpY2UgKmRldiwgdTMyIGlkLCB1MzIgb2Zmc2V0LCB1MzIgc2l6ZSkKK3sKKwlzdHJ1Y3Qg b2NtZW1fdHpfdW5sb2NrIHsKKwkJX19sZTMyIGlkOworCQlfX2xlMzIgb2Zmc2V0OworCQlfX2xl MzIgc2l6ZTsKKwl9IHJlcXVlc3Q7CisKKwlyZXF1ZXN0LmlkID0gY3B1X3RvX2xlMzIoaWQpOwor CXJlcXVlc3Qub2Zmc2V0ID0gY3B1X3RvX2xlMzIob2Zmc2V0KTsKKwlyZXF1ZXN0LnNpemUgPSBj cHVfdG9fbGUzMihzaXplKTsKKworCXJldHVybiBxY29tX3NjbV9jYWxsKGRldiwgUUNPTV9TQ01f T0NNRU1fU1ZDLCBRQ09NX1NDTV9PQ01FTV9VTkxPQ0tfQ01ELAorCQkJICAgICAmcmVxdWVzdCwg c2l6ZW9mKHJlcXVlc3QpLCBOVUxMLCAwKTsKK30KKwogdm9pZCBfX3Fjb21fc2NtX2luaXQodm9p ZCkKIHsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20tNjQuYyBiL2Ry aXZlcnMvZmlybXdhcmUvcWNvbV9zY20tNjQuYwppbmRleCA5MWQ1YWQ3Y2Y1OGIuLmMzYTNkOTg3 NGRlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS02NC5jCisrKyBiL2Ry aXZlcnMvZmlybXdhcmUvcWNvbV9zY20tNjQuYwpAQCAtMjQxLDYgKzI0MSwxOCBAQCBpbnQgX19x Y29tX3NjbV9oZGNwX3JlcShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBxY29tX3NjbV9oZGNw X3JlcSAqcmVxLAogCXJldHVybiByZXQ7CiB9CiAKK2ludCBfX3Fjb21fc2NtX29jbWVtX2xvY2so c3RydWN0IGRldmljZSAqZGV2LCB1aW50MzJfdCBpZCwgdWludDMyX3Qgb2Zmc2V0LAorCQkJICB1 aW50MzJfdCBzaXplLCB1aW50MzJfdCBtb2RlKQoreworCXJldHVybiAtRU5PVFNVUFA7Cit9CisK K2ludCBfX3Fjb21fc2NtX29jbWVtX3VubG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVpbnQzMl90 IGlkLCB1aW50MzJfdCBvZmZzZXQsCisJCQkgICAgdWludDMyX3Qgc2l6ZSkKK3sKKwlyZXR1cm4g LUVOT1RTVVBQOworfQorCiB2b2lkIF9fcWNvbV9zY21faW5pdCh2b2lkKQogewogCXU2NCBjbWQ7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2NtLmMgYi9kcml2ZXJzL2Zpcm13 YXJlL3Fjb21fc2NtLmMKaW5kZXggMmRkYzExOGRiYTFiLi4yZTEyZWE1NmMzNGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20uYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL3Fj b21fc2NtLmMKQEAgLTE5MCw2ICsxOTAsNDYgQEAgYm9vbCBxY29tX3NjbV9wYXNfc3VwcG9ydGVk KHUzMiBwZXJpcGhlcmFsKQogfQogRVhQT1JUX1NZTUJPTChxY29tX3NjbV9wYXNfc3VwcG9ydGVk KTsKIAorLyoqCisgKiBxY29tX3NjbV9vY21lbV9sb2NrX2F2YWlsYWJsZSgpIC0gaXMgT0NNRU0g bG9jay91bmxvY2sgaW50ZXJmYWNlIGF2YWlsYWJsZQorICovCitib29sIHFjb21fc2NtX29jbWVt X2xvY2tfYXZhaWxhYmxlKHZvaWQpCit7CisJcmV0dXJuIF9fcWNvbV9zY21faXNfY2FsbF9hdmFp bGFibGUoX19zY20tPmRldiwgUUNPTV9TQ01fT0NNRU1fU1ZDLAorCQkJCQkgICAgUUNPTV9TQ01f T0NNRU1fTE9DS19DTUQpOworfQorRVhQT1JUX1NZTUJPTChxY29tX3NjbV9vY21lbV9sb2NrX2F2 YWlsYWJsZSk7CisKKy8qKgorICogcWNvbV9zY21fb2NtZW1fbG9jaygpIC0gY2FsbCBPQ01FTSBs b2NrIGludGVyZmFjZSB0byBhc3NpZ24gYW4gT0NNRU0KKyAqIHJlZ2lvbiB0byB0aGUgc3BlY2lm aWVkIGluaXRpYXRvcgorICoKKyAqIEBpZDogICAgIHR6IGluaXRpYXRvciBpZAorICogQG9mZnNl dDogT0NNRU0gb2Zmc2V0CisgKiBAc2l6ZTogICBPQ01FTSBzaXplCisgKiBAbW9kZTogICBhY2Nl c3MgbW9kZSAoV0lERS9OQVJST1cpCisgKi8KK2ludCBxY29tX3NjbV9vY21lbV9sb2NrKGVudW0g cWNvbV9zY21fb2NtZW1fY2xpZW50IGlkLCB1MzIgb2Zmc2V0LCB1MzIgc2l6ZSwKKwkJCXUzMiBt b2RlKQoreworCXJldHVybiBfX3Fjb21fc2NtX29jbWVtX2xvY2soX19zY20tPmRldiwgaWQsIG9m ZnNldCwgc2l6ZSwgbW9kZSk7Cit9CitFWFBPUlRfU1lNQk9MKHFjb21fc2NtX29jbWVtX2xvY2sp OworCisvKioKKyAqIHFjb21fc2NtX29jbWVtX3VubG9jaygpIC0gY2FsbCBPQ01FTSB1bmxvY2sg aW50ZXJmYWNlIHRvIHJlbGVhc2UgYW4gT0NNRU0KKyAqIHJlZ2lvbiBmcm9tIHRoZSBzcGVjaWZp ZWQgaW5pdGlhdG9yCisgKgorICogQGlkOiAgICAgdHogaW5pdGlhdG9yIGlkCisgKiBAb2Zmc2V0 OiBPQ01FTSBvZmZzZXQKKyAqIEBzaXplOiAgIE9DTUVNIHNpemUKKyAqLworaW50IHFjb21fc2Nt X29jbWVtX3VubG9jayhlbnVtIHFjb21fc2NtX29jbWVtX2NsaWVudCBpZCwgdTMyIG9mZnNldCwg dTMyIHNpemUpCit7CisJcmV0dXJuIF9fcWNvbV9zY21fb2NtZW1fdW5sb2NrKF9fc2NtLT5kZXYs IGlkLCBvZmZzZXQsIHNpemUpOworfQorRVhQT1JUX1NZTUJPTChxY29tX3NjbV9vY21lbV91bmxv Y2spOworCiAvKioKICAqIHFjb21fc2NtX3Bhc19pbml0X2ltYWdlKCkgLSBJbml0aWFsaXplIHBl cmlwaGVyYWwgYXV0aGVudGljYXRpb24gc2VydmljZQogICoJCQkgICAgICAgc3RhdGUgbWFjaGlu ZSBmb3IgYSBnaXZlbiBwZXJpcGhlcmFsLCB1c2luZyB0aGUKZGlmZiAtLWdpdCBhL2RyaXZlcnMv ZmlybXdhcmUvcWNvbV9zY20uaCBiL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20uaAppbmRleCA5 OTUwNmJkODczYzAuLmVmMjkzZWU2N2VjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9x Y29tX3NjbS5oCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20uaApAQCAtNDIsNiArNDIs MTUgQEAgZXh0ZXJuIGludCBfX3Fjb21fc2NtX2hkY3BfcmVxKHN0cnVjdCBkZXZpY2UgKmRldiwK IAogZXh0ZXJuIHZvaWQgX19xY29tX3NjbV9pbml0KHZvaWQpOwogCisjZGVmaW5lIFFDT01fU0NN X09DTUVNX1NWQwkJCTB4ZgorI2RlZmluZSBRQ09NX1NDTV9PQ01FTV9MT0NLX0NNRAkJMHgxCisj ZGVmaW5lIFFDT01fU0NNX09DTUVNX1VOTE9DS19DTUQJCTB4MgorCitleHRlcm4gaW50IF9fcWNv bV9zY21fb2NtZW1fbG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBpZCwgdTMyIG9mZnNldCwK KwkJCQkgdTMyIHNpemUsIHUzMiBtb2RlKTsKK2V4dGVybiBpbnQgX19xY29tX3NjbV9vY21lbV91 bmxvY2soc3RydWN0IGRldmljZSAqZGV2LCB1MzIgaWQsIHUzMiBvZmZzZXQsCisJCQkJICAgdTMy IHNpemUpOworCiAjZGVmaW5lIFFDT01fU0NNX1NWQ19QSUwJCTB4MgogI2RlZmluZSBRQ09NX1ND TV9QQVNfSU5JVF9JTUFHRV9DTUQJMHgxCiAjZGVmaW5lIFFDT01fU0NNX1BBU19NRU1fU0VUVVBf Q01ECTB4MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9xY29tX3NjbS5oIGIvaW5jbHVkZS9s aW51eC9xY29tX3NjbS5oCmluZGV4IDNmMTJjYzc3ZmI1OC4uNTIxYjA4OWJlMWM5IDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L3Fjb21fc2NtLmgKKysrIGIvaW5jbHVkZS9saW51eC9xY29tX3Nj bS5oCkBAIC0yNCw2ICsyNCwxNiBAQCBzdHJ1Y3QgcWNvbV9zY21fdm1wZXJtIHsKIAlpbnQgcGVy bTsKIH07CiAKK2VudW0gcWNvbV9zY21fb2NtZW1fY2xpZW50IHsKKwlRQ09NX1NDTV9PQ01FTV9V TlVTRURfSUQgPSAweDAsCisJUUNPTV9TQ01fT0NNRU1fR1JBUEhJQ1NfSUQsCisJUUNPTV9TQ01f T0NNRU1fVklERU9fSUQsCisJUUNPTV9TQ01fT0NNRU1fTFBfQVVESU9fSUQsCisJUUNPTV9TQ01f T0NNRU1fU0VOU09SU19JRCwKKwlRQ09NX1NDTV9PQ01FTV9PVEhFUl9PU19JRCwKKwlRQ09NX1ND TV9PQ01FTV9ERUJVR19JRCwKK307CisKICNkZWZpbmUgUUNPTV9TQ01fVk1JRF9ITE9TICAgICAg IDB4MwogI2RlZmluZSBRQ09NX1NDTV9WTUlEX01TU19NU0EgICAgMHhGCiAjZGVmaW5lIFFDT01f U0NNX1ZNSURfV0xBTiAgICAgICAweDE4CkBAIC00MSw2ICs1MSwxMSBAQCBleHRlcm4gYm9vbCBx Y29tX3NjbV9pc19hdmFpbGFibGUodm9pZCk7CiBleHRlcm4gYm9vbCBxY29tX3NjbV9oZGNwX2F2 YWlsYWJsZSh2b2lkKTsKIGV4dGVybiBpbnQgcWNvbV9zY21faGRjcF9yZXEoc3RydWN0IHFjb21f c2NtX2hkY3BfcmVxICpyZXEsIHUzMiByZXFfY250LAogCQkJICAgICB1MzIgKnJlc3ApOworZXh0 ZXJuIGJvb2wgcWNvbV9zY21fb2NtZW1fbG9ja19hdmFpbGFibGUodm9pZCk7CitleHRlcm4gaW50 IHFjb21fc2NtX29jbWVtX2xvY2soZW51bSBxY29tX3NjbV9vY21lbV9jbGllbnQgaWQsIHUzMiBv ZmZzZXQsCisJCQkgICAgICAgdTMyIHNpemUsIHUzMiBtb2RlKTsKK2V4dGVybiBpbnQgcWNvbV9z Y21fb2NtZW1fdW5sb2NrKGVudW0gcWNvbV9zY21fb2NtZW1fY2xpZW50IGlkLCB1MzIgb2Zmc2V0 LAorCQkJCSB1MzIgc2l6ZSk7CiBleHRlcm4gYm9vbCBxY29tX3NjbV9wYXNfc3VwcG9ydGVkKHUz MiBwZXJpcGhlcmFsKTsKIGV4dGVybiBpbnQgcWNvbV9zY21fcGFzX2luaXRfaW1hZ2UodTMyIHBl cmlwaGVyYWwsIGNvbnN0IHZvaWQgKm1ldGFkYXRhLAogCQkJCSAgIHNpemVfdCBzaXplKTsKLS0g CjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K RnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5v