From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 19/38] drm: kselftest for drm_mm and restricted color eviction Date: Thu, 22 Dec 2016 08:36:22 +0000 Message-ID: <20161222083641.2691-20-chris@chris-wilson.co.uk> References: <20161222083641.2691-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161222083641.2691-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Q2hlY2sgdGhhdCBhZnRlciBhcHBseWluZyB0aGUgZHJpdmVyJ3MgY29sb3IgYWRqdXN0bWVudCwg cmVzdHJpY3RlZApldmljdGlvbiBzY2FubmluZyBmaW5kcyBhIHN1aXRhYmxlIGhvbGUuCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3 ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaCB8ICAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMgICAgICB8IDExNiArKysr KysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0 cy9kcm1fbW1fc2VsZnRlc3RzLmggYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9z ZWxmdGVzdHMuaAppbmRleCAwYTNhN2UzMmU1ZjcuLjZhNDU3NWZkYzFjMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmgKQEAgLTIwLDMgKzIwLDQgQEAg c2VsZnRlc3QoZXZpY3RfcmFuZ2UsIGlndF9ldmljdF9yYW5nZSkKIHNlbGZ0ZXN0KHRvcGRvd24s IGlndF90b3Bkb3duKQogc2VsZnRlc3QoY29sb3IsIGlndF9jb2xvcikKIHNlbGZ0ZXN0KGNvbG9y X2V2aWN0LCBpZ3RfY29sb3JfZXZpY3QpCitzZWxmdGVzdChjb2xvcl9ldmljdF9yYW5nZSwgaWd0 X2NvbG9yX2V2aWN0X3JhbmdlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0 cy90ZXN0LWRybV9tbS5jIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5j CmluZGV4IDY1ODRlNGNlOTZhZi4uZmI4ZjcwNTYyMjViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0 ZXN0cy90ZXN0LWRybV9tbS5jCkBAIC0xODU1LDYgKzE4NTUsNyBAQCBzdGF0aWMgaW50IGlndF9j b2xvcih2b2lkICppZ25vcmVkKQogfQogCiBzdGF0aWMgaW50IGV2aWN0X2NvbG9yKHN0cnVjdCBk cm1fbW0gKm1tLAorCQkgICAgICAgdTY0IHJhbmdlX3N0YXJ0LCB1NjQgcmFuZ2VfZW5kLAogCQkg ICAgICAgc3RydWN0IGV2aWN0X25vZGUgKm5vZGVzLAogCQkgICAgICAgdW5zaWduZWQgaW50ICpv cmRlciwKIAkJICAgICAgIHVuc2lnbmVkIGludCBjb3VudCwKQEAgLTE4NjgsNyArMTg2OSw5IEBA IHN0YXRpYyBpbnQgZXZpY3RfY29sb3Ioc3RydWN0IGRybV9tbSAqbW0sCiAJc3RydWN0IGRybV9t bV9ub2RlIHRtcDsKIAlpbnQgZXJyOwogCi0JZHJtX21tX2luaXRfc2NhbihtbSwgc2l6ZSwgYWxp Z25tZW50LCBjb2xvcik7CisJZHJtX21tX2luaXRfc2Nhbl93aXRoX3JhbmdlKG1tLAorCQkJCSAg ICBzaXplLCBhbGlnbm1lbnQsIGNvbG9yLAorCQkJCSAgICByYW5nZV9zdGFydCwgcmFuZ2VfZW5k KTsKIAlpZiAoIWV2aWN0X25vZGVzKG1tLAogCQkJIG5vZGVzLCBvcmRlciwgY291bnQsCiAJCQkg JmV2aWN0X2xpc3QpKQpAQCAtMTg4Niw2ICsxODg5LDEyIEBAIHN0YXRpYyBpbnQgZXZpY3RfY29s b3Ioc3RydWN0IGRybV9tbSAqbW0sCiAJCXJldHVybiBlcnI7CiAJfQogCisJaWYgKHRtcC5zdGFy dCA8IHJhbmdlX3N0YXJ0IHx8IHRtcC5zdGFydCArIHRtcC5zaXplID4gcmFuZ2VfZW5kKSB7CisJ CXByX2VycigiSW5zZXJ0ZWQgW2FkZHJlc3M9JWxsdSArICVsbHVdIGRpZCBub3QgZml0IGludG8g dGhlIHJlcXVlc3QgcmFuZ2UgWyVsbHUsICVsbHVdXG4iLAorCQkgICAgICAgdG1wLnN0YXJ0LCB0 bXAuc2l6ZSwgcmFuZ2Vfc3RhcnQsIHJhbmdlX2VuZCk7CisJCWVyciA9IC1FSU5WQUw7CisJfQor CiAJaWYgKGNvbG9yc19hYnV0dCgmdG1wKSkKIAkJZXJyID0gLUVJTlZBTDsKIApAQCAtMTk1NCw3 ICsxOTYzLDcgQEAgc3RhdGljIGludCBpZ3RfY29sb3JfZXZpY3Qodm9pZCAqaWdub3JlZCkKIAlm b3IgKG1vZGUgPSBldmljdF9tb2RlczsgbW9kZS0+bmFtZTsgbW9kZSsrKSB7CiAJCWZvciAobiA9 IDE7IG4gPD0gdG90YWxfc2l6ZTsgbiA8PD0gMSkgewogCQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9y ZGVyLCB0b3RhbF9zaXplLCAmcHJuZyk7Ci0JCQllcnIgPSBldmljdF9jb2xvcigmbW0sCisJCQll cnIgPSBldmljdF9jb2xvcigmbW0sIDAsIFU2NF9NQVgsCiAJCQkJCSAgbm9kZXMsIG9yZGVyLCB0 b3RhbF9zaXplLAogCQkJCQkgIG4sIDEsIGNvbG9yKyssCiAJCQkJCSAgbW9kZSk7CkBAIC0xOTY3 LDcgKzE5NzYsNyBAQCBzdGF0aWMgaW50IGlndF9jb2xvcl9ldmljdCh2b2lkICppZ25vcmVkKQog CiAJCWZvciAobiA9IDE7IG4gPCB0b3RhbF9zaXplOyBuIDw8PSAxKSB7CiAJCQlkcm1fcmFuZG9t X3Jlb3JkZXIob3JkZXIsIHRvdGFsX3NpemUsICZwcm5nKTsKLQkJCWVyciA9IGV2aWN0X2NvbG9y KCZtbSwKKwkJCWVyciA9IGV2aWN0X2NvbG9yKCZtbSwgMCwgVTY0X01BWCwKIAkJCQkJICBub2Rl cywgb3JkZXIsIHRvdGFsX3NpemUsCiAJCQkJCSAgdG90YWxfc2l6ZS8yLCBuLCBjb2xvcisrLAog CQkJCQkgIG1vZGUpOwpAQCAtMTk4NCw3ICsxOTkzLDcgQEAgc3RhdGljIGludCBpZ3RfY29sb3Jf ZXZpY3Qodm9pZCAqaWdub3JlZCkKIAkJCURSTV9NTV9CVUdfT04oIW5zaXplKTsKIAogCQkJZHJt X3JhbmRvbV9yZW9yZGVyKG9yZGVyLCB0b3RhbF9zaXplLCAmcHJuZyk7Ci0JCQllcnIgPSBldmlj dF9jb2xvcigmbW0sCisJCQllcnIgPSBldmljdF9jb2xvcigmbW0sIDAsIFU2NF9NQVgsCiAJCQkJ CSAgbm9kZXMsIG9yZGVyLCB0b3RhbF9zaXplLAogCQkJCQkgIG5zaXplLCBuLCBjb2xvcisrLAog CQkJCQkgIG1vZGUpOwpAQCAtMjAxMCw2ICsyMDE5LDEwNSBAQCBzdGF0aWMgaW50IGlndF9jb2xv cl9ldmljdCh2b2lkICppZ25vcmVkKQogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgaWd0 X2NvbG9yX2V2aWN0X3JhbmdlKHZvaWQgKmlnbm9yZWQpCit7CisJRFJNX1JORF9TVEFURShwcm5n LCByYW5kb21fc2VlZCk7CisJY29uc3QgdW5zaWduZWQgaW50IHRvdGFsX3NpemUgPSA4MTkyOwor CWNvbnN0IHVuc2lnbmVkIGludCByYW5nZV9zaXplID0gdG90YWxfc2l6ZSAvIDI7CisJY29uc3Qg dW5zaWduZWQgaW50IHJhbmdlX3N0YXJ0ID0gdG90YWxfc2l6ZSAvIDQ7CisJY29uc3QgdW5zaWdu ZWQgaW50IHJhbmdlX2VuZCA9IHJhbmdlX3N0YXJ0ICsgcmFuZ2Vfc2l6ZTsKKwljb25zdCBzdHJ1 Y3QgaW5zZXJ0X21vZGUgKm1vZGU7CisJdW5zaWduZWQgbG9uZyBjb2xvciA9IDA7CisJc3RydWN0 IGRybV9tbSBtbTsKKwlzdHJ1Y3QgZXZpY3Rfbm9kZSAqbm9kZXM7CisJc3RydWN0IGRybV9tbV9u b2RlICpub2RlLCAqbmV4dDsKKwl1bnNpZ25lZCBpbnQgKm9yZGVyLCBuOworCWludCByZXQsIGVy cjsKKworCS8qIExpa2UgaWd0X2NvbG9yX2V2aWN0KCksIGJ1dCBsaW1pdGVkIHRvIHNtYWxsIHBv cnRpb24gb2YgdGhlIGZ1bGwKKwkgKiBkcm1fbW0gcmFuZ2UuCisJICovCisKKwlyZXQgPSAtRU5P TUVNOworCW5vZGVzID0gdnphbGxvYyh0b3RhbF9zaXplICogc2l6ZW9mKCpub2RlcykpOworCWlm ICghbm9kZXMpCisJCWdvdG8gZXJyOworCisJb3JkZXIgPSBkcm1fcmFuZG9tX29yZGVyKHRvdGFs X3NpemUsICZwcm5nKTsKKwlpZiAoIW9yZGVyKQorCQlnb3RvIGVycl9ub2RlczsKKworCXJldCA9 IC1FSU5WQUw7CisJZHJtX21tX2luaXQoJm1tLCAwLCAyKnRvdGFsX3NpemUgLSAxKTsKKwltbS5j b2xvcl9hZGp1c3QgPSBzZXBhcmF0ZV9hZGphY2VudF9jb2xvcnM7CisJZm9yIChuID0gMDsgbiA8 IHRvdGFsX3NpemU7IG4rKykgeworCQlpZiAoIWV4cGVjdF9pbnNlcnQoJm1tLCAmbm9kZXNbbl0u bm9kZSwKKwkJCQkgICAxLCAwLCBjb2xvcisrLAorCQkJCSAgICZpbnNlcnRfbW9kZXNbMF0pKSB7 CisJCQlwcl9lcnIoImluc2VydCBmYWlsZWQsIHN0ZXAgJWRcbiIsIG4pOworCQkJZ290byBvdXQ7 CisJCX0KKwl9CisKKwlmb3IgKG1vZGUgPSBldmljdF9tb2RlczsgbW9kZS0+bmFtZTsgbW9kZSsr KSB7CisJCWZvciAobiA9IDE7IG4gPD0gcmFuZ2Vfc2l6ZTsgbiA8PD0gMSkgeworCQkJZHJtX3Jh bmRvbV9yZW9yZGVyKG9yZGVyLCByYW5nZV9zaXplLCAmcHJuZyk7CisJCQllcnIgPSBldmljdF9j b2xvcigmbW0sIHJhbmdlX3N0YXJ0LCByYW5nZV9lbmQsCisJCQkJCSAgbm9kZXMsIG9yZGVyLCB0 b3RhbF9zaXplLAorCQkJCQkgIG4sIDEsIGNvbG9yKyssCisJCQkJCSAgbW9kZSk7CisJCQlpZiAo ZXJyKSB7CisJCQkJcHJfZXJyKCIlcyBldmljdF9jb2xvcihzaXplPSV1KSBmYWlsZWQgZm9yIHJh bmdlIFsleCwgJXhdXG4iLAorCQkJCSAgICAgICBtb2RlLT5uYW1lLCBuLCByYW5nZV9zdGFydCwg cmFuZ2VfZW5kKTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCisJCWZvciAobiA9IDE7IG4g PCByYW5nZV9zaXplOyBuIDw8PSAxKSB7CisJCQlkcm1fcmFuZG9tX3Jlb3JkZXIob3JkZXIsIHRv dGFsX3NpemUsICZwcm5nKTsKKwkJCWVyciA9IGV2aWN0X2NvbG9yKCZtbSwgcmFuZ2Vfc3RhcnQs IHJhbmdlX2VuZCwKKwkJCQkJICBub2Rlcywgb3JkZXIsIHRvdGFsX3NpemUsCisJCQkJCSAgcmFu Z2Vfc2l6ZS8yLCBuLCBjb2xvcisrLAorCQkJCQkgIG1vZGUpOworCQkJaWYgKGVycikgeworCQkJ CXByX2VycigiJXMgZXZpY3RfY29sb3Ioc2l6ZT0ldSwgYWxpZ25tZW50PSV1KSBmYWlsZWQgZm9y IHJhbmdlIFsleCwgJXhdXG4iLAorCQkJCSAgICAgICBtb2RlLT5uYW1lLCB0b3RhbF9zaXplLzIs IG4sIHJhbmdlX3N0YXJ0LCByYW5nZV9lbmQpOworCQkJCWdvdG8gb3V0OworCQkJfQorCQl9CisK KwkJZm9yX2VhY2hfcHJpbWVfbnVtYmVyX2Zyb20obiwgMSwgbWluKHJhbmdlX3NpemUsIG1heF9w cmltZSkpIHsKKwkJCXVuc2lnbmVkIGludCBuc2l6ZSA9IChyYW5nZV9zaXplIC0gbiArIDEpIC8g MjsKKworCQkJRFJNX01NX0JVR19PTighbnNpemUpOworCisJCQlkcm1fcmFuZG9tX3Jlb3JkZXIo b3JkZXIsIHRvdGFsX3NpemUsICZwcm5nKTsKKwkJCWVyciA9IGV2aWN0X2NvbG9yKCZtbSwgcmFu Z2Vfc3RhcnQsIHJhbmdlX2VuZCwKKwkJCQkJICBub2Rlcywgb3JkZXIsIHRvdGFsX3NpemUsCisJ CQkJCSAgbnNpemUsIG4sIGNvbG9yKyssCisJCQkJCSAgbW9kZSk7CisJCQlpZiAoZXJyKSB7CisJ CQkJcHJfZXJyKCIlcyBldmljdF9jb2xvcihzaXplPSV1LCBhbGlnbm1lbnQ9JXUpIGZhaWxlZCBm b3IgcmFuZ2UgWyV4LCAleF1cbiIsCisJCQkJICAgICAgIG1vZGUtPm5hbWUsIG5zaXplLCBuLCBy YW5nZV9zdGFydCwgcmFuZ2VfZW5kKTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCX0KKwor CXJldCA9IDA7CitvdXQ6CisJaWYgKHJldCkKKwkJZHJtX21tX2RlYnVnX3RhYmxlKCZtbSwgX19m dW5jX18pOworCWRybV9tbV9mb3JfZWFjaF9ub2RlX3NhZmUobm9kZSwgbmV4dCwgJm1tKQorCQlk cm1fbW1fcmVtb3ZlX25vZGUobm9kZSk7CisJZHJtX21tX3Rha2Vkb3duKCZtbSk7CisJa2ZyZWUo b3JkZXIpOworZXJyX25vZGVzOgorCXZmcmVlKG5vZGVzKTsKK2VycjoKKwlyZXR1cm4gcmV0Owor fQorCiAjaW5jbHVkZSAiZHJtX3NlbGZ0ZXN0LmMiCiAKIHN0YXRpYyBpbnQgX19pbml0IHRlc3Rf ZHJtX21tX2luaXQodm9pZCkKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==