From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Masney Subject: [PATCH 4/6] firmware: qcom: scm: add OCMEM lock/unlock interface Date: Sun, 16 Jun 2019 09:29:28 -0400 Message-ID: <20190616132930.6942-5-masneyb@onstation.org> References: <20190616132930.6942-1-masneyb@onstation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190616132930.6942-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, david.brown-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+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, bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@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+Ci0tLQpSb2IncyBsYXN0IHZlcnNpb24gb2YgdGhpcyBwYXRjaDoKaHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wYXRjaC83MzQwNzExLwoKIGRyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20t MzIuYyB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2Zpcm13YXJl L3Fjb21fc2NtLTY0LmMgfCAxMiArKysrKysrKysrCiBkcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2Nt LmMgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2Zp cm13YXJlL3Fjb21fc2NtLmggICAgfCAgOSArKysrKysrKwogaW5jbHVkZS9saW51eC9xY29tX3Nj bS5oICAgICAgIHwgMTUgKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20tMzIuYyBiL2Ry aXZlcnMvZmlybXdhcmUvcWNvbV9zY20tMzIuYwppbmRleCAwODliNDcxMjQ5MzMuLjAxMDBjODJi OWMwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS0zMi5jCisrKyBiL2Ry aXZlcnMvZmlybXdhcmUvcWNvbV9zY20tMzIuYwpAQCAtNDYzLDYgKzQ2Myw0MSBAQCBpbnQgX19x Y29tX3NjbV9yZXN0b3JlX3NlY19jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1MzIgc2VjX2lk LAogCXJldHVybiAwOwogfQogCitpbnQgX19xY29tX3NjbV9vY21lbV9sb2NrKHN0cnVjdCBkZXZp Y2UgKmRldiwgdTMyIGlkLCB1MzIgb2Zmc2V0LCB1MzIgc2l6ZSwKKwkJCSAgdTMyIG1vZGUpCit7 CisJc3RydWN0IG9jbWVtX3R6X2xvY2sgeworCQlfX2xlMzIgaWQ7CisJCV9fbGUzMiBvZmZzZXQ7 CisJCV9fbGUzMiBzaXplOworCQlfX2xlMzIgbW9kZTsKKwl9IHJlcXVlc3Q7CisKKwlyZXF1ZXN0 LmlkID0gY3B1X3RvX2xlMzIoaWQpOworCXJlcXVlc3Qub2Zmc2V0ID0gY3B1X3RvX2xlMzIob2Zm c2V0KTsKKwlyZXF1ZXN0LnNpemUgPSBjcHVfdG9fbGUzMihzaXplKTsKKwlyZXF1ZXN0Lm1vZGUg PSBjcHVfdG9fbGUzMihtb2RlKTsKKworCXJldHVybiBxY29tX3NjbV9jYWxsKGRldiwgUUNPTV9T Q01fT0NNRU1fU1ZDLCBRQ09NX1NDTV9PQ01FTV9MT0NLX0NNRCwKKwkJCSAgICAgJnJlcXVlc3Qs IHNpemVvZihyZXF1ZXN0KSwgTlVMTCwgMCk7Cit9CisKK2ludCBfX3Fjb21fc2NtX29jbWVtX3Vu bG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBpZCwgdTMyIG9mZnNldCwgdTMyIHNpemUpCit7 CisJc3RydWN0IG9jbWVtX3R6X3VubG9jayB7CisJCV9fbGUzMiBpZDsKKwkJX19sZTMyIG9mZnNl dDsKKwkJX19sZTMyIHNpemU7CisJfSByZXF1ZXN0OworCisJcmVxdWVzdC5pZCA9IGNwdV90b19s ZTMyKGlkKTsKKwlyZXF1ZXN0Lm9mZnNldCA9IGNwdV90b19sZTMyKG9mZnNldCk7CisJcmVxdWVz dC5zaXplID0gY3B1X3RvX2xlMzIoc2l6ZSk7CisKKwlyZXR1cm4gcWNvbV9zY21fY2FsbChkZXYs IFFDT01fU0NNX09DTUVNX1NWQywgUUNPTV9TQ01fT0NNRU1fVU5MT0NLX0NNRCwKKwkJCSAgICAg JnJlcXVlc3QsIHNpemVvZihyZXF1ZXN0KSwgTlVMTCwgMCk7Cit9CisKIHZvaWQgX19xY29tX3Nj bV9pbml0KHZvaWQpCiB7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2Nt LTY0LmMgYi9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2NtLTY0LmMKaW5kZXggYjZiNzhkYTdmOWM5 Li4yNjc0ZDZkM2NkZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvcWNvbV9zY20tNjQu YworKysgYi9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2NtLTY0LmMKQEAgLTI0Nyw2ICsyNDcsMTgg QEAgaW50IF9fcWNvbV9zY21fcmVzdG9yZV9zZWNfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwg dTMyIHNlY19pZCwKIAlyZXR1cm4gLUVOT1RTVVBQOwogfQogCitpbnQgX19xY29tX3NjbV9vY21l bV9sb2NrKHN0cnVjdCBkZXZpY2UgKmRldiwgdWludDMyX3QgaWQsIHVpbnQzMl90IG9mZnNldCwK KwkJCSAgdWludDMyX3Qgc2l6ZSwgdWludDMyX3QgbW9kZSkKK3sKKwlyZXR1cm4gLUVOT1RTVVBQ OworfQorCitpbnQgX19xY29tX3NjbV9vY21lbV91bmxvY2soc3RydWN0IGRldmljZSAqZGV2LCB1 aW50MzJfdCBpZCwgdWludDMyX3Qgb2Zmc2V0LAorCQkJICAgIHVpbnQzMl90IHNpemUpCit7CisJ cmV0dXJuIC1FTk9UU1VQUDsKK30KKwogdm9pZCBfX3Fjb21fc2NtX2luaXQodm9pZCkKIHsKIAl1 NjQgY21kOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS5jIGIvZHJpdmVy cy9maXJtd2FyZS9xY29tX3NjbS5jCmluZGV4IDU0OTVlZjk5NGM1ZC4uODVhZmI1NGRlZmQ0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL3Fjb21fc2NtLmMKKysrIGIvZHJpdmVycy9maXJt d2FyZS9xY29tX3NjbS5jCkBAIC0xOTMsNiArMTkzLDQ2IEBAIGludCBxY29tX3NjbV9yZXN0b3Jl X3NlY19jb25maWcoc3RydWN0IGRldmljZSAqZGV2LAogfQogRVhQT1JUX1NZTUJPTChxY29tX3Nj bV9yZXN0b3JlX3NlY19jb25maWcpOwogCisvKioKKyAqIHFjb21fc2NtX29jbWVtX2xvY2tfYXZh aWxhYmxlKCkgLSBpcyBPQ01FTSBsb2NrL3VubG9jayBpbnRlcmZhY2UgYXZhaWxhYmxlCisgKi8K K2Jvb2wgcWNvbV9zY21fb2NtZW1fbG9ja19hdmFpbGFibGUodm9pZCkKK3sKKwlyZXR1cm4gX19x Y29tX3NjbV9pc19jYWxsX2F2YWlsYWJsZShfX3NjbS0+ZGV2LCBRQ09NX1NDTV9PQ01FTV9TVkMs CisJCQkJCSAgICBRQ09NX1NDTV9PQ01FTV9MT0NLX0NNRCk7Cit9CitFWFBPUlRfU1lNQk9MKHFj b21fc2NtX29jbWVtX2xvY2tfYXZhaWxhYmxlKTsKKworLyoqCisgKiBxY29tX3NjbV9vY21lbV9s b2NrKCkgLSBjYWxsIE9DTUVNIGxvY2sgaW50ZXJmYWNlIHRvIGFzc2lnbiBhbiBPQ01FTQorICog cmVnaW9uIHRvIHRoZSBzcGVjaWZpZWQgaW5pdGlhdG9yCisgKgorICogQGlkOiAgICAgdHogaW5p dGlhdG9yIGlkCisgKiBAb2Zmc2V0OiBPQ01FTSBvZmZzZXQKKyAqIEBzaXplOiAgIE9DTUVNIHNp emUKKyAqIEBtb2RlOiAgIGFjY2VzcyBtb2RlIChXSURFL05BUlJPVykKKyAqLworaW50IHFjb21f c2NtX29jbWVtX2xvY2soZW51bSBxY29tX3NjbV9vY21lbV9jbGllbnQgaWQsIHUzMiBvZmZzZXQs IHUzMiBzaXplLAorCQkJdTMyIG1vZGUpCit7CisJcmV0dXJuIF9fcWNvbV9zY21fb2NtZW1fbG9j ayhfX3NjbS0+ZGV2LCBpZCwgb2Zmc2V0LCBzaXplLCBtb2RlKTsKK30KK0VYUE9SVF9TWU1CT0wo cWNvbV9zY21fb2NtZW1fbG9jayk7CisKKy8qKgorICogcWNvbV9zY21fb2NtZW1fdW5sb2NrKCkg LSBjYWxsIE9DTUVNIHVubG9jayBpbnRlcmZhY2UgdG8gcmVsZWFzZSBhbiBPQ01FTQorICogcmVn aW9uIGZyb20gdGhlIHNwZWNpZmllZCBpbml0aWF0b3IKKyAqCisgKiBAaWQ6ICAgICB0eiBpbml0 aWF0b3IgaWQKKyAqIEBvZmZzZXQ6IE9DTUVNIG9mZnNldAorICogQHNpemU6ICAgT0NNRU0gc2l6 ZQorICovCitpbnQgcWNvbV9zY21fb2NtZW1fdW5sb2NrKGVudW0gcWNvbV9zY21fb2NtZW1fY2xp ZW50IGlkLCB1MzIgb2Zmc2V0LCB1MzIgc2l6ZSkKK3sKKwlyZXR1cm4gX19xY29tX3NjbV9vY21l bV91bmxvY2soX19zY20tPmRldiwgaWQsIG9mZnNldCwgc2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9M KHFjb21fc2NtX29jbWVtX3VubG9jayk7CisKIC8qKgogICogcWNvbV9zY21fcGFzX3N1cHBvcnRl ZCgpIC0gQ2hlY2sgaWYgdGhlIHBlcmlwaGVyYWwgYXV0aGVudGljYXRpb24gc2VydmljZSBpcwog ICoJCQkgICAgICBhdmFpbGFibGUgZm9yIHRoZSBnaXZlbiBwZXJpcGhlcmlhbApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS5oIGIvZHJpdmVycy9maXJtd2FyZS9xY29tX3Nj bS5oCmluZGV4IGJjY2M3ZDEwYzVjMi4uMzg3ZTNjNGUzM2M1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2Zpcm13YXJlL3Fjb21fc2NtLmgKKysrIGIvZHJpdmVycy9maXJtd2FyZS9xY29tX3NjbS5oCkBA IC00OCw2ICs0OCwxNSBAQCBleHRlcm4gdm9pZCBfX3Fjb21fc2NtX2luaXQodm9pZCk7CiBleHRl cm4gaW50IF9fcWNvbV9zY21fcmVzdG9yZV9zZWNfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwg dTMyIHNlY19pZCwKIAkJCQkJIHUzMiBjdHhfYmFua19udW0pOwogCisjZGVmaW5lIFFDT01fU0NN X09DTUVNX1NWQwkJCTB4ZgorI2RlZmluZSBRQ09NX1NDTV9PQ01FTV9MT0NLX0NNRAkJMHgxCisj ZGVmaW5lIFFDT01fU0NNX09DTUVNX1VOTE9DS19DTUQJCTB4MgorCitleHRlcm4gaW50IF9fcWNv bV9zY21fb2NtZW1fbG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBpZCwgdTMyIG9mZnNldCwK KwkJCQkgdTMyIHNpemUsIHUzMiBtb2RlKTsKK2V4dGVybiBpbnQgX19xY29tX3NjbV9vY21lbV91 bmxvY2soc3RydWN0IGRldmljZSAqZGV2LCB1MzIgaWQsIHUzMiBvZmZzZXQsCisJCQkJICAgdTMy IHNpemUpOworCiAjZGVmaW5lIFFDT01fU0NNX1NWQ19QSUwJCTB4MgogI2RlZmluZSBRQ09NX1ND TV9QQVNfSU5JVF9JTUFHRV9DTUQJMHgxCiAjZGVmaW5lIFFDT01fU0NNX1BBU19NRU1fU0VUVVBf Q01ECTB4MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9xY29tX3NjbS5oIGIvaW5jbHVkZS9s aW51eC9xY29tX3NjbS5oCmluZGV4IGI1YzBhZmFjYTk1NS4uOTc3YzAxYWE1MjRhIDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L3Fjb21fc2NtLmgKKysrIGIvaW5jbHVkZS9saW51eC9xY29tX3Nj bS5oCkBAIC0zNCw2ICszNCwxNiBAQCBlbnVtIHFjb21fc2NtX3NlY19kZXZfaWQgewogCVFDT01f U0NNX0lDRV9ERVZfSUQJPSAyMCwKIH07CiAKK2VudW0gcWNvbV9zY21fb2NtZW1fY2xpZW50IHsK KwlRQ09NX1NDTV9PQ01FTV9VTlVTRURfSUQgPSAweDAsCisJUUNPTV9TQ01fT0NNRU1fR1JBUEhJ Q1NfSUQsCisJUUNPTV9TQ01fT0NNRU1fVklERU9fSUQsCisJUUNPTV9TQ01fT0NNRU1fTFBfQVVE SU9fSUQsCisJUUNPTV9TQ01fT0NNRU1fU0VOU09SU19JRCwKKwlRQ09NX1NDTV9PQ01FTV9PVEhF Ul9PU19JRCwKKwlRQ09NX1NDTV9PQ01FTV9ERUJVR19JRCwKK307CisKICNkZWZpbmUgUUNPTV9T Q01fVk1JRF9ITE9TICAgICAgIDB4MwogI2RlZmluZSBRQ09NX1NDTV9WTUlEX01TU19NU0EgICAg MHhGCiAjZGVmaW5lIFFDT01fU0NNX1ZNSURfV0xBTiAgICAgICAweDE4CkBAIC01NCw2ICs2NCwx MSBAQCBleHRlcm4gaW50IHFjb21fc2NtX2hkY3BfcmVxKHN0cnVjdCBxY29tX3NjbV9oZGNwX3Jl cSAqcmVxLCB1MzIgcmVxX2NudCwKIGV4dGVybiBib29sIHFjb21fc2NtX3Jlc3RvcmVfc2VjX2Nv bmZpZ19hdmFpbGFibGUodm9pZCk7CiBleHRlcm4gaW50IHFjb21fc2NtX3Jlc3RvcmVfc2VjX2Nv bmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJICAgICAgIGVudW0gcWNvbV9zY21fc2VjX2Rl dl9pZCBzZWNfaWQpOworZXh0ZXJuIGJvb2wgcWNvbV9zY21fb2NtZW1fbG9ja19hdmFpbGFibGUo dm9pZCk7CitleHRlcm4gaW50IHFjb21fc2NtX29jbWVtX2xvY2soZW51bSBxY29tX3NjbV9vY21l bV9jbGllbnQgaWQsIHUzMiBvZmZzZXQsCisJCQkgICAgICAgdTMyIHNpemUsIHUzMiBtb2RlKTsK K2V4dGVybiBpbnQgcWNvbV9zY21fb2NtZW1fdW5sb2NrKGVudW0gcWNvbV9zY21fb2NtZW1fY2xp ZW50IGlkLCB1MzIgb2Zmc2V0LAorCQkJCSB1MzIgc2l6ZSk7CiBleHRlcm4gYm9vbCBxY29tX3Nj bV9wYXNfc3VwcG9ydGVkKHUzMiBwZXJpcGhlcmFsKTsKIGV4dGVybiBpbnQgcWNvbV9zY21fcGFz X2luaXRfaW1hZ2UodTMyIHBlcmlwaGVyYWwsIGNvbnN0IHZvaWQgKm1ldGFkYXRhLAogCQkJCSAg IHNpemVfdCBzaXplKTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZnJlZWRyZW5v