From: Tom St Denis Subject: [PATCH 2/4] drm/amd/amdgpu: add support for iova_to_phys to replace TTM trace (v3) Date: Mon, 18 Sep 2017 13:33:48 -0400 Message-ID: <20170918173350.9543-3-tom.stdenis@amd.com> References: <20170918173350.9543-1-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170918173350.9543-1-tom.stdenis-5C7GfCeVMHo@public.gmane.org> 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 , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org U2lnbmVkLW9mZi1ieTogVG9tIFN0IERlbmlzIDx0b20uc3RkZW5pc0BhbWQuY29tPgoKKHYyKTog QWRkIGRvbWFpbiB0byBpb3ZhIGRlYnVnZnMKKHYzKTogQWRkIHRydWUgcmVhZC93cml0ZSBtZXRo b2RzIHRvIGFjY2VzcyBzeXN0ZW0gbWVtb3J5IG9mIHBhZ2VzCiAgICAgIG1hcHBlZCB0byB0aGUg ZGV2aWNlCi0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIHwgMTA0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTA0IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKaW5kZXgg NTBkMjA5MDNkZTRmLi4wMmFlMzIzNzhlMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdHRtLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CiAj aW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNp bmNsdWRlIDxsaW51eC9pb21tdS5oPgogI2luY2x1ZGUgImFtZGdwdS5oIgogI2luY2x1ZGUgImFt ZGdwdV90cmFjZS5oIgogI2luY2x1ZGUgImJpZi9iaWZfNF8xX2QuaCIKQEAgLTE4MTAsNiArMTgx MSwxMDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgYW1kZ3B1X3R0bV9n dHRfZm9wcyA9IHsKICNlbmRpZgogCiAKK3N0YXRpYyB2b2lkICp0cmFuc2Zvcm1fcGFnZSh1aW50 NjRfdCBwaHlzKQoreworCWlmIChQYWdlSGlnaE1lbShwZm5fdG9fcGFnZShQRk5fRE9XTihwaHlz KSkpKQorCQlyZXR1cm4ga21hcChwZm5fdG9fcGFnZShQRk5fRE9XTihwaHlzKSkpOworCWVsc2UK KwkJcmV0dXJuIF9fdmEocGh5cyk7Cit9CisKK3N0YXRpYyB2b2lkIHVudHJhbnNmb3JtX3BhZ2Uo dWludDY0X3QgcGh5cykKK3sKKwlpZiAoUGFnZUhpZ2hNZW0ocGZuX3RvX3BhZ2UoUEZOX0RPV04o cGh5cykpKSkKKwkJcmV0dXJuIGt1bm1hcChwZm5fdG9fcGFnZShQRk5fRE9XTihwaHlzKSkpOwor fQorCitzdGF0aWMgc3NpemVfdCBhbWRncHVfaW92YV90b19waHlzX3JlYWQoc3RydWN0IGZpbGUg KmYsIGNoYXIgX191c2VyICpidWYsCisJCQkJICAgc2l6ZV90IHNpemUsIGxvZmZfdCAqcG9zKQor eworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZmlsZV9pbm9kZShmKS0+aV9wcml2YXRl OworCXNzaXplX3QgcmVzdWx0LCBuOworCWludCByOworCXVpbnQ2NF90IHBoeXM7CisJdm9pZCAq cHRyOworCisJcmVzdWx0ID0gMDsKKwl3aGlsZSAoc2l6ZSkgeworCQkvLyBnZXQgcGh5c2ljYWwg YWRkcmVzcyBhbmQgbWFwCisJCXBoeXMgPSBpb21tdV9pb3ZhX3RvX3BoeXMoaW9tbXVfZ2V0X2Rv bWFpbl9mb3JfZGV2KGFkZXYtPmRldiksICpwb3MpOworCisJCS8vIGNvcHkgdXB0byBvbmUgcGFn ZQorCQlpZiAoc2l6ZSA+IFBBR0VfU0laRSkKKwkJCW4gPSBQQUdFX1NJWkU7CisJCWVsc2UKKwkJ CW4gPSBzaXplOworCisJCS8vIHRvIGVuZCBvZiB0aGUgcGFnZQorCQlpZiAoKCgqcG9zICYgKFBB R0VfU0laRSAtIDEpKSArIG4pID49IFBBR0VfU0laRSkKKwkJCW4gPSBQQUdFX1NJWkUgLSAoKnBv cyAmIChQQUdFX1NJWkUgLSAxKSk7CisKKwkJcHRyID0gdHJhbnNmb3JtX3BhZ2UocGh5cyk7CisJ CWlmICghcHRyKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJciA9IGNvcHlfdG9fdXNlcihidWYs IHB0ciwgbik7CisJCXVudHJhbnNmb3JtX3BhZ2UocGh5cyk7CisJCWlmIChyKQorCQkJcmV0dXJu IC1FRkFVTFQ7CisKKwkJKnBvcyArPSBuOworCQlzaXplIC09IG47CisJCXJlc3VsdCArPSBuOwor CX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFtZGdwdV9pb3ZhX3Rv X3BoeXNfd3JpdGUoc3RydWN0IGZpbGUgKmYsIGNvbnN0IGNoYXIgX191c2VyICpidWYsCisJCQkJ ICAgc2l6ZV90IHNpemUsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2ID0gZmlsZV9pbm9kZShmKS0+aV9wcml2YXRlOworCXNzaXplX3QgcmVzdWx0LCBuOworCWlu dCByOworCXVpbnQ2NF90IHBoeXM7CisJdm9pZCAqcHRyOworCisJcmVzdWx0ID0gMDsKKwl3aGls ZSAoc2l6ZSkgeworCQkvLyBnZXQgcGh5c2ljYWwgYWRkcmVzcyBhbmQgbWFwCisJCXBoeXMgPSBp b21tdV9pb3ZhX3RvX3BoeXMoaW9tbXVfZ2V0X2RvbWFpbl9mb3JfZGV2KGFkZXYtPmRldiksICpw b3MpOworCisJCS8vIGNvcHkgdXB0byBvbmUgcGFnZQorCQlpZiAoc2l6ZSA+IFBBR0VfU0laRSkK KwkJCW4gPSBQQUdFX1NJWkU7CisJCWVsc2UKKwkJCW4gPSBzaXplOworCisJCS8vIHRvIGVuZCBv ZiB0aGUgcGFnZQorCQlpZiAoKCgqcG9zICYgKFBBR0VfU0laRSAtIDEpKSArIG4pID49IFBBR0Vf U0laRSkKKwkJCW4gPSBQQUdFX1NJWkUgLSAoKnBvcyAmIChQQUdFX1NJWkUgLSAxKSk7CisKKwkJ cHRyID0gdHJhbnNmb3JtX3BhZ2UocGh5cyk7CisJCWlmICghcHRyKQorCQkJcmV0dXJuIC1FRkFV TFQ7CisKKwkJciA9IGNvcHlfZnJvbV91c2VyKHB0ciwgYnVmLCBuKTsKKwkJdW50cmFuc2Zvcm1f cGFnZShwaHlzKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gLUVGQVVMVDsKKworCQkqcG9zICs9IG47 CisJCXNpemUgLT0gbjsKKwkJcmVzdWx0ICs9IG47CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30K Kworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgYW1kZ3B1X3R0bV9pb3ZhX2Zv cHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnJlYWQgPSBhbWRncHVfaW92YV90b19w aHlzX3JlYWQsCisJLndyaXRlID0gYW1kZ3B1X2lvdmFfdG9fcGh5c193cml0ZSwKKwkubGxzZWVr ID0gZGVmYXVsdF9sbHNlZWsKK307CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewogCWNoYXIgKm5h bWU7CkBAIC0xODIwLDYgKzE5MjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKICNpZmRlZiBD T05GSUdfRFJNX0FNREdQVV9HQVJUX0RFQlVHRlMKIAl7ICJhbWRncHVfZ3R0IiwgJmFtZGdwdV90 dG1fZ3R0X2ZvcHMsIFRUTV9QTF9UVCB9LAogI2VuZGlmCisJeyAiYW1kZ3B1X2lvdmEiLCAmYW1k Z3B1X3R0bV9pb3ZhX2ZvcHMsIFRUTV9QTF9TWVNURU0gfSwKIH07CiAKICNlbmRpZgotLSAKMi4x Mi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK