From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: [PATCH v13 1/4] iommu/arm-smmu: Add pm_runtime/sleep ops Date: Thu, 19 Jul 2018 15:45:36 +0530 Message-ID: <20180719101539.6104-2-vivek.gautam@codeaurora.org> References: <20180719101539.6104-1-vivek.gautam@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180719101539.6104-1-vivek.gautam-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: joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org, robin.murphy-5wv7dgnIgG8@public.gmane.org, will.deacon-5wv7dgnIgG8@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: mark.rutland-5wv7dgnIgG8@public.gmane.org, architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org, Vivek Gautam , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org List-Id: devicetree@vger.kernel.org RnJvbTogU3JpY2hhcmFuIFIgPHNyaWNoYXJhbkBjb2RlYXVyb3JhLm9yZz4KClRoZSBzbW11IG5l ZWRzIHRvIGJlIGZ1bmN0aW9uYWwgb25seSB3aGVuIHRoZSByZXNwZWN0aXZlCm1hc3RlcidzIHVz aW5nIGl0IGFyZSBhY3RpdmUuIFRoZSBkZXZpY2VfbGluayBmZWF0dXJlCmhlbHBzIHRvIHRyYWNr IHN1Y2ggZnVuY3Rpb25hbCBkZXBlbmRlbmNpZXMsIHNvIHRoYXQgdGhlCmlvbW11IGdldHMgcG93 ZXJlZCB3aGVuIHRoZSBtYXN0ZXIgZGV2aWNlIGVuYWJsZXMgaXRzZWxmCnVzaW5nIHBtX3J1bnRp bWUuIFNvIGJ5IGFkYXB0aW5nIHRoZSBzbW11IGRyaXZlciBmb3IKcnVudGltZSBwbSwgYWJvdmUg c2FpZCBkZXBlbmRlbmN5IGNhbiBiZSBhZGRyZXNzZWQuCgpUaGlzIHBhdGNoIGFkZHMgdGhlIHBt IHJ1bnRpbWUvc2xlZXAgY2FsbGJhY2tzIHRvIHRoZQpkcml2ZXIgYW5kIGFsc28gdGhlIGZ1bmN0 aW9ucyB0byBwYXJzZSB0aGUgc21tdSBjbG9ja3MKZnJvbSBEVCBhbmQgZW5hYmxlIHRoZW0gaW4g cmVzdW1lL3N1c3BlbmQuCgpBbHNvLCB3aGlsZSB3ZSBlbmFibGUgdGhlIHJ1bnRpbWUgcG0gYWRk IGEgcG0gc2xlZXAgc3VzcGVuZApjYWxsYmFjayB0aGF0IHB1c2hlcyBkZXZpY2VzIHRvIGxvdyBw b3dlciBzdGF0ZSBieSB0dXJuaW5nCnRoZSBjbG9ja3Mgb2ZmIGluIGEgc3lzdGVtIHNsZWVwLgpB bHNvIGFkZCBjb3JyZXNwb25kaW5nIGNsb2NrIGVuYWJsZSBwYXRoIGluIHJlc3VtZSBjYWxsYmFj ay4KClNpZ25lZC1vZmYtYnk6IFNyaWNoYXJhbiBSIDxzcmljaGFyYW5AY29kZWF1cm9yYS5vcmc+ ClNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Clt2 aXZlazogcmV3b3JrIGZvciBjbG9jayBhbmQgcG0gb3BzXQpTaWduZWQtb2ZmLWJ5OiBWaXZlayBH YXV0YW0gPHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9yZz4KUmV2aWV3ZWQtYnk6IFRvbWFzeiBG aWdhIDx0ZmlnYUBjaHJvbWl1bS5vcmc+Ci0tLQoKQ2hhbmdlcyBzaW5jZSB2MTI6CiAtIEFkZGVk IHBtIHNsZWVwIC5zdXNwZW5kIGNhbGxiYWNrLiBUaGlzIGRpc2FibGVzIHRoZSBjbG9ja3MuCiAt IEFkZGVkIGNvcnJlc3BvbmRpbmcgY2hhbmdlIHRvIGVuYWJsZSBjbG9ja3MgaW4gLnJlc3VtZQog IHBtIHNsZWVwIGNhbGxiYWNrLgoKIGRyaXZlcnMvaW9tbXUvYXJtLXNtbXUuYyB8IDc1ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5n ZWQsIDczIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9pb21tdS9hcm0tc21tdS5jIGIvZHJpdmVycy9pb21tdS9hcm0tc21tdS5jCmluZGV4IGM3M2Nm Y2UxY2NjMC4uOTEzOGE2ZmZmZTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lvbW11L2FybS1zbW11 LmMKKysrIGIvZHJpdmVycy9pb21tdS9hcm0tc21tdS5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5j bHVkZSA8bGludXgvb2ZfaW9tbXUuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRl IDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+ CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAK QEAgLTIwNSw2ICsyMDYsOCBAQCBzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlIHsKIAl1MzIJCQkJbnVt X2dsb2JhbF9pcnFzOwogCXUzMgkJCQludW1fY29udGV4dF9pcnFzOwogCXVuc2lnbmVkIGludAkJ CSppcnFzOworCXN0cnVjdCBjbGtfYnVsa19kYXRhCQkqY2xrczsKKwlpbnQJCQkJbnVtX2Nsa3M7 CiAKIAl1MzIJCQkJY2F2aXVtX2lkX2Jhc2U7IC8qIFNwZWNpZmljIHRvIENhdml1bSAqLwogCkBA IC0xODk3LDEwICsxOTAwLDEyIEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVfZGV2aWNlX2NmZ19wcm9i ZShzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11KQogc3RydWN0IGFybV9zbW11X21hdGNoX2Rh dGEgewogCWVudW0gYXJtX3NtbXVfYXJjaF92ZXJzaW9uIHZlcnNpb247CiAJZW51bSBhcm1fc21t dV9pbXBsZW1lbnRhdGlvbiBtb2RlbDsKKwljb25zdCBjaGFyICogY29uc3QgKmNsa3M7CisJaW50 IG51bV9jbGtzOwogfTsKIAogI2RlZmluZSBBUk1fU01NVV9NQVRDSF9EQVRBKG5hbWUsIHZlciwg aW1wKQlcCi1zdGF0aWMgc3RydWN0IGFybV9zbW11X21hdGNoX2RhdGEgbmFtZSA9IHsgLnZlcnNp b24gPSB2ZXIsIC5tb2RlbCA9IGltcCB9CitzdGF0aWMgY29uc3Qgc3RydWN0IGFybV9zbW11X21h dGNoX2RhdGEgbmFtZSA9IHsgLnZlcnNpb24gPSB2ZXIsIC5tb2RlbCA9IGltcCB9CiAKIEFSTV9T TU1VX01BVENIX0RBVEEoc21tdV9nZW5lcmljX3YxLCBBUk1fU01NVV9WMSwgR0VORVJJQ19TTU1V KTsKIEFSTV9TTU1VX01BVENIX0RBVEEoc21tdV9nZW5lcmljX3YyLCBBUk1fU01NVV9WMiwgR0VO RVJJQ19TTU1VKTsKQEAgLTE5MTksNiArMTkyNCwyMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBhcm1fc21tdV9vZl9tYXRjaFtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFC TEUob2YsIGFybV9zbW11X29mX21hdGNoKTsKIAorc3RhdGljIHZvaWQgYXJtX3NtbXVfZmlsbF9j bGtfZGF0YShzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11LAorCQkJCSAgIGNvbnN0IGNoYXIg KiBjb25zdCAqY2xrcykKK3sKKwlpbnQgaTsKKworCWlmIChzbW11LT5udW1fY2xrcyA8IDEpCisJ CXJldHVybjsKKworCXNtbXUtPmNsa3MgPSBkZXZtX2tjYWxsb2Moc21tdS0+ZGV2LCBzbW11LT5u dW1fY2xrcywKKwkJCQkgIHNpemVvZigqc21tdS0+Y2xrcyksIEdGUF9LRVJORUwpOworCWlmICgh c21tdS0+Y2xrcykKKwkJcmV0dXJuOworCisJZm9yIChpID0gMDsgaSA8IHNtbXUtPm51bV9jbGtz OyBpKyspCisJCXNtbXUtPmNsa3NbaV0uaWQgPSBjbGtzW2ldOworfQorCiAjaWZkZWYgQ09ORklH X0FDUEkKIHN0YXRpYyBpbnQgYWNwaV9zbW11X2dldF9kYXRhKHUzMiBtb2RlbCwgc3RydWN0IGFy bV9zbW11X2RldmljZSAqc21tdSkKIHsKQEAgLTIwMDEsNiArMjAyMyw5IEBAIHN0YXRpYyBpbnQg YXJtX3NtbXVfZGV2aWNlX2R0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiAJ ZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYpOwogCXNtbXUtPnZlcnNpb24gPSBk YXRhLT52ZXJzaW9uOwogCXNtbXUtPm1vZGVsID0gZGF0YS0+bW9kZWw7CisJc21tdS0+bnVtX2Ns a3MgPSBkYXRhLT5udW1fY2xrczsKKworCWFybV9zbW11X2ZpbGxfY2xrX2RhdGEoc21tdSwgZGF0 YS0+Y2xrcyk7CiAKIAlwYXJzZV9kcml2ZXJfb3B0aW9ucyhzbW11KTsKIApAQCAtMjA5OSw2ICsy MTI0LDE0IEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVfZGV2aWNlX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCiAJCXNtbXUtPmlycXNbaV0gPSBpcnE7CiAJfQogCisJZXJyID0gZGV2 bV9jbGtfYnVsa19nZXQoc21tdS0+ZGV2LCBzbW11LT5udW1fY2xrcywgc21tdS0+Y2xrcyk7CisJ aWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IGNsa19idWxrX3ByZXBhcmUoc21tdS0+ bnVtX2Nsa3MsIHNtbXUtPmNsa3MpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKIAllcnIg PSBhcm1fc21tdV9kZXZpY2VfY2ZnX3Byb2JlKHNtbXUpOwogCWlmIChlcnIpCiAJCXJldHVybiBl cnI7CkBAIC0yMTgxLDYgKzIyMTQsOSBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RldmljZV9yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCS8qIFR1cm4gdGhlIHRoaW5nIG9m ZiAqLwogCXdyaXRlbChzQ1IwX0NMSUVOVFBELCBBUk1fU01NVV9HUjBfTlMoc21tdSkgKyBBUk1f U01NVV9HUjBfc0NSMCk7CisKKwljbGtfYnVsa191bnByZXBhcmUoc21tdS0+bnVtX2Nsa3MsIHNt bXUtPmNsa3MpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIxODksMTUgKzIyMjUsNTAgQEAgc3Rh dGljIHZvaWQgYXJtX3NtbXVfZGV2aWNlX3NodXRkb3duKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCiAJYXJtX3NtbXVfZGV2aWNlX3JlbW92ZShwZGV2KTsKIH0KIAorc3RhdGljIGludCBf X21heWJlX3VudXNlZCBhcm1fc21tdV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYp Cit7CisJc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp OworCisJcmV0dXJuIGNsa19idWxrX2VuYWJsZShzbW11LT5udW1fY2xrcywgc21tdS0+Y2xrcyk7 Cit9CisKK3N0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgYXJtX3NtbXVfcnVudGltZV9zdXNwZW5k KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0g ZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwljbGtfYnVsa19kaXNhYmxlKHNtbXUtPm51bV9jbGtz LCBzbW11LT5jbGtzKTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IF9fbWF5YmVfdW51 c2VkIGFybV9zbW11X3BtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGFy bV9zbW11X2RldmljZSAqc21tdSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCByZXQ7CisK KwlpZiAoIXBtX3J1bnRpbWVfc3VzcGVuZGVkKGRldikpIHsKKwkJcmV0ID0gYXJtX3NtbXVfcnVu dGltZV9yZXN1bWUoZGV2KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQogCiAJYXJt X3NtbXVfZGV2aWNlX3Jlc2V0KHNtbXUpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgU0lNUExF X0RFVl9QTV9PUFMoYXJtX3NtbXVfcG1fb3BzLCBOVUxMLCBhcm1fc21tdV9wbV9yZXN1bWUpOwor c3RhdGljIGludCBfX21heWJlX3VudXNlZCBhcm1fc21tdV9wbV9zdXNwZW5kKHN0cnVjdCBkZXZp Y2UgKmRldikKK3sKKwlpZiAoIXBtX3J1bnRpbWVfc3VzcGVuZGVkKGRldikpCisJCXJldHVybiBh cm1fc21tdV9ydW50aW1lX3N1c3BlbmQoZGV2KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMg Y29uc3Qgc3RydWN0IGRldl9wbV9vcHMgYXJtX3NtbXVfcG1fb3BzID0geworCVNFVF9TWVNURU1f U0xFRVBfUE1fT1BTKGFybV9zbW11X3BtX3N1c3BlbmQsIGFybV9zbW11X3BtX3Jlc3VtZSkKKwlT RVRfUlVOVElNRV9QTV9PUFMoYXJtX3NtbXVfcnVudGltZV9zdXNwZW5kLAorCQkJICAgYXJtX3Nt bXVfcnVudGltZV9yZXN1bWUsIE5VTEwpCit9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Ry aXZlciBhcm1fc21tdV9kcml2ZXIgPSB7CiAJLmRyaXZlcgk9IHsKLS0gClFVQUxDT01NIElORElB LCBvbiBiZWhhbGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1i ZXIKb2YgQ29kZSBBdXJvcmEgRm9ydW0sIGhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlvbgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5v IG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==