From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 06/14] iommu: arm-smmu: Add side-band function to specific pasid callbacks Date: Wed, 21 Feb 2018 15:59:16 -0700 Message-ID: <20180221225924.30737-7-jcrouse@codeaurora.org> References: <20180221225924.30737-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221225924.30737-1-jcrouse-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: iommu@lists.linux-foundation.org SnVzdCBhbGxvd2luZyBhIGNsaWVudCBkcml2ZXIgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgYQphIHNv ZnR3YXJlIHBhc2lkIGlzbid0IGludGVyZXN0aW5nIGlmIHRoZSBjbGllbnQgZHJpdmVyIGRvZXNu J3QgaGF2ZQplbm91Z2ggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhZ2V0YWJsZSB0byBiZSBhYmxl IHRvIHVzZSBpdC4gQWRkIGEKc2lkZSBiYW5kIGZ1bmN0aW9uIGZvciBhcm0tc21tdSB0aGF0IGxl dHMgdGhlIGNsaWVudCBkZXZpY2UgcmVnaXN0ZXIKcGFzaWQgb3BlcmF0aW9ucyB0byBwYXNzIHRo ZSByZWxldmFudCBwYWdldGFibGUgaW5mb3JtYXRpb24gdG8gdGhlCmNsaWVudCBkcml2ZXIgd2hl bmV2ZXIgYSBuZXcgcGFzaWQgaXMgY3JlYXRlZCBvciBkZXN0cm95ZWQKClNpZ25lZC1vZmYtYnk6 IEpvcmRhbiBDcm91c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9pb21t dS9hcm0tc21tdS5jIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogaW5jbHVkZS9saW51eC9hcm0tc21tdS5oIHwgMTggKysrKysrKysrKysrKysrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2xpbnV4L2FybS1zbW11LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2FybS1zbW11LmMg Yi9kcml2ZXJzL2lvbW11L2FybS1zbW11LmMKaW5kZXggNDJmNWJmYTNlMjZlLi44MWM3ODE3MDVl MjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW9tbXUvYXJtLXNtbXUuYworKysgYi9kcml2ZXJzL2lv bW11L2FybS1zbW11LmMKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9y bV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc3Bp bmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9hcm0tc21tdS5oPgogCiAjaW5jbHVkZSA8bGludXgv YW1iYS9idXMuaD4KIApAQCAtMjUzLDYgKzI1NCw4IEBAIHN0cnVjdCBhcm1fc21tdV9kb21haW4g ewogCiAJc3BpbmxvY2tfdAkJCXBhc2lkX2xvY2s7CiAJc3RydWN0IGxpc3RfaGVhZAkJcGFzaWRf bGlzdDsKKwljb25zdCBzdHJ1Y3QgYXJtX3NtbXVfcGFzaWRfb3BzCSpwYXNpZF9vcHM7CisJdm9p ZAkJCQkqcGFzaWRfZGF0YTsKIH07CiAKIHN0cnVjdCBhcm1fc21tdV9vcHRpb25fcHJvcCB7CkBA IC0yOTQsNiArMjk3LDEwIEBAIHN0YXRpYyB2b2lkIGFybV9zbW11X3Bhc2lkX2ZyZWUoc3RydWN0 IGlvbW11X2RvbWFpbiAqZG9tYWluLCBpbnQgcGFzaWQpCiAJc3RydWN0IGFybV9zbW11X2RvbWFp biAqc21tdV9kb21haW4gPSB0b19zbW11X2RvbWFpbihkb21haW4pOwogCXN0cnVjdCBhcm1fc21t dV9wYXNpZCAqbm9kZSwgKm9iaiA9IE5VTEw7CiAKKwlpZiAoc21tdV9kb21haW4tPnBhc2lkX29w cyAmJiBzbW11X2RvbWFpbi0+cGFzaWRfb3BzLT5yZW1vdmVfcGFzaWQpCisJCXNtbXVfZG9tYWlu LT5wYXNpZF9vcHMtPnJlbW92ZV9wYXNpZChwYXNpZCwKKwkJCXNtbXVfZG9tYWluLT5wYXNpZF9k YXRhKTsKKwogCXNwaW5fbG9jaygmc21tdV9kb21haW4tPnBhc2lkX2xvY2spOwogCWxpc3RfZm9y X2VhY2hfZW50cnkobm9kZSwgJnNtbXVfZG9tYWluLT5wYXNpZF9saXN0LCBub2RlKSB7CiAJCWlm IChub2RlLT5wYXNpZCA9PSBwYXNpZCkgewpAQCAtMzg2LDYgKzM5MywyNiBAQCBzdGF0aWMgaW50 IGFybV9zbW11X3Bhc2lkX2FsbG9jKHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwgc3RydWN0 IGRldmljZSAqZGV2LAogCW9iai0+ZG9tYWluID0gZG9tYWluOwogCW9iai0+cGFzaWQgPSBwYXNp ZDsKIAorCWlmIChzbW11X2RvbWFpbi0+cGFzaWRfb3BzICYmIHNtbXVfZG9tYWluLT5wYXNpZF9v cHMtPmluc3RhbGxfcGFzaWQpIHsKKwkJaW50IHJldDsKKwkJdTY0IHR0YnI7CisKKwkJaWYgKHNt bXVfZG9tYWluLT5jZmcuZm10ID09IEFSTV9TTU1VX0NUWF9GTVRfQUFSQ0gzMl9TKQorCQkJdHRi ciA9IHBndGJsX2NmZy5hcm1fdjdzX2NmZy50dGJyWzBdOworCQllbHNlCisJCQl0dGJyID0gcGd0 YmxfY2ZnLmFybV9scGFlX3MxX2NmZy50dGJyWzBdOworCisJCXJldCA9IHNtbXVfZG9tYWluLT5w YXNpZF9vcHMtPmluc3RhbGxfcGFzaWQocGFzaWQsIHR0YnIsCisJCQlzbW11X2RvbWFpbi0+Y2Zn LmFzaWQsIHNtbXVfZG9tYWluLT5wYXNpZF9kYXRhKTsKKworCQlpZiAocmV0KSB7CisJCQlmcmVl X2lvX3BndGFibGVfb3BzKG9iai0+cGd0Ymxfb3BzKTsKKwkJCWtmcmVlKG9iaik7CisKKwkJCXJl dHVybiByZXQ7CisJCX0KKwl9CisKIAlzcGluX2xvY2soJnNtbXVfZG9tYWluLT5wYXNpZF9sb2Nr KTsKIAlsaXN0X2FkZF90YWlsKCZvYmotPm5vZGUsICZzbW11X2RvbWFpbi0+cGFzaWRfbGlzdCk7 CiAJc3Bpbl91bmxvY2soJnNtbXVfZG9tYWluLT5wYXNpZF9sb2NrKTsKQEAgLTIwNDYsNiArMjA3 MywxOSBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RldmljZV9jZmdfcHJvYmUoc3RydWN0IGFybV9z bW11X2RldmljZSAqc21tdSkKIAlyZXR1cm4gMDsKIH0KIAordm9pZCBhcm1fc21tdV9hZGRfcGFz aWRfb3BzKHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwKKwljb25zdCBzdHJ1Y3QgYXJtX3Nt bXVfcGFzaWRfb3BzICpvcHMsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGFybV9zbW11X2RvbWFp biAqc21tdV9kb21haW47CisKKwlpZiAoZG9tYWluKSB7CisJCXNtbXVfZG9tYWluID0gdG9fc21t dV9kb21haW4oZG9tYWluKTsKKwkJc21tdV9kb21haW4tPnBhc2lkX29wcyA9IG9wczsKKwkJc21t dV9kb21haW4tPnBhc2lkX2RhdGEgPSBkYXRhOworCX0KK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFy bV9zbW11X2FkZF9wYXNpZF9vcHMpOworCiBzdHJ1Y3QgYXJtX3NtbXVfbWF0Y2hfZGF0YSB7CiAJ ZW51bSBhcm1fc21tdV9hcmNoX3ZlcnNpb24gdmVyc2lvbjsKIAllbnVtIGFybV9zbW11X2ltcGxl bWVudGF0aW9uIG1vZGVsOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9hcm0tc21tdS5oIGIv aW5jbHVkZS9saW51eC9hcm0tc21tdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uYzE0Y2E1MjIzMWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9h cm0tc21tdS5oCkBAIC0wLDAgKzEsMTggQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wICovCisvKiBDb3B5cmlnaHQgKGMpIDIwMTgsIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLiAqLworCisjaWZuZGVmIEFSTV9TTU1VX0hfCisjZGVmaW5lIEFS TV9TTU1VX0hfCisKK3N0cnVjdCBpb21tdV9kb21haW47CisKK3N0cnVjdCBhcm1fc21tdV9wYXNp ZF9vcHMgeworCWludCAoKmluc3RhbGxfcGFzaWQpKGludCBwYXNpZCwgdTY0IHR0YnIsIHUzMiBh c2lkLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqcmVtb3ZlX3Bhc2lkKShpbnQgcGFzaWQsIHZvaWQg KmRhdGEpOworfTsKKworCit2b2lkIGFybV9zbW11X2FkZF9wYXNpZF9vcHMoc3RydWN0IGlvbW11 X2RvbWFpbiAqZG9tYWluLAorCWNvbnN0IHN0cnVjdCBhcm1fc21tdV9wYXNpZF9vcHMgKm9wcywg dm9pZCAqZGF0YSk7CisKKyNlbmRpZgotLSAKMi4xNi4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVu b0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9mcmVlZHJlbm8K