From: Tom St Denis Subject: [PATCH] drm/amd/amdgpu: add support for iova_to_phys to replace TTM trace (v5) Date: Tue, 19 Sep 2017 08:13:29 -0400 Message-ID: <20170919121329.4301-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 b24gZXJyb3IKKHY1KTogSnVzdCB1c2Uga21hcC9rdW5tYXAKLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgfCA5OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3R0bS5jCmluZGV4IDUwZDIwOTAzZGU0Zi4uYzdmOGUwODFhNzcyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCkBAIC00Myw2ICs0Myw3IEBA CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNp bmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvaW9tbXUuaD4KICNpbmNs dWRlICJhbWRncHUuaCIKICNpbmNsdWRlICJhbWRncHVfdHJhY2UuaCIKICNpbmNsdWRlICJiaWYv YmlmXzRfMV9kLmgiCkBAIC0xODA5LDcgKzE4MTAsMTA0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZmlsZV9vcGVyYXRpb25zIGFtZGdwdV90dG1fZ3R0X2ZvcHMgPSB7CiAKICNlbmRpZgogCitzdGF0 aWMgc3NpemVfdCBhbWRncHVfaW92YV90b19waHlzX3JlYWQoc3RydWN0IGZpbGUgKmYsIGNoYXIg X191c2VyICpidWYsCisJCQkJICAgc2l6ZV90IHNpemUsIGxvZmZfdCAqcG9zKQoreworCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gZmlsZV9pbm9kZShmKS0+aV9wcml2YXRlOworCXNzaXpl X3QgcmVzdWx0LCBuOworCWludCByOworCXVpbnQ2NF90IHBoeXM7CisJdm9pZCAqcHRyOworCXN0 cnVjdCBpb21tdV9kb21haW4gKmRvbTsKKworCWRvbSA9IGlvbW11X2dldF9kb21haW5fZm9yX2Rl dihhZGV2LT5kZXYpOworCWlmICghZG9tKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCXJlc3VsdCA9 IDA7CisJd2hpbGUgKHNpemUpIHsKKwkJLy8gZ2V0IHBoeXNpY2FsIGFkZHJlc3MgYW5kIG1hcAor CQlwaHlzID0gaW9tbXVfaW92YV90b19waHlzKGRvbSwgKnBvcyk7CisKKwkJLy8gY29weSB1cHRv IG9uZSBwYWdlCisJCWlmIChzaXplID4gUEFHRV9TSVpFKQorCQkJbiA9IFBBR0VfU0laRTsKKwkJ ZWxzZQorCQkJbiA9IHNpemU7CisKKwkJLy8gdG8gZW5kIG9mIHRoZSBwYWdlCisJCWlmICgoKCpw b3MgJiAoUEFHRV9TSVpFIC0gMSkpICsgbikgPj0gUEFHRV9TSVpFKQorCQkJbiA9IFBBR0VfU0la RSAtICgqcG9zICYgKFBBR0VfU0laRSAtIDEpKTsKKworCQlwdHIgPSBrbWFwKHBmbl90b19wYWdl KFBGTl9ET1dOKHBoeXMpKSk7CisJCWlmICghcHRyKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJ ciA9IGNvcHlfdG9fdXNlcihidWYsIHB0ciwgbik7CisJCWt1bm1hcChwZm5fdG9fcGFnZShQRk5f RE9XTihwaHlzKSkpOworCQlpZiAocikKKwkJCXJldHVybiAtRUZBVUxUOworCisJCSpwb3MgKz0g bjsKKwkJc2l6ZSAtPSBuOworCQlyZXN1bHQgKz0gbjsKKwl9CisKKwlyZXR1cm4gcmVzdWx0Owor fQorCitzdGF0aWMgc3NpemVfdCBhbWRncHVfaW92YV90b19waHlzX3dyaXRlKHN0cnVjdCBmaWxl ICpmLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAorCQkJCSAgIHNpemVfdCBzaXplLCBsb2ZmX3Qg KnBvcykKK3sKKwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGZpbGVfaW5vZGUoZiktPmlf cHJpdmF0ZTsKKwlzc2l6ZV90IHJlc3VsdCwgbjsKKwlpbnQgcjsKKwl1aW50NjRfdCBwaHlzOwor CXZvaWQgKnB0cjsKKwlzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb207CisKKwlkb20gPSBpb21tdV9n ZXRfZG9tYWluX2Zvcl9kZXYoYWRldi0+ZGV2KTsKKwlpZiAoIWRvbSkKKwkJcmV0dXJuIC1FRkFV TFQ7CisKKwlyZXN1bHQgPSAwOworCXdoaWxlIChzaXplKSB7CisJCS8vIGdldCBwaHlzaWNhbCBh ZGRyZXNzIGFuZCBtYXAKKwkJcGh5cyA9IGlvbW11X2lvdmFfdG9fcGh5cyhkb20sICpwb3MpOwog CisJCS8vIGNvcHkgdXB0byBvbmUgcGFnZQorCQlpZiAoc2l6ZSA+IFBBR0VfU0laRSkKKwkJCW4g PSBQQUdFX1NJWkU7CisJCWVsc2UKKwkJCW4gPSBzaXplOworCisJCS8vIHRvIGVuZCBvZiB0aGUg cGFnZQorCQlpZiAoKCgqcG9zICYgKFBBR0VfU0laRSAtIDEpKSArIG4pID49IFBBR0VfU0laRSkK KwkJCW4gPSBQQUdFX1NJWkUgLSAoKnBvcyAmIChQQUdFX1NJWkUgLSAxKSk7CisKKwkJcHRyID0g a21hcChwZm5fdG9fcGFnZShQRk5fRE9XTihwaHlzKSkpOworCQlpZiAoIXB0cikKKwkJCXJldHVy biAtRUZBVUxUOworCisJCXIgPSBjb3B5X2Zyb21fdXNlcihwdHIsIGJ1Ziwgbik7CisJCWt1bm1h cChwZm5fdG9fcGFnZShQRk5fRE9XTihwaHlzKSkpOworCQlpZiAocikKKwkJCXJldHVybiAtRUZB VUxUOworCisJCSpwb3MgKz0gbjsKKwkJc2l6ZSAtPSBuOworCQlyZXN1bHQgKz0gbjsKKwl9CisK KwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9u cyBhbWRncHVfdHRtX2lvdmFfZm9wcyA9IHsKKwkub3duZXIgPSBUSElTX01PRFVMRSwKKwkucmVh ZCA9IGFtZGdwdV9pb3ZhX3RvX3BoeXNfcmVhZCwKKwkud3JpdGUgPSBhbWRncHVfaW92YV90b19w aHlzX3dyaXRlLAorCS5sbHNlZWsgPSBkZWZhdWx0X2xsc2VlaworfTsKIAogc3RhdGljIGNvbnN0 IHN0cnVjdCB7CiAJY2hhciAqbmFtZTsKQEAgLTE4MjAsNiArMTkxOCw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgewogI2lmZGVmIENPTkZJR19EUk1fQU1ER1BVX0dBUlRfREVCVUdGUwogCXsgImFt ZGdwdV9ndHQiLCAmYW1kZ3B1X3R0bV9ndHRfZm9wcywgVFRNX1BMX1RUIH0sCiAjZW5kaWYKKwl7 ICJhbWRncHVfaW92YSIsICZhbWRncHVfdHRtX2lvdmFfZm9wcywgVFRNX1BMX1NZU1RFTSB9LAog fTsKIAogI2VuZGlmCi0tIAoyLjEyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeAo=