From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: [PATCH v6 2/6] iommu/arm-smmu: Add pm_runtime/sleep ops Date: Fri, 19 Jan 2018 17:13:39 +0530 Message-ID: <1516362223-22946-3-git-send-email-vivek.gautam@codeaurora.org> References: <1516362223-22946-1-git-send-email-vivek.gautam@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1516362223-22946-1-git-send-email-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: alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, mark.rutland-5wv7dgnIgG8@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, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org Cc: architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org, vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org List-Id: iommu@lists.linux-foundation.org RnJvbTogU3JpY2hhcmFuIFIgPHNyaWNoYXJhbkBjb2RlYXVyb3JhLm9yZz4KClRoZSBzbW11IG5l ZWRzIHRvIGJlIGZ1bmN0aW9uYWwgb25seSB3aGVuIHRoZSByZXNwZWN0aXZlCm1hc3RlcidzIHVz aW5nIGl0IGFyZSBhY3RpdmUuIFRoZSBkZXZpY2VfbGluayBmZWF0dXJlCmhlbHBzIHRvIHRyYWNr IHN1Y2ggZnVuY3Rpb25hbCBkZXBlbmRlbmNpZXMsIHNvIHRoYXQgdGhlCmlvbW11IGdldHMgcG93 ZXJlZCB3aGVuIHRoZSBtYXN0ZXIgZGV2aWNlIGVuYWJsZXMgaXRzZWxmCnVzaW5nIHBtX3J1bnRp bWUuIFNvIGJ5IGFkYXB0aW5nIHRoZSBzbW11IGRyaXZlciBmb3IKcnVudGltZSBwbSwgYWJvdmUg c2FpZCBkZXBlbmRlbmN5IGNhbiBiZSBhZGRyZXNzZWQuCgpUaGlzIHBhdGNoIGFkZHMgdGhlIHBt IHJ1bnRpbWUvc2xlZXAgY2FsbGJhY2tzIHRvIHRoZQpkcml2ZXIgYW5kIGFsc28gdGhlIGZ1bmN0 aW9ucyB0byBwYXJzZSB0aGUgc21tdSBjbG9ja3MKZnJvbSBEVCBhbmQgZW5hYmxlIHRoZW0gaW4g cmVzdW1lL3N1c3BlbmQuCgpTaWduZWQtb2ZmLWJ5OiBTcmljaGFyYW4gUiA8c3JpY2hhcmFuQGNv ZGVhdXJvcmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVh dXJvcmEub3JnPgpbdml2ZWs6IENsb2NrIHJld29yayB0byByZXF1ZXN0IGJ1bGsgb2YgY2xvY2tz XQpTaWduZWQtb2ZmLWJ5OiBWaXZlayBHYXV0YW0gPHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9y Zz4KLS0tCiBkcml2ZXJzL2lvbW11L2FybS1zbW11LmMgfCA1NSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvYXJtLXNt bXUuYyBiL2RyaXZlcnMvaW9tbXUvYXJtLXNtbXUuYwppbmRleCA3OGQ0YzZiOGYxYmEuLjIxYWNm ZmU5MWExYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pb21tdS9hcm0tc21tdS5jCisrKyBiL2RyaXZl cnMvaW9tbXUvYXJtLXNtbXUuYwpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L29m X2lvbW11Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZv cm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgogI2luY2x1ZGUgPGxp bnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogCkBAIC0yMDUsNiArMjA2 LDkgQEAgc3RydWN0IGFybV9zbW11X2RldmljZSB7CiAJdTMyCQkJCW51bV9nbG9iYWxfaXJxczsK IAl1MzIJCQkJbnVtX2NvbnRleHRfaXJxczsKIAl1bnNpZ25lZCBpbnQJCQkqaXJxczsKKwlzdHJ1 Y3QgY2xrX2J1bGtfZGF0YQkJKmNsb2NrczsKKwlpbnQJCQkJbnVtX2Nsa3M7CisJY29uc3QgY2hh ciAqIGNvbnN0CQkqY2xrX25hbWVzOwogCiAJdTMyCQkJCWNhdml1bV9pZF9iYXNlOyAvKiBTcGVj aWZpYyB0byBDYXZpdW0gKi8KIApAQCAtMTY4NSw2ICsxNjg5LDI1IEBAIHN0YXRpYyBpbnQgYXJt X3NtbXVfaWRfc2l6ZV90b19iaXRzKGludCBzaXplKQogCX0KIH0KIAorc3RhdGljIGludCBhcm1f c21tdV9pbml0X2Nsb2NrcyhzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11KQoreworCWludCBp OworCWludCBudW0gPSBzbW11LT5udW1fY2xrczsKKworCWlmIChudW0gPCAxKQorCQlyZXR1cm4g MDsKKworCXNtbXUtPmNsb2NrcyA9IGRldm1fa2NhbGxvYyhzbW11LT5kZXYsIG51bSwKKwkJCQkg ICAgc2l6ZW9mKCpzbW11LT5jbG9ja3MpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXNtbXUtPmNsb2Nr cykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspCisJCXNt bXUtPmNsb2Nrc1tpXS5pZCA9IHNtbXUtPmNsa19uYW1lc1tpXTsKKworCXJldHVybiBkZXZtX2Ns a19idWxrX2dldChzbW11LT5kZXYsIG51bSwgc21tdS0+Y2xvY2tzKTsKK30KKwogc3RhdGljIGlu dCBhcm1fc21tdV9kZXZpY2VfY2ZnX3Byb2JlKHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNtbXUp CiB7CiAJdW5zaWduZWQgbG9uZyBzaXplOwpAQCAtMTg5NywxMCArMTkyMCwxMiBAQCBzdGF0aWMg aW50IGFybV9zbW11X2RldmljZV9jZmdfcHJvYmUoc3RydWN0IGFybV9zbW11X2RldmljZSAqc21t dSkKIHN0cnVjdCBhcm1fc21tdV9tYXRjaF9kYXRhIHsKIAllbnVtIGFybV9zbW11X2FyY2hfdmVy c2lvbiB2ZXJzaW9uOwogCWVudW0gYXJtX3NtbXVfaW1wbGVtZW50YXRpb24gbW9kZWw7CisJY29u c3QgY2hhciAqIGNvbnN0ICpjbGtzOworCWludCBudW1fY2xrczsKIH07CiAKICNkZWZpbmUgQVJN X1NNTVVfTUFUQ0hfREFUQShuYW1lLCB2ZXIsIGltcCkJXAotc3RhdGljIHN0cnVjdCBhcm1fc21t dV9tYXRjaF9kYXRhIG5hbWUgPSB7IC52ZXJzaW9uID0gdmVyLCAubW9kZWwgPSBpbXAgfQorc3Rh dGljIGNvbnN0IHN0cnVjdCBhcm1fc21tdV9tYXRjaF9kYXRhIG5hbWUgPSB7IC52ZXJzaW9uID0g dmVyLCAubW9kZWwgPSBpbXAgfQogCiBBUk1fU01NVV9NQVRDSF9EQVRBKHNtbXVfZ2VuZXJpY192 MSwgQVJNX1NNTVVfVjEsIEdFTkVSSUNfU01NVSk7CiBBUk1fU01NVV9NQVRDSF9EQVRBKHNtbXVf Z2VuZXJpY192MiwgQVJNX1NNTVVfVjIsIEdFTkVSSUNfU01NVSk7CkBAIC0yMDAxLDYgKzIwMjYs OCBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RldmljZV9kdF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2LAogCWRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKIAlz bW11LT52ZXJzaW9uID0gZGF0YS0+dmVyc2lvbjsKIAlzbW11LT5tb2RlbCA9IGRhdGEtPm1vZGVs OworCXNtbXUtPmNsa19uYW1lcyA9IGRhdGEtPmNsa3M7CisJc21tdS0+bnVtX2Nsa3MgPSBkYXRh LT5udW1fY2xrczsKIAogCXBhcnNlX2RyaXZlcl9vcHRpb25zKHNtbXUpOwogCkBAIC0yMDk5LDYg KzIxMjYsMTAgQEAgc3RhdGljIGludCBhcm1fc21tdV9kZXZpY2VfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKIAkJc21tdS0+aXJxc1tpXSA9IGlycTsKIAl9CiAKKwllcnIgPSBh cm1fc21tdV9pbml0X2Nsb2NrcyhzbW11KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCiAJ ZXJyID0gYXJtX3NtbXVfZGV2aWNlX2NmZ19wcm9iZShzbW11KTsKIAlpZiAoZXJyKQogCQlyZXR1 cm4gZXJyOwpAQCAtMjE5Nyw3ICsyMjI4LDI3IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQg YXJtX3NtbXVfcG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIH0KIAot c3RhdGljIFNJTVBMRV9ERVZfUE1fT1BTKGFybV9zbW11X3BtX29wcywgTlVMTCwgYXJtX3NtbXVf cG1fcmVzdW1lKTsKK3N0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgYXJtX3NtbXVfcnVudGltZV9y ZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNt bXUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJldHVybiBjbGtfYnVsa19wcmVwYXJlX2Vu YWJsZShzbW11LT5udW1fY2xrcywgc21tdS0+Y2xvY2tzKTsKK30KKworc3RhdGljIGludCBfX21h eWJlX3VudXNlZCBhcm1fc21tdV9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQor eworCXN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNtbXUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK KworCWNsa19idWxrX2Rpc2FibGVfdW5wcmVwYXJlKHNtbXUtPm51bV9jbGtzLCBzbW11LT5jbG9j a3MpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBh cm1fc21tdV9wbV9vcHMgPSB7CisJU0VUX1NZU1RFTV9TTEVFUF9QTV9PUFMoTlVMTCwgYXJtX3Nt bXVfcG1fcmVzdW1lKQorCVNFVF9SVU5USU1FX1BNX09QUyhhcm1fc21tdV9ydW50aW1lX3N1c3Bl bmQsCisJCQkgICBhcm1fc21tdV9ydW50aW1lX3Jlc3VtZSwgTlVMTCkKK307CiAKIHN0YXRpYyBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGFybV9zbW11X2RyaXZlciA9IHsKIAkuZHJpdmVyCT0gewot LSAKUVVBTENPTU0gSU5ESUEsIG9uIGJlaGFsZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRl ciwgSW5jLiBpcyBhIG1lbWJlcgpvZiBDb2RlIEF1cm9yYSBGb3J1bSwgaG9zdGVkIGJ5IFRoZSBM aW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVl ZHJlbm8K