From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [v2 2/7] iommu/arm-smmu: Add support to use Last level cache Date: Fri, 5 Oct 2018 18:38:30 +0530 Message-ID: <1538744915-25490-3-git-send-email-smasetty@codeaurora.org> References: <1538744915-25490-1-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1538744915-25490-1-git-send-email-smasetty@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: freedreno@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, Vivek Gautam , dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogVml2ZWsgR2F1dGFtIDx2aXZlay5nYXV0YW1AY29kZWF1cm9yYS5vcmc+CgpRdWFsY29t bSBTb0NzIGhhdmUgYW4gYWRkaXRpb25hbCBsZXZlbCBvZiBjYWNoZSBjYWxsZWQgYXMKU3lzdGVt IGNhY2hlIG9yIExhc3QgbGV2ZWwgY2FjaGVbMV0uIFRoaXMgY2FjaGUgc2l0cyByaWdodApiZWZv cmUgdGhlIEREUiwgYW5kIGlzIHRpZ2h0bHkgY291cGxlZCB3aXRoIHRoZSBtZW1vcnkKY29udHJv bGxlci4KVGhlIGNhY2hlIGlzIGF2YWlsYWJsZSB0byBhbGwgdGhlIGNsaWVudHMgcHJlc2VudCBp biB0aGUKU29DIHN5c3RlbS4gVGhlIGNsaWVudHMgcmVxdWVzdCB0aGVpciBzbGljZXMgZnJvbSB0 aGlzIHN5c3RlbQpjYWNoZSwgbWFrZSBpdCBhY3RpdmUsIGFuZCBjYW4gdGhlbiBzdGFydCB1c2lu ZyBpdC4gRm9yIHRoZXNlCmNsaWVudHMgd2l0aCBzbW11LCB0byBzdGFydCB1c2luZyB0aGUgc3lz dGVtIGNhY2hlIGZvcgpkbWEgYnVmZmVycyBhbmQgcmVsYXRlZCBwYWdlIHRhYmxlcyBbMl0sIGZl dyBvZiB0aGUgbWVtb3J5CmF0dHJpYnV0ZXMgbmVlZCB0byBiZSBzZXQgYWNjb3JkaW5nbHkuClRo aXMgY2hhbmdlIG1ha2VzIHRoZSByZWxhdGVkIG1lbW9yeSBPdXRlci1TaGFyZWFibGUsIGFuZAp1 cGRhdGVzIHRoZSBNQUlSIHdpdGggbmVjZXNzYXJ5IHByb3RlY3Rpb24uCgpUaGUgTUFJUiBhdHRy aWJ1dGUgcmVxdWlyZW1lbnRzIGFyZToKICAgIElubmVyIENhY2hlYWJsaXR5ID0gMAogICAgT3V0 ZXIgQ2FjaGVhYmxpdHkgPSAxLCBXcml0ZS1CYWNrIFdyaXRlIEFsbG9jYXRlCiAgICBPdXRlciBT aGFyZWFibGl0eSA9IDEKClRoaXMgY2hhbmdlIGlzIGEgcmVhbGlzYXRpb24gb2YgZm9sbG93aW5n IGNoYW5nZXMKZnJvbSBkb3duc3RyZWFtIG1zbS00Ljk6CmlvbW11OiBpby1wZ3RhYmxlLWFybTog U3VwcG9ydCBET01BSU5fQVRUUklCVVRFX1VTRV9VUFNUUkVBTV9ISU5UCmlvbW11OiBpby1wZ3Rh YmxlLWFybTogSW1wbGVtZW50IElPTU1VX1VTRV9VUFNUUkVBTV9ISU5UCgpbMV0gaHR0cHM6Ly9w YXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC8xMDQyMjUzMS8KWzJdIGh0dHBzOi8vcGF0Y2h3b3Jr Lmtlcm5lbC5vcmcvcGF0Y2gvMTAzMDI3OTEvCgpTaWduZWQtb2ZmLWJ5OiBWaXZlayBHYXV0YW0g PHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2lvbW11L2FybS1zbW11 LmMgICAgICAgfCAxNCArKysrKysrKysrKysrKwogZHJpdmVycy9pb21tdS9pby1wZ3RhYmxlLWFy bS5jIHwgMjQgKysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2lvbW11L2lvLXBndGFi bGUuaCAgICAgfCAgNCArKysrCiBpbmNsdWRlL2xpbnV4L2lvbW11LmggICAgICAgICAgfCAgNCAr KysrCiA0IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9hcm0tc21tdS5jIGIvZHJpdmVycy9pb21tdS9hcm0t c21tdS5jCmluZGV4IGMwNTczOTYuLjZmMTM3NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW9tbXUv YXJtLXNtbXUuYworKysgYi9kcml2ZXJzL2lvbW11L2FybS1zbW11LmMKQEAgLTI1Myw2ICsyNTMs NyBAQCBzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluIHsKIAlzdHJ1Y3QgbXV0ZXgJCQlpbml0X211dGV4 OyAvKiBQcm90ZWN0cyBzbW11IHBvaW50ZXIgKi8KIAlzcGlubG9ja190CQkJY2JfbG9jazsgLyog U2VyaWFsaXNlcyBBVFMxKiBvcHMgYW5kIFRMQiBzeW5jcyAqLwogCXN0cnVjdCBpb21tdV9kb21h aW4JCWRvbWFpbjsKKwlib29sCQkJCWhhc19zeXNfY2FjaGU7CiB9OwogCiBzdHJ1Y3QgYXJtX3Nt bXVfb3B0aW9uX3Byb3AgewpAQCAtODgwLDYgKzg4MSw4IEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVf aW5pdF9kb21haW5fY29udGV4dChzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4sCiAKIAlpZiAo c21tdS0+ZmVhdHVyZXMgJiBBUk1fU01NVV9GRUFUX0NPSEVSRU5UX1dBTEspCiAJCXBndGJsX2Nm Zy5xdWlya3MgPSBJT19QR1RBQkxFX1FVSVJLX05PX0RNQTsKKwlpZiAoc21tdV9kb21haW4tPmhh c19zeXNfY2FjaGUpCisJCXBndGJsX2NmZy5xdWlya3MgfD0gSU9fUEdUQUJMRV9RVUlSS19TWVNf Q0FDSEU7CiAKIAlzbW11X2RvbWFpbi0+c21tdSA9IHNtbXU7CiAJcGd0Ymxfb3BzID0gYWxsb2Nf aW9fcGd0YWJsZV9vcHMoZm10LCAmcGd0YmxfY2ZnLCBzbW11X2RvbWFpbik7CkBAIC0xNTM5LDYg KzE1NDIsOSBAQCBzdGF0aWMgaW50IGFybV9zbW11X2RvbWFpbl9nZXRfYXR0cihzdHJ1Y3QgaW9t bXVfZG9tYWluICpkb21haW4sCiAJY2FzZSBET01BSU5fQVRUUl9ORVNUSU5HOgogCQkqKGludCAq KWRhdGEgPSAoc21tdV9kb21haW4tPnN0YWdlID09IEFSTV9TTU1VX0RPTUFJTl9ORVNURUQpOwog CQlyZXR1cm4gMDsKKwljYXNlIERPTUFJTl9BVFRSX1VTRV9TWVNfQ0FDSEU6CisJCSooKGludCAq KWRhdGEpID0gc21tdV9kb21haW4tPmhhc19zeXNfY2FjaGU7CisJCXJldHVybiAwOwogCWRlZmF1 bHQ6CiAJCXJldHVybiAtRU5PREVWOwogCX0KQEAgLTE1NjgsNiArMTU3NCwxNCBAQCBzdGF0aWMg aW50IGFybV9zbW11X2RvbWFpbl9zZXRfYXR0cihzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21haW4s CiAJCQlzbW11X2RvbWFpbi0+c3RhZ2UgPSBBUk1fU01NVV9ET01BSU5fUzE7CiAKIAkJYnJlYWs7 CisJY2FzZSBET01BSU5fQVRUUl9VU0VfU1lTX0NBQ0hFOgorCQlpZiAoc21tdV9kb21haW4tPnNt bXUpIHsKKwkJCXJldCA9IC1FUEVSTTsKKwkJCWdvdG8gb3V0X3VubG9jazsKKwkJfQorCQlpZiAo KigoaW50ICopZGF0YSkpCisJCQlzbW11X2RvbWFpbi0+aGFzX3N5c19jYWNoZSA9IHRydWU7CisJ CWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldCA9IC1FTk9ERVY7CiAJfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9pb21tdS9pby1wZ3RhYmxlLWFybS5jIGIvZHJpdmVycy9pb21tdS9pby1wZ3RhYmxlLWFy bS5jCmluZGV4IDAxMGEyNTQuLmIyYWVlMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW9tbXUvaW8t cGd0YWJsZS1hcm0uYworKysgYi9kcml2ZXJzL2lvbW11L2lvLXBndGFibGUtYXJtLmMKQEAgLTE2 OSw5ICsxNjksMTEgQEAKICNkZWZpbmUgQVJNX0xQQUVfTUFJUl9BVFRSX0RFVklDRQkweDA0CiAj ZGVmaW5lIEFSTV9MUEFFX01BSVJfQVRUUl9OQwkJMHg0NAogI2RlZmluZSBBUk1fTFBBRV9NQUlS X0FUVFJfV0JSV0EJMHhmZgorI2RlZmluZSBBUk1fTFBBRV9NQUlSX0FUVFJfU1lTX0NBQ0hFCTB4 ZjQKICNkZWZpbmUgQVJNX0xQQUVfTUFJUl9BVFRSX0lEWF9OQwkwCiAjZGVmaW5lIEFSTV9MUEFF X01BSVJfQVRUUl9JRFhfQ0FDSEUJMQogI2RlZmluZSBBUk1fTFBBRV9NQUlSX0FUVFJfSURYX0RF VgkyCisjZGVmaW5lIEFSTV9MUEFFX01BSVJfQVRUUl9JRFhfU1lTX0NBQ0hFCTMKIAogLyogSU9Q VEUgYWNjZXNzb3JzICovCiAjZGVmaW5lIGlvcHRlX2RlcmVmKHB0ZSxkKSBfX3ZhKGlvcHRlX3Rv X3BhZGRyKHB0ZSwgZCkpCkBAIC00NDIsNiArNDQ0LDEwIEBAIHN0YXRpYyBhcm1fbHBhZV9pb3B0 ZSBhcm1fbHBhZV9wcm90X3RvX3B0ZShzdHJ1Y3QgYXJtX2xwYWVfaW9fcGd0YWJsZSAqZGF0YSwK IAkJZWxzZSBpZiAocHJvdCAmIElPTU1VX0NBQ0hFKQogCQkJcHRlIHw9IChBUk1fTFBBRV9NQUlS X0FUVFJfSURYX0NBQ0hFCiAJCQkJPDwgQVJNX0xQQUVfUFRFX0FUVFJJTkRYX1NISUZUKTsKKwkJ ZWxzZSBpZiAocHJvdCAmIElPTU1VX1NZU19DQUNIRSkKKwkJCXB0ZSB8PSAoQVJNX0xQQUVfTUFJ Ul9BVFRSX0lEWF9TWVNfQ0FDSEUKKwkJCQk8PCBBUk1fTFBBRV9QVEVfQVRUUklORFhfU0hJRlQp OworCiAJfSBlbHNlIHsKIAkJcHRlID0gQVJNX0xQQUVfUFRFX0hBUF9GQVVMVDsKIAkJaWYgKHBy b3QgJiBJT01NVV9SRUFEKQpAQCAtNzcxLDcgKzc3Nyw4IEBAIHN0YXRpYyB2b2lkIGFybV9scGFl X3Jlc3RyaWN0X3Bnc2l6ZXMoc3RydWN0IGlvX3BndGFibGVfY2ZnICpjZmcpCiAJdTY0IHJlZzsK IAlzdHJ1Y3QgYXJtX2xwYWVfaW9fcGd0YWJsZSAqZGF0YTsKIAotCWlmIChjZmctPnF1aXJrcyAm IH4oSU9fUEdUQUJMRV9RVUlSS19BUk1fTlMgfCBJT19QR1RBQkxFX1FVSVJLX05PX0RNQSkpCisJ aWYgKGNmZy0+cXVpcmtzICYgfihJT19QR1RBQkxFX1FVSVJLX0FSTV9OUyB8IElPX1BHVEFCTEVf UVVJUktfTk9fRE1BIHwKKwkJCSAgICBJT19QR1RBQkxFX1FVSVJLX1NZU19DQUNIRSkpCiAJCXJl dHVybiBOVUxMOwogCiAJZGF0YSA9IGFybV9scGFlX2FsbG9jX3BndGFibGUoY2ZnKTsKQEAgLTc3 OSw5ICs3ODYsMTQgQEAgc3RhdGljIHZvaWQgYXJtX2xwYWVfcmVzdHJpY3RfcGdzaXplcyhzdHJ1 Y3QgaW9fcGd0YWJsZV9jZmcgKmNmZykKIAkJcmV0dXJuIE5VTEw7CiAKIAkvKiBUQ1IgKi8KLQly ZWcgPSAoQVJNX0xQQUVfVENSX1NIX0lTIDw8IEFSTV9MUEFFX1RDUl9TSDBfU0hJRlQpIHwKLQkg ICAgICAoQVJNX0xQQUVfVENSX1JHTl9XQldBIDw8IEFSTV9MUEFFX1RDUl9JUkdOMF9TSElGVCkg fAotCSAgICAgIChBUk1fTFBBRV9UQ1JfUkdOX1dCV0EgPDwgQVJNX0xQQUVfVENSX09SR04wX1NI SUZUKTsKKwlpZiAoY2ZnLT5xdWlya3MgJiBJT19QR1RBQkxFX1FVSVJLX1NZU19DQUNIRSkgewor CQlyZWcgPSAoQVJNX0xQQUVfVENSX1NIX09TIDw8IEFSTV9MUEFFX1RDUl9TSDBfU0hJRlQpIHwK KwkJICAgICAgKEFSTV9MUEFFX1RDUl9SR05fTkMgPDwgQVJNX0xQQUVfVENSX0lSR04wX1NISUZU KTsKKwl9IGVsc2UgeworCQlyZWcgPSAoQVJNX0xQQUVfVENSX1NIX0lTIDw8IEFSTV9MUEFFX1RD Ul9TSDBfU0hJRlQpIHwKKwkJICAgICAgKEFSTV9MUEFFX1RDUl9SR05fV0JXQSA8PCBBUk1fTFBB RV9UQ1JfSVJHTjBfU0hJRlQpOworCX0KKwlyZWcgfD0gKEFSTV9MUEFFX1RDUl9SR05fV0JXQSA8 PCBBUk1fTFBBRV9UQ1JfT1JHTjBfU0hJRlQpOwogCiAJc3dpdGNoIChBUk1fTFBBRV9HUkFOVUxF KGRhdGEpKSB7CiAJY2FzZSBTWl80SzoKQEAgLTgzMyw3ICs4NDUsOSBAQCBzdGF0aWMgdm9pZCBh cm1fbHBhZV9yZXN0cmljdF9wZ3NpemVzKHN0cnVjdCBpb19wZ3RhYmxlX2NmZyAqY2ZnKQogCSAg ICAgIChBUk1fTFBBRV9NQUlSX0FUVFJfV0JSV0EKIAkgICAgICAgPDwgQVJNX0xQQUVfTUFJUl9B VFRSX1NISUZUKEFSTV9MUEFFX01BSVJfQVRUUl9JRFhfQ0FDSEUpKSB8CiAJICAgICAgKEFSTV9M UEFFX01BSVJfQVRUUl9ERVZJQ0UKLQkgICAgICAgPDwgQVJNX0xQQUVfTUFJUl9BVFRSX1NISUZU KEFSTV9MUEFFX01BSVJfQVRUUl9JRFhfREVWKSk7CisJICAgICAgIDw8IEFSTV9MUEFFX01BSVJf QVRUUl9TSElGVChBUk1fTFBBRV9NQUlSX0FUVFJfSURYX0RFVikpIHwKKwkgICAgICAoQVJNX0xQ QUVfTUFJUl9BVFRSX1NZU19DQUNIRQorCSAgICAgICA8PCBBUk1fTFBBRV9NQUlSX0FUVFJfU0hJ RlQoQVJNX0xQQUVfTUFJUl9BVFRSX0lEWF9TWVNfQ0FDSEUpKTsKIAogCWNmZy0+YXJtX2xwYWVf czFfY2ZnLm1haXJbMF0gPSByZWc7CiAJY2ZnLT5hcm1fbHBhZV9zMV9jZmcubWFpclsxXSA9IDA7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2lvLXBndGFibGUuaCBiL2RyaXZlcnMvaW9tbXUv aW8tcGd0YWJsZS5oCmluZGV4IDJkZjc5MDkuLmI1YTM5ODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv aW9tbXUvaW8tcGd0YWJsZS5oCisrKyBiL2RyaXZlcnMvaW9tbXUvaW8tcGd0YWJsZS5oCkBAIC03 MSwxMiArNzEsMTYgQEAgc3RydWN0IGlvX3BndGFibGVfY2ZnIHsKIAkgKgliZSBhY2Nlc3NlZCBi eSBhIGZ1bGx5IGNhY2hlLWNvaGVyZW50IElPTU1VIG9yIENQVSAoZS5nLiBmb3IgYQogCSAqCXNv ZnR3YXJlLWVtdWxhdGVkIElPTU1VKSwgc3VjaCB0aGF0IHBhZ2V0YWJsZSB1cGRhdGVzIG5lZWQg bm90CiAJICoJYmUgdHJlYXRlZCBhcyBleHBsaWNpdCBETUEgZGF0YS4KKwkgKgorCSAqIElPX1BH VEFCTEVfUVVJUktfU1lTX0NBQ0hFOiBPdmVycmlkZSB0aGUgYXR0cmlidXRlcyBzZXQgaW4gVENS IGZvcgorCSAqCXRoZSBwYWdlIHRhYmxlIHdhbGtlciB3aGVuIHVzaW5nIHN5c3RlbSBjYWNoZS4K IAkgKi8KIAkjZGVmaW5lIElPX1BHVEFCTEVfUVVJUktfQVJNX05TCQlCSVQoMCkKIAkjZGVmaW5l IElPX1BHVEFCTEVfUVVJUktfTk9fUEVSTVMJQklUKDEpCiAJI2RlZmluZSBJT19QR1RBQkxFX1FV SVJLX1RMQklfT05fTUFQCUJJVCgyKQogCSNkZWZpbmUgSU9fUEdUQUJMRV9RVUlSS19BUk1fTVRL XzRHQglCSVQoMykKIAkjZGVmaW5lIElPX1BHVEFCTEVfUVVJUktfTk9fRE1BCQlCSVQoNCkKKwkj ZGVmaW5lIElPX1BHVEFCTEVfUVVJUktfU1lTX0NBQ0hFCUJJVCg1KQogCXVuc2lnbmVkIGxvbmcJ CQlxdWlya3M7CiAJdW5zaWduZWQgbG9uZwkJCXBnc2l6ZV9iaXRtYXA7CiAJdW5zaWduZWQgaW50 CQkJaWFzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pb21tdS5oIGIvaW5jbHVkZS9saW51 eC9pb21tdS5oCmluZGV4IDE5OTM4ZWUuLmRhY2I5NjQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xp bnV4L2lvbW11LmgKKysrIGIvaW5jbHVkZS9saW51eC9pb21tdS5oCkBAIC00MSw2ICs0MSw5IEBA CiAgKiBpZiB0aGUgSU9NTVUgcGFnZSB0YWJsZSBmb3JtYXQgaXMgZXF1aXZhbGVudC4KICAqLwog I2RlZmluZSBJT01NVV9QUklWCSgxIDw8IDUpCisvKiBVc2UgbGFzdCBsZXZlbCBjYWNoZSBhdmFp bGFibGUgd2l0aCBmZXcgYXJjaGl0ZWN0dXJlcyAqLworI2RlZmluZSBJT01NVV9TWVNfQ0FDSEUJ KDEgPDwgNikKKwogCiBzdHJ1Y3QgaW9tbXVfb3BzOwogc3RydWN0IGlvbW11X2dyb3VwOwpAQCAt MTI0LDYgKzEyNyw3IEBAIGVudW0gaW9tbXVfYXR0ciB7CiAJRE9NQUlOX0FUVFJfRlNMX1BBTVVf RU5BQkxFLAogCURPTUFJTl9BVFRSX0ZTTF9QQU1VVjEsCiAJRE9NQUlOX0FUVFJfTkVTVElORywJ LyogdHdvIHN0YWdlcyBvZiB0cmFuc2xhdGlvbiAqLworCURPTUFJTl9BVFRSX1VTRV9TWVNfQ0FD SEUsCiAJRE9NQUlOX0FUVFJfTUFYLAogfTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=