From: Tom St Denis Subject: [PATCH] drm/amd/amdgpu: add support for iova_to_phys to replace TTM trace (v4) Date: Tue, 19 Sep 2017 07:20:57 -0400 Message-ID: <20170919112057.24377-1-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Tom St Denis U2lnbmVkLW9mZi1ieTogVG9tIFN0IERlbmlzIDx0b20uc3RkZW5pc0BhbWQuY29tPgoKKHYyKTog QWRkIGRvbWFpbiB0byBpb3ZhIGRlYnVnZnMKKHYzKTogQWRkIHRydWUgcmVhZC93cml0ZSBtZXRo b2RzIHRvIGFjY2VzcyBzeXN0ZW0gbWVtb3J5IG9mIHBhZ2VzCiAgICAgIG1hcHBlZCB0byB0aGUg ZGV2aWNlCih2NCk6IE1vdmUgZ2V0X2RvbWFpbiBjYWxsIG91dCBvZiBsb29wIGFuZCByZXR1cm4g b24gZXJyb3IKLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgfCAx MTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMTQg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwppbmRl eCA1MGQyMDkwM2RlNGYuLjcxYTJmZGM5MWE4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV90dG0uYwpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4K ICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgor I2luY2x1ZGUgPGxpbnV4L2lvbW11Lmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAi YW1kZ3B1X3RyYWNlLmgiCiAjaW5jbHVkZSAiYmlmL2JpZl80XzFfZC5oIgpAQCAtMTgxMCw2ICsx ODExLDExOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBhbWRncHVfdHRt X2d0dF9mb3BzID0gewogI2VuZGlmCiAKIAorc3RhdGljIHZvaWQgKnRyYW5zZm9ybV9wYWdlKHVp bnQ2NF90IHBoeXMpCit7CisJaWYgKFBhZ2VIaWdoTWVtKHBmbl90b19wYWdlKFBGTl9ET1dOKHBo eXMpKSkpCisJCXJldHVybiBrbWFwKHBmbl90b19wYWdlKFBGTl9ET1dOKHBoeXMpKSk7CisJZWxz ZQorCQlyZXR1cm4gX192YShwaHlzKTsKK30KKworc3RhdGljIHZvaWQgdW50cmFuc2Zvcm1fcGFn ZSh1aW50NjRfdCBwaHlzKQoreworCWlmIChQYWdlSGlnaE1lbShwZm5fdG9fcGFnZShQRk5fRE9X TihwaHlzKSkpKQorCQlyZXR1cm4ga3VubWFwKHBmbl90b19wYWdlKFBGTl9ET1dOKHBoeXMpKSk7 Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFtZGdwdV9pb3ZhX3RvX3BoeXNfcmVhZChzdHJ1Y3QgZmls ZSAqZiwgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJCQkgICBzaXplX3Qgc2l6ZSwgbG9mZl90ICpwb3Mp Cit7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBmaWxlX2lub2RlKGYpLT5pX3ByaXZh dGU7CisJc3NpemVfdCByZXN1bHQsIG47CisJaW50IHI7CisJdWludDY0X3QgcGh5czsKKwl2b2lk ICpwdHI7CisJc3RydWN0IGlvbW11X2RvbWFpbiAqZG9tOworCisJZG9tID0gaW9tbXVfZ2V0X2Rv bWFpbl9mb3JfZGV2KGFkZXYtPmRldik7CisJaWYgKCFkb20pCisJCXJldHVybiAtRUZBVUxUOwor CisJcmVzdWx0ID0gMDsKKwl3aGlsZSAoc2l6ZSkgeworCQkvLyBnZXQgcGh5c2ljYWwgYWRkcmVz cyBhbmQgbWFwCisJCXBoeXMgPSBpb21tdV9pb3ZhX3RvX3BoeXMoZG9tLCAqcG9zKTsKKworCQkv LyBjb3B5IHVwdG8gb25lIHBhZ2UKKwkJaWYgKHNpemUgPiBQQUdFX1NJWkUpCisJCQluID0gUEFH RV9TSVpFOworCQllbHNlCisJCQluID0gc2l6ZTsKKworCQkvLyB0byBlbmQgb2YgdGhlIHBhZ2UK KwkJaWYgKCgoKnBvcyAmIChQQUdFX1NJWkUgLSAxKSkgKyBuKSA+PSBQQUdFX1NJWkUpCisJCQlu ID0gUEFHRV9TSVpFIC0gKCpwb3MgJiAoUEFHRV9TSVpFIC0gMSkpOworCisJCXB0ciA9IHRyYW5z Zm9ybV9wYWdlKHBoeXMpOworCQlpZiAoIXB0cikKKwkJCXJldHVybiAtRUZBVUxUOworCisJCXIg PSBjb3B5X3RvX3VzZXIoYnVmLCBwdHIsIG4pOworCQl1bnRyYW5zZm9ybV9wYWdlKHBoeXMpOwor CQlpZiAocikKKwkJCXJldHVybiAtRUZBVUxUOworCisJCSpwb3MgKz0gbjsKKwkJc2l6ZSAtPSBu OworCQlyZXN1bHQgKz0gbjsKKwl9CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgc3Np emVfdCBhbWRncHVfaW92YV90b19waHlzX3dyaXRlKHN0cnVjdCBmaWxlICpmLCBjb25zdCBjaGFy IF9fdXNlciAqYnVmLAorCQkJCSAgIHNpemVfdCBzaXplLCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGZpbGVfaW5vZGUoZiktPmlfcHJpdmF0ZTsKKwlzc2l6 ZV90IHJlc3VsdCwgbjsKKwlpbnQgcjsKKwl1aW50NjRfdCBwaHlzOworCXZvaWQgKnB0cjsKKwlz dHJ1Y3QgaW9tbXVfZG9tYWluICpkb207CisKKwlkb20gPSBpb21tdV9nZXRfZG9tYWluX2Zvcl9k ZXYoYWRldi0+ZGV2KTsKKwlpZiAoIWRvbSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlyZXN1bHQg PSAwOworCXdoaWxlIChzaXplKSB7CisJCS8vIGdldCBwaHlzaWNhbCBhZGRyZXNzIGFuZCBtYXAK KwkJcGh5cyA9IGlvbW11X2lvdmFfdG9fcGh5cyhkb20sICpwb3MpOworCisJCS8vIGNvcHkgdXB0 byBvbmUgcGFnZQorCQlpZiAoc2l6ZSA+IFBBR0VfU0laRSkKKwkJCW4gPSBQQUdFX1NJWkU7CisJ CWVsc2UKKwkJCW4gPSBzaXplOworCisJCS8vIHRvIGVuZCBvZiB0aGUgcGFnZQorCQlpZiAoKCgq cG9zICYgKFBBR0VfU0laRSAtIDEpKSArIG4pID49IFBBR0VfU0laRSkKKwkJCW4gPSBQQUdFX1NJ WkUgLSAoKnBvcyAmIChQQUdFX1NJWkUgLSAxKSk7CisKKwkJcHRyID0gdHJhbnNmb3JtX3BhZ2Uo cGh5cyk7CisJCWlmICghcHRyKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJciA9IGNvcHlfZnJv bV91c2VyKHB0ciwgYnVmLCBuKTsKKwkJdW50cmFuc2Zvcm1fcGFnZShwaHlzKTsKKwkJaWYgKHIp CisJCQlyZXR1cm4gLUVGQVVMVDsKKworCQkqcG9zICs9IG47CisJCXNpemUgLT0gbjsKKwkJcmVz dWx0ICs9IG47CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgYW1kZ3B1X3R0bV9pb3ZhX2ZvcHMgPSB7CisJLm93bmVyID0gVEhJ U19NT0RVTEUsCisJLnJlYWQgPSBhbWRncHVfaW92YV90b19waHlzX3JlYWQsCisJLndyaXRlID0g YW1kZ3B1X2lvdmFfdG9fcGh5c193cml0ZSwKKwkubGxzZWVrID0gZGVmYXVsdF9sbHNlZWsKK307 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogCWNoYXIgKm5hbWU7CkBAIC0xODIwLDYgKzE5MzMs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICNpZmRlZiBDT05GSUdfRFJNX0FNREdQVV9HQVJU X0RFQlVHRlMKIAl7ICJhbWRncHVfZ3R0IiwgJmFtZGdwdV90dG1fZ3R0X2ZvcHMsIFRUTV9QTF9U VCB9LAogI2VuZGlmCisJeyAiYW1kZ3B1X2lvdmEiLCAmYW1kZ3B1X3R0bV9pb3ZhX2ZvcHMsIFRU TV9QTF9TWVNURU0gfSwKIH07CiAKICNlbmRpZgotLSAKMi4xMi4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK