From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Rodriguez Subject: [PATCH 24/25] drm/amdgpu: guarantee bijective mapping of ring ids for LRU v3 Date: Tue, 4 Apr 2017 18:05:50 -0400 Message-ID: <20170404220551.8669-25-andresx7@gmail.com> References: <20170404220551.8669-1-andresx7@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170404220551.8669-1-andresx7-Re5JQEeQqe8AvxtiuMwx3w@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: andresx7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org RGVwZW5kaW5nIG9uIHVzYWdlIHBhdHRlcm5zLCB0aGUgY3VycmVudCBMUlUgcG9saWN5IG1heSBj cmVhdGUgYQpub24taW5qZWN0aXZlIG1hcHBpbmcgYmV0d2VlbiB1c2Vyc3BhY2UgcmluZyBpZHMg YW5kIGtlcm5lbCByaW5ncy4KClRoaXMgYmVoYXZpb3VyIGlzIHVuZGVzaXJlZCBhcyBhcHBzIHRo YXQgYXR0ZW1wdCB0byBmaWxsIGFsbCBIVyBibG9ja3MKd291bGQgYmUgdW5hYmxlIHRvIHJlYWNo IHNvbWUgb2YgdGhlbS4KClRoaXMgY2hhbmdlIGZvcmNlcyB0aGUgTFJVIHBvbGljeSB0byBjcmVh dGUgYmlqZWN0aXZlIG1hcHBpbmdzIG9ubHkuCgp2MjogY29tcHJlc3MgcmluZ19ibGFja2xpc3QK djM6IHNpbXBsaWZ5IGFtZGdwdV9yaW5nX2lzX2JsYWNrbGlzdGVkKCkgbG9naWMKClNpZ25lZC1v ZmYtYnk6IEFuZHJlcyBSb2RyaWd1ZXogPGFuZHJlc3g3QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6 IE5pY29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3F1ZXVlX21nci5jIHwgMTYgKysrKysrKysrKystLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuYyAgICAgIHwgMzMgKysrKysr KysrKysrKysrKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cmluZy5oICAgICAgfCAgNCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9xdWV1ZV9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9x dWV1ZV9tZ3IuYwppbmRleCAwNTRkNzUwLi41YTdjNjkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcXVldWVfbWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3F1ZXVlX21nci5jCkBAIC0xMDgsMjQgKzEwOCwzNiBAQCBzdGF0 aWMgZW51bSBhbWRncHVfcmluZ190eXBlIGFtZGdwdV9od19pcF90b19yaW5nX3R5cGUoaW50IGh3 X2lwKQogCQlEUk1fRVJST1IoIkludmFsaWQgSFcgSVAgc3BlY2lmaWVkICVkXG4iLCBod19pcCk7 CiAJCXJldHVybiAtMTsKIAl9CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X2xydV9tYXAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkgIHN0cnVjdCBhbWRncHVfcXVldWVfbWFwcGVyICpt YXBwZXIsCiAJCQkgIGludCB1c2VyX3JpbmcsCiAJCQkgIHN0cnVjdCBhbWRncHVfcmluZyAqKm91 dF9yaW5nKQogewotCWludCByOworCWludCByLCBpLCBqOwogCWludCByaW5nX3R5cGUgPSBhbWRn cHVfaHdfaXBfdG9fcmluZ190eXBlKG1hcHBlci0+aHdfaXApOworCWludCByaW5nX2JsYWNrbGlz dFtBTURHUFVfTUFYX1JJTkdTXTsKKwlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7CiAKLQlyID0g YW1kZ3B1X3JpbmdfbHJ1X2dldChhZGV2LCByaW5nX3R5cGUsIG91dF9yaW5nKTsKKwkvKiAwIGlz IGEgdmFsaWQgcmluZyBpbmRleCwgc28gaW5pdGlhbGl6ZSB0byAtMSAqLworCW1lbXNldChyaW5n X2JsYWNrbGlzdCwgMHhmZiwgc2l6ZW9mKHJpbmdfYmxhY2tsaXN0KSk7CisKKwlmb3IgKGkgPSAw LCBqID0gMDsgaSA8IEFNREdQVV9NQVhfUklOR1M7IGkrKykgeworCQlyaW5nID0gbWFwcGVyLT5x dWV1ZV9tYXBbaV07CisJCWlmIChyaW5nKQorCQkJcmluZ19ibGFja2xpc3RbaisrXSA9IHJpbmct PmlkeDsKKwl9CisKKwlyID0gYW1kZ3B1X3JpbmdfbHJ1X2dldChhZGV2LCByaW5nX3R5cGUsIHJp bmdfYmxhY2tsaXN0LAorCQkJCWosIG91dF9yaW5nKTsKIAlpZiAocikKIAkJcmV0dXJuIHI7CiAK IAlyZXR1cm4gYW1kZ3B1X3VwZGF0ZV9jYWNoZWRfbWFwKG1hcHBlciwgdXNlcl9yaW5nLCAqb3V0 X3JpbmcpOwogfQogCiAvKioKICAqIGFtZGdwdV9xdWV1ZV9tZ3JfaW5pdCAtIGluaXQgYW4gYW1k Z3B1X3F1ZXVlX21nciBzdHJ1Y3QKICAqCiAgKiBAYWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVy CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuYwppbmRleCBiMWFmOTUyLi4w OWZhOGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmlu Zy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmMKQEAgLTQx OSw0NiArNDE5LDY1IEBAIHZvaWQgYW1kZ3B1X3JpbmdfZmluaShzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcpCiAJcmluZy0+YWRldi0+cmluZ3NbcmluZy0+aWR4XSA9IE5VTEw7CiB9CiAKIHN0YXRp YyB2b2lkIGFtZGdwdV9yaW5nX2xydV90b3VjaF9sb2NrZWQoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsCiAJCQkJCSBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7CiAJLyogbGlzdF9tb3Zl X3RhaWwgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSByaW5nIGlzbid0IHBhcnQgb2YgdGhlIGxpc3Qg Ki8KIAlsaXN0X21vdmVfdGFpbCgmcmluZy0+bHJ1X2xpc3QsICZhZGV2LT5yaW5nX2xydV9saXN0 KTsKIH0KIAorc3RhdGljIGJvb2wgYW1kZ3B1X3JpbmdfaXNfYmxhY2tsaXN0ZWQoc3RydWN0IGFt ZGdwdV9yaW5nICpyaW5nLAorCQkJCSAgICAgICBpbnQgKmJsYWNrbGlzdCwgaW50IG51bV9ibGFj a2xpc3QpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2JsYWNrbGlzdDsgaSsr KSB7CisJCWlmIChyaW5nLT5pZHggPT0gYmxhY2tsaXN0W2ldKQorCQkJcmV0dXJuIHRydWU7CisJ fQorCisJcmV0dXJuIGZhbHNlOworfQorCiAvKioKICAqIGFtZGdwdV9yaW5nX2xydV9nZXQgLSBn ZXQgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgcmluZyBmb3IgYSBIVyBJUCBibG9jawogICoKICAq IEBhZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKICAqIEB0eXBlOiBhbWRncHVfcmluZ190eXBl IGVudW0KKyAqIEBibGFja2xpc3Q6IGJsYWNrbGlzdGVkIHJpbmcgaWRzIGFycmF5CisgKiBAbnVt X2JsYWNrbGlzdDogbnVtYmVyIG9mIGVudHJpZXMgaW4gQGJsYWNrbGlzdAogICogQHJpbmc6IG91 dHB1dCByaW5nCiAgKgogICogUmV0cmlldmUgdGhlIGFtZGdwdV9yaW5nIHN0cnVjdHVyZSBmb3Ig dGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgcmluZyBvZgogICogYSBzcGVjaWZpYyBJUCBibG9jayAo YWxsIGFzaWNzKS4KICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlcnJvciBvbiBmYWlsdXJlLgog ICovCi1pbnQgYW1kZ3B1X3JpbmdfbHJ1X2dldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg aW50IHR5cGUsCi0JCQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKipyaW5nKQoraW50IGFtZGdwdV9yaW5n X2xydV9nZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCB0eXBlLCBpbnQgKmJsYWNr bGlzdCwKKwkJCWludCBudW1fYmxhY2tsaXN0LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKipyaW5nKQog ewogCXN0cnVjdCBhbWRncHVfcmluZyAqZW50cnk7CiAKIAkvKiBMaXN0IGlzIHNvcnRlZCBpbiBM UlUgb3JkZXIsIGZpbmQgZmlyc3QgZW50cnkgY29ycmVzcG9uZGluZwogCSAqIHRvIHRoZSBkZXNp cmVkIEhXIElQICovCiAJKnJpbmcgPSBOVUxMOwogCXNwaW5fbG9jaygmYWRldi0+cmluZ19scnVf bGlzdF9sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmYWRldi0+cmluZ19scnVf bGlzdCwgbHJ1X2xpc3QpIHsKLQkJaWYgKGVudHJ5LT5mdW5jcy0+dHlwZSA9PSB0eXBlKSB7Ci0J CQkqcmluZyA9IGVudHJ5OwotCQkJYW1kZ3B1X3JpbmdfbHJ1X3RvdWNoX2xvY2tlZChhZGV2LCAq cmluZyk7Ci0JCQlicmVhazsKLQkJfQorCQlpZiAoZW50cnktPmZ1bmNzLT50eXBlICE9IHR5cGUp CisJCQljb250aW51ZTsKKworCQlpZiAoYW1kZ3B1X3JpbmdfaXNfYmxhY2tsaXN0ZWQoZW50cnks IGJsYWNrbGlzdCwgbnVtX2JsYWNrbGlzdCkpCisJCQljb250aW51ZTsKKworCQkqcmluZyA9IGVu dHJ5OworCQlhbWRncHVfcmluZ19scnVfdG91Y2hfbG9ja2VkKGFkZXYsICpyaW5nKTsKKwkJYnJl YWs7CiAJfQogCXNwaW5fdW5sb2NrKCZhZGV2LT5yaW5nX2xydV9saXN0X2xvY2spOwogCiAJaWYg KCEqcmluZykgewogCQlEUk1fRVJST1IoIlJpbmcgTFJVIGNvbnRhaW5zIG5vIGVudHJpZXMgZm9y IHJpbmcgdHlwZTolZFxuIiwgdHlwZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAogCXJldHVy biAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jp bmcuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmgKaW5kZXggZThi YTcwOC4uMmRlNTZmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3JpbmcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5o CkBAIC0yMDMsMjIgKzIwMywyMiBAQCB2b2lkIGFtZGdwdV9yaW5nX2dlbmVyaWNfcGFkX2liKHN0 cnVjdCBhbWRncHVfcmluZyAqcmluZywgc3RydWN0IGFtZGdwdV9pYiAqaWIpOwogdm9pZCBhbWRn cHVfcmluZ19jb21taXQoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKTsKIHZvaWQgYW1kZ3B1X3Jp bmdfdW5kbyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpOwogaW50IGFtZGdwdV9yaW5nX3ByaW9y aXR5X2dldChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCQkgICAgIGVudW0gYW1kX3NjaGVk X3ByaW9yaXR5IHByaW9yaXR5KTsKIHZvaWQgYW1kZ3B1X3JpbmdfcHJpb3JpdHlfcHV0KHN0cnVj dCBhbWRncHVfcmluZyAqcmluZywKIAkJCSAgICAgIGVudW0gYW1kX3NjaGVkX3ByaW9yaXR5IHBy aW9yaXR5KTsKIGludCBhbWRncHVfcmluZ19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCSAgICAgdW5zaWduZWQgcmluZ19zaXplLCBz dHJ1Y3QgYW1kZ3B1X2lycV9zcmMgKmlycV9zcmMsCiAJCSAgICAgdW5zaWduZWQgaXJxX3R5cGUp Owogdm9pZCBhbWRncHVfcmluZ19maW5pKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7Ci1pbnQg YW1kZ3B1X3JpbmdfbHJ1X2dldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgaW50IGh3X2lw LAotCQkJc3RydWN0IGFtZGdwdV9yaW5nICoqcmluZyk7CitpbnQgYW1kZ3B1X3JpbmdfbHJ1X2dl dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgaW50IHR5cGUsIGludCAqYmxhY2tsaXN0LAor CQkJaW50IG51bV9ibGFja2xpc3QsIHN0cnVjdCBhbWRncHVfcmluZyAqKnJpbmcpOwogdm9pZCBh bWRncHVfcmluZ19scnVfdG91Y2goc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBh bWRncHVfcmluZyAqcmluZyk7CiBzdGF0aWMgaW5saW5lIHZvaWQgYW1kZ3B1X3JpbmdfY2xlYXJf cmluZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7CiAJaW50IGkgPSAwOwogCXdoaWxlIChp IDw9IHJpbmctPmJ1Zl9tYXNrKQogCQlyaW5nLT5yaW5nW2krK10gPSByaW5nLT5mdW5jcy0+bm9w OwogCiB9CiAKICNlbmRpZgotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=