From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Rodriguez Subject: [PATCH 1/2] drm/amdgpu: guarantee bijective mapping of ring ids for LRU Date: Fri, 17 Mar 2017 14:52:48 -0400 Message-ID: <20170317185249.2952-2-andresx7@gmail.com> References: <20170317185249.2952-1-andresx7@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170317185249.2952-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: deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org, andresx7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org RGVwZW5kaW5nIG9uIHVzYWdlIHBhdHRlcm5zLCB0aGUgY3VycmVudCBMUlUgcG9saWN5IG1heSBj cmVhdGUgYQpub24taW5qZWN0aXZlIG1hcHBpbmcgYmV0d2VlbiB1c2Vyc3BhY2UgcmluZyBpZHMg YW5kIGtlcm5lbCByaW5ncy4KClRoaXMgYmVoYXZpb3VyIGlzIHVuZGVzaXJlZCBhcyBhcHBzIHRo YXQgYXR0ZW1wdCB0byBmaWxsIGFsbCBIVyBibG9ja3MKd291bGQgYmUgdW5hYmxlIHRvIHJlYWNo IHNvbWUgb2YgdGhlbS4KClRoaXMgY2hhbmdlIGZvcmNlcyB0aGUgTFJVIHBvbGljeSB0byBjcmVh dGUgYmlqZWN0aXZlIG1hcHBpbmdzIG9ubHkuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXMgUm9kcmln dWV6IDxhbmRyZXN4N0BnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3F1ZXVlX21nci5jIHwgMTUgKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcmluZy5jICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysrKystLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmggICAgICB8ICA0ICsr LS0KIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3F1ZXVlX21nci5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3F1ZXVlX21nci5jCmluZGV4IDA1 NGQ3NTAuLjJjZmZiMGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9xdWV1ZV9tZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cXVldWVfbWdyLmMKQEAgLTEwOCwyNCArMTA4LDM1IEBAIHN0YXRpYyBlbnVtIGFtZGdwdV9yaW5n X3R5cGUgYW1kZ3B1X2h3X2lwX3RvX3JpbmdfdHlwZShpbnQgaHdfaXApCiAJCURSTV9FUlJPUigi SW52YWxpZCBIVyBJUCBzcGVjaWZpZWQgJWRcbiIsIGh3X2lwKTsKIAkJcmV0dXJuIC0xOwogCX0K IH0KIAogc3RhdGljIGludCBhbWRncHVfbHJ1X21hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKIAkJCSAgc3RydWN0IGFtZGdwdV9xdWV1ZV9tYXBwZXIgKm1hcHBlciwKIAkJCSAgaW50IHVz ZXJfcmluZywKIAkJCSAgc3RydWN0IGFtZGdwdV9yaW5nICoqb3V0X3JpbmcpCiB7Ci0JaW50IHI7 CisJaW50IHIsIGk7CiAJaW50IHJpbmdfdHlwZSA9IGFtZGdwdV9od19pcF90b19yaW5nX3R5cGUo bWFwcGVyLT5od19pcCk7CisJaW50IHJpbmdfYmxhY2tsaXN0W0FNREdQVV9NQVhfUklOR1NdOwor CXN0cnVjdCBhbWRncHVfcmluZyAqcmluZzsKKworCWZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFY X1JJTkdTOyBpKyspIHsKKwkJcmluZyA9IG1hcHBlci0+cXVldWVfbWFwW2ldOworCQlpZiAoIXJp bmcpCisJCQlyaW5nX2JsYWNrbGlzdFtpXSA9IC0xOworCQllbHNlCisJCQlyaW5nX2JsYWNrbGlz dFtpXSA9IHJpbmctPmlkeDsKKwl9CiAKLQlyID0gYW1kZ3B1X3JpbmdfbHJ1X2dldChhZGV2LCBy aW5nX3R5cGUsIG91dF9yaW5nKTsKKwlyID0gYW1kZ3B1X3JpbmdfbHJ1X2dldChhZGV2LCByaW5n X3R5cGUsIHJpbmdfYmxhY2tsaXN0LAorCQkJCUFNREdQVV9NQVhfUklOR1MsIG91dF9yaW5nKTsK IAlpZiAocikKIAkJcmV0dXJuIHI7CiAKIAlyZXR1cm4gYW1kZ3B1X3VwZGF0ZV9jYWNoZWRfbWFw KG1hcHBlciwgdXNlcl9yaW5nLCAqb3V0X3JpbmcpOwogfQogCiAvKioKICAqIGFtZGdwdV9xdWV1 ZV9tZ3JfaW5pdCAtIGluaXQgYW4gYW1kZ3B1X3F1ZXVlX21nciBzdHJ1Y3QKICAqCiAgKiBAYWRl djogYW1kZ3B1X2RldmljZSBwb2ludGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3JpbmcuYwppbmRleCBjYTQxYjNhLi4wZGIwN2IwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9yaW5nLmMKQEAgLTM5Myw0NiArMzkzLDY1IEBAIHZvaWQgYW1kZ3B1X3Jpbmdf ZmluaShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAJcmluZy0+YWRldi0+cmluZ3NbcmluZy0+ aWR4XSA9IE5VTEw7CiB9CiAKIHN0YXRpYyB2b2lkIGFtZGdwdV9yaW5nX2xydV90b3VjaF9sb2Nr ZWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJCSBzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcpCiB7CiAJLyogbGlzdF9tb3ZlX3RhaWwgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSByaW5n IGlzbid0IHBhcnQgb2YgdGhlIGxpc3QgKi8KIAlsaXN0X21vdmVfdGFpbCgmcmluZy0+bHJ1X2xp c3QsICZhZGV2LT5yaW5nX2xydV9saXN0KTsKIH0KIAorc3RhdGljIGJvb2wgYW1kZ3B1X3Jpbmdf aXNfYmxhY2tsaXN0ZWQoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAorCQkJCSAgICAgICBpbnQg KmJsYWNrbGlzdCwgaW50IG51bV9ibGFja2xpc3QpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAw OyBpIDwgbnVtX2JsYWNrbGlzdDsgaSsrKSB7CisJCWlmIChyaW5nLT5pZHggPT0gYmxhY2tsaXN0 W2ldKQorCQkJcmV0dXJuIHRydWU7CisJfQorCisJcmV0dXJuIGZhbHNlOworfQorCiAvKioKICAq IGFtZGdwdV9yaW5nX2xydV9nZXQgLSBnZXQgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgcmluZyBm b3IgYSBIVyBJUCBibG9jawogICoKICAqIEBhZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKICAq IEB0eXBlOiBhbWRncHVfcmluZ190eXBlIGVudW0KKyAqIEBibGFja2xpc3Q6IGJsYWNrbGlzdGVk IHJpbmcgaWRzIGFycmF5CisgKiBAbnVtX2JsYWNrbGlzdDogbnVtYmVyIG9mIGVudHJpZXMgaW4g QGJsYWNrbGlzdAogICogQHJpbmc6IG91dHB1dCByaW5nCiAgKgogICogUmV0cmlldmUgdGhlIGFt ZGdwdV9yaW5nIHN0cnVjdHVyZSBmb3IgdGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgcmluZyBvZgog ICogYSBzcGVjaWZpYyBJUCBibG9jayAoYWxsIGFzaWNzKS4KICAqIFJldHVybnMgMCBvbiBzdWNj ZXNzLCBlcnJvciBvbiBmYWlsdXJlLgogICovCi1pbnQgYW1kZ3B1X3JpbmdfbHJ1X2dldChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgaW50IHR5cGUsCi0JCQlzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KipyaW5nKQoraW50IGFtZGdwdV9yaW5nX2xydV9nZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsIGludCB0eXBlLCBpbnQgKmJsYWNrbGlzdCwKKwkJCWludCBudW1fYmxhY2tsaXN0LCBzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKipyaW5nKQogewogCXN0cnVjdCBhbWRncHVfcmluZyAqZW50cnk7CiAK IAkvKiBMaXN0IGlzIHNvcnRlZCBpbiBMUlUgb3JkZXIsIGZpbmQgZmlyc3QgZW50cnkgY29ycmVz cG9uZGluZwogCSAqIHRvIHRoZSBkZXNpcmVkIEhXIElQICovCiAJKnJpbmcgPSBOVUxMOwogCXNw aW5fbG9jaygmYWRldi0+cmluZ19scnVfbGlzdF9sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGVudHJ5LCAmYWRldi0+cmluZ19scnVfbGlzdCwgbHJ1X2xpc3QpIHsKLQkJaWYgKGVudHJ5LT5m dW5jcy0+dHlwZSA9PSB0eXBlKSB7Ci0JCQkqcmluZyA9IGVudHJ5OwotCQkJYW1kZ3B1X3Jpbmdf bHJ1X3RvdWNoX2xvY2tlZChhZGV2LCAqcmluZyk7Ci0JCQlicmVhazsKLQkJfQorCQlpZiAoZW50 cnktPmZ1bmNzLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKworCQlpZiAoYW1kZ3B1X3Jp bmdfaXNfYmxhY2tsaXN0ZWQoZW50cnksIGJsYWNrbGlzdCwgbnVtX2JsYWNrbGlzdCkpCisJCQlj b250aW51ZTsKKworCQkqcmluZyA9IGVudHJ5OworCQlhbWRncHVfcmluZ19scnVfdG91Y2hfbG9j a2VkKGFkZXYsICpyaW5nKTsKKwkJYnJlYWs7CiAJfQogCXNwaW5fdW5sb2NrKCZhZGV2LT5yaW5n X2xydV9saXN0X2xvY2spOwogCiAJaWYgKCEqcmluZykgewogCQlEUk1fRVJST1IoIlJpbmcgTFJV IGNvbnRhaW5zIG5vIGVudHJpZXMgZm9yIHJpbmcgdHlwZTolZFxuIiwgdHlwZSk7CiAJCXJldHVy biAtRUlOVkFMOwogCX0KIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9yaW5nLmgKaW5kZXggMmM4MDFhNS4uODExZDc2YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcmluZy5oCkBAIC0xOTUsMTUgKzE5NSwxNSBAQCB2b2lkIGFtZGdw dV9yaW5nX2dlbmVyaWNfcGFkX2liKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgc3RydWN0IGFt ZGdwdV9pYiAqaWIpOwogdm9pZCBhbWRncHVfcmluZ19jb21taXQoc3RydWN0IGFtZGdwdV9yaW5n ICpyaW5nKTsKIHZvaWQgYW1kZ3B1X3JpbmdfdW5kbyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcp OwogaW50IGFtZGdwdV9yaW5nX3ByaW9yaXR5X2dldChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcs CiAJCQkgICAgIGVudW0gYW1kX3NjaGVkX3ByaW9yaXR5IHByaW9yaXR5KTsKIHZvaWQgYW1kZ3B1 X3JpbmdfcHJpb3JpdHlfcHV0KHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAkJCSAgICAgIGVu dW0gYW1kX3NjaGVkX3ByaW9yaXR5IHByaW9yaXR5KTsKIGludCBhbWRncHVfcmluZ19pbml0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCSAg ICAgdW5zaWduZWQgcmluZ19zaXplLCBzdHJ1Y3QgYW1kZ3B1X2lycV9zcmMgKmlycV9zcmMsCiAJ CSAgICAgdW5zaWduZWQgaXJxX3R5cGUpOwogdm9pZCBhbWRncHVfcmluZ19maW5pKHN0cnVjdCBh bWRncHVfcmluZyAqcmluZyk7Ci1pbnQgYW1kZ3B1X3JpbmdfbHJ1X2dldChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwgaW50IGh3X2lwLAotCQkJc3RydWN0IGFtZGdwdV9yaW5nICoqcmluZyk7 CitpbnQgYW1kZ3B1X3JpbmdfbHJ1X2dldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgaW50 IHR5cGUsIGludCAqYmxhY2tsaXN0LAorCQkJaW50IG51bV9ibGFja2xpc3QsIHN0cnVjdCBhbWRn cHVfcmluZyAqKnJpbmcpOwogdm9pZCBhbWRncHVfcmluZ19scnVfdG91Y2goc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7CiAKICNlbmRpZgotLSAK Mi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=