From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: [PATCH v12 1/4] iommu/arm-smmu: Add pm_runtime/sleep ops Date: Sun, 8 Jul 2018 23:04:10 +0530 Message-ID: <20180708173413.1965-2-vivek.gautam@codeaurora.org> References: <20180708173413.1965-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: <20180708173413.1965-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, mark.rutland-5wv7dgnIgG8@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: 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, rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, 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 cmVzdW1lL3N1c3BlbmQuCgpTaWduZWQtb2ZmLWJ5OiBTcmljaGFyYW4gUiA8c3JpY2hhcmFuQGNv ZGVhdXJvcmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVh dXJvcmEub3JnPgpbdml2ZWs6IENsb2NrIHJld29yayB0byByZXF1ZXN0IGJ1bGsgb2YgY2xvY2tz XQpTaWduZWQtb2ZmLWJ5OiBWaXZlayBHYXV0YW0gPHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9y Zz4KUmV2aWV3ZWQtYnk6IFRvbWFzeiBGaWdhIDx0ZmlnYUBjaHJvbWl1bS5vcmc+Ci0tLQoKIC0g Tm8gY2hhbmdlIHNpbmNlIHYxMS4KCiBkcml2ZXJzL2lvbW11L2FybS1zbW11LmMgfCA2MCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFu Z2VkLCA1OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvaW9tbXUvYXJtLXNtbXUuYyBiL2RyaXZlcnMvaW9tbXUvYXJtLXNtbXUuYwppbmRleCBmN2E5 NmJjZjk0YTYuLmEwMWQwZGRlMjFkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pb21tdS9hcm0tc21t dS5jCisrKyBiL2RyaXZlcnMvaW9tbXUvYXJtLXNtbXUuYwpAQCAtNDgsNiArNDgsNyBAQAogI2lu Y2x1ZGUgPGxpbnV4L29mX2lvbW11Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVk ZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5o PgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgog CkBAIC0yMDUsNiArMjA2LDggQEAgc3RydWN0IGFybV9zbW11X2RldmljZSB7CiAJdTMyCQkJCW51 bV9nbG9iYWxfaXJxczsKIAl1MzIJCQkJbnVtX2NvbnRleHRfaXJxczsKIAl1bnNpZ25lZCBpbnQJ CQkqaXJxczsKKwlzdHJ1Y3QgY2xrX2J1bGtfZGF0YQkJKmNsa3M7CisJaW50CQkJCW51bV9jbGtz OwogCiAJdTMyCQkJCWNhdml1bV9pZF9iYXNlOyAvKiBTcGVjaWZpYyB0byBDYXZpdW0gKi8KIApA QCAtMTg5NywxMCArMTkwMCwxMiBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RldmljZV9jZmdfcHJv YmUoc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSkKIHN0cnVjdCBhcm1fc21tdV9tYXRjaF9k YXRhIHsKIAllbnVtIGFybV9zbW11X2FyY2hfdmVyc2lvbiB2ZXJzaW9uOwogCWVudW0gYXJtX3Nt bXVfaW1wbGVtZW50YXRpb24gbW9kZWw7CisJY29uc3QgY2hhciAqIGNvbnN0ICpjbGtzOworCWlu dCBudW1fY2xrczsKIH07CiAKICNkZWZpbmUgQVJNX1NNTVVfTUFUQ0hfREFUQShuYW1lLCB2ZXIs IGltcCkJXAotc3RhdGljIHN0cnVjdCBhcm1fc21tdV9tYXRjaF9kYXRhIG5hbWUgPSB7IC52ZXJz aW9uID0gdmVyLCAubW9kZWwgPSBpbXAgfQorc3RhdGljIGNvbnN0IHN0cnVjdCBhcm1fc21tdV9t YXRjaF9kYXRhIG5hbWUgPSB7IC52ZXJzaW9uID0gdmVyLCAubW9kZWwgPSBpbXAgfQogCiBBUk1f U01NVV9NQVRDSF9EQVRBKHNtbXVfZ2VuZXJpY192MSwgQVJNX1NNTVVfVjEsIEdFTkVSSUNfU01N VSk7CiBBUk1fU01NVV9NQVRDSF9EQVRBKHNtbXVfZ2VuZXJpY192MiwgQVJNX1NNTVVfVjIsIEdF TkVSSUNfU01NVSk7CkBAIC0xOTE5LDYgKzE5MjQsMjMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBv Zl9kZXZpY2VfaWQgYXJtX3NtbXVfb2ZfbWF0Y2hbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RB QkxFKG9mLCBhcm1fc21tdV9vZl9tYXRjaCk7CiAKK3N0YXRpYyB2b2lkIGFybV9zbW11X2ZpbGxf Y2xrX2RhdGEoc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSwKKwkJCQkgICBjb25zdCBjaGFy ICogY29uc3QgKmNsa3MpCit7CisJaW50IGk7CisKKwlpZiAoc21tdS0+bnVtX2Nsa3MgPCAxKQor CQlyZXR1cm47CisKKwlzbW11LT5jbGtzID0gZGV2bV9rY2FsbG9jKHNtbXUtPmRldiwgc21tdS0+ bnVtX2Nsa3MsCisJCQkJICBzaXplb2YoKnNtbXUtPmNsa3MpLCBHRlBfS0VSTkVMKTsKKwlpZiAo IXNtbXUtPmNsa3MpCisJCXJldHVybjsKKworCWZvciAoaSA9IDA7IGkgPCBzbW11LT5udW1fY2xr czsgaSsrKQorCQlzbW11LT5jbGtzW2ldLmlkID0gY2xrc1tpXTsKK30KKwogI2lmZGVmIENPTkZJ R19BQ1BJCiBzdGF0aWMgaW50IGFjcGlfc21tdV9nZXRfZGF0YSh1MzIgbW9kZWwsIHN0cnVjdCBh cm1fc21tdV9kZXZpY2UgKnNtbXUpCiB7CkBAIC0yMDAxLDYgKzIwMjMsOSBAQCBzdGF0aWMgaW50 IGFybV9zbW11X2RldmljZV9kdF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAog CWRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKIAlzbW11LT52ZXJzaW9uID0g ZGF0YS0+dmVyc2lvbjsKIAlzbW11LT5tb2RlbCA9IGRhdGEtPm1vZGVsOworCXNtbXUtPm51bV9j bGtzID0gZGF0YS0+bnVtX2Nsa3M7CisKKwlhcm1fc21tdV9maWxsX2Nsa19kYXRhKHNtbXUsIGRh dGEtPmNsa3MpOwogCiAJcGFyc2VfZHJpdmVyX29wdGlvbnMoc21tdSk7CiAKQEAgLTIwOTksNiAr MjEyNCwxNCBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RldmljZV9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCQlzbW11LT5pcnFzW2ldID0gaXJxOwogCX0KIAorCWVyciA9IGRl dm1fY2xrX2J1bGtfZ2V0KHNtbXUtPmRldiwgc21tdS0+bnVtX2Nsa3MsIHNtbXUtPmNsa3MpOwor CWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBjbGtfYnVsa19wcmVwYXJlKHNtbXUt Pm51bV9jbGtzLCBzbW11LT5jbGtzKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCiAJZXJy ID0gYXJtX3NtbXVfZGV2aWNlX2NmZ19wcm9iZShzbW11KTsKIAlpZiAoZXJyKQogCQlyZXR1cm4g ZXJyOwpAQCAtMjE4MSw2ICsyMjE0LDkgQEAgc3RhdGljIGludCBhcm1fc21tdV9kZXZpY2VfcmVt b3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAkvKiBUdXJuIHRoZSB0aGluZyBv ZmYgKi8KIAl3cml0ZWwoc0NSMF9DTElFTlRQRCwgQVJNX1NNTVVfR1IwX05TKHNtbXUpICsgQVJN X1NNTVVfR1IwX3NDUjApOworCisJY2xrX2J1bGtfdW5wcmVwYXJlKHNtbXUtPm51bV9jbGtzLCBz bW11LT5jbGtzKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0yMTk3LDcgKzIyMzMsMjcgQEAgc3Rh dGljIGludCBfX21heWJlX3VudXNlZCBhcm1fc21tdV9wbV9yZXN1bWUoc3RydWN0IGRldmljZSAq ZGV2KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgU0lNUExFX0RFVl9QTV9PUFMoYXJtX3NtbXVf cG1fb3BzLCBOVUxMLCBhcm1fc21tdV9wbV9yZXN1bWUpOworc3RhdGljIGludCBfX21heWJlX3Vu dXNlZCBhcm1fc21tdV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3Ry dWN0IGFybV9zbW11X2RldmljZSAqc21tdSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcmV0 dXJuIGNsa19idWxrX2VuYWJsZShzbW11LT5udW1fY2xrcywgc21tdS0+Y2xrcyk7Cit9CisKK3N0 YXRpYyBpbnQgX19tYXliZV91bnVzZWQgYXJtX3NtbXVfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBk ZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0gZGV2X2dldF9k cnZkYXRhKGRldik7CisKKwljbGtfYnVsa19kaXNhYmxlKHNtbXUtPm51bV9jbGtzLCBzbW11LT5j bGtzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMg YXJtX3NtbXVfcG1fb3BzID0geworCVNFVF9TWVNURU1fU0xFRVBfUE1fT1BTKE5VTEwsIGFybV9z bW11X3BtX3Jlc3VtZSkKKwlTRVRfUlVOVElNRV9QTV9PUFMoYXJtX3NtbXVfcnVudGltZV9zdXNw ZW5kLAorCQkJICAgYXJtX3NtbXVfcnVudGltZV9yZXN1bWUsIE5VTEwpCit9OwogCiBzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RyaXZlciBhcm1fc21tdV9kcml2ZXIgPSB7CiAJLmRyaXZlcgk9IHsK LS0gClFVQUxDT01NIElORElBLCBvbiBiZWhhbGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50 ZXIsIEluYy4gaXMgYSBtZW1iZXIKb2YgQ29kZSBBdXJvcmEgRm9ydW0sIGhvc3RlZCBieSBUaGUg TGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZWRyZW5vCg==