From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 15/38] drm: kselftest for drm_mm and range restricted eviction Date: Thu, 22 Dec 2016 08:36:18 +0000 Message-ID: <20161222083641.2691-16-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 Q2hlY2sgdGhhdCB3ZSBhZGQgYXJiaXRyYXJ5IGJsb2NrcyB0byBhIHJlc3RyaXRlZCBldmljdGlv biBzY2FubmVyIGluCm9yZGVyIHRvIGZpbmQgdGhlIGZpcnN0IG1pbmltYWwgaG9sZSB0aGF0IG1h dGNoZXMgb3VyIHJlcXVlc3QuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2Ry bV9tbV9zZWxmdGVzdHMuaCB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3Qt ZHJtX21tLmMgICAgICB8IDExMyArKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMg Y2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmggYi9kcml2ZXJzL2dw dS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaAppbmRleCBhMzFiNDQ1OGM3ZWIuLjk2 NWFjYTY1YzE2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1f c2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRl c3RzLmgKQEAgLTE2LDMgKzE2LDQgQEAgc2VsZnRlc3QoYWxpZ24sIGlndF9hbGlnbikKIHNlbGZ0 ZXN0KGFsaWduMzIsIGlndF9hbGlnbjMyKQogc2VsZnRlc3QoYWxpZ242NCwgaWd0X2FsaWduNjQp CiBzZWxmdGVzdChldmljdCwgaWd0X2V2aWN0KQorc2VsZnRlc3QoZXZpY3RfcmFuZ2UsIGlndF9l dmljdF9yYW5nZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1k cm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYwppbmRleCAw NjVlMmM3Mjg0NWIuLmQ0OTExNTE4Njk2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Nl bGZ0ZXN0cy90ZXN0LWRybV9tbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVz dC1kcm1fbW0uYwpAQCAtMTI3OSw2ICsxMjc5LDcgQEAgc3RhdGljIGJvb2wgZXZpY3RfZXZlcnl0 aGluZyhzdHJ1Y3QgZHJtX21tICptbSwKIH0KIAogc3RhdGljIGludCBldmljdF9zb21ldGhpbmco c3RydWN0IGRybV9tbSAqbW0sCisJCQkgICB1NjQgcmFuZ2Vfc3RhcnQsIHU2NCByYW5nZV9lbmQs CiAJCQkgICBzdHJ1Y3QgZXZpY3Rfbm9kZSAqbm9kZXMsCiAJCQkgICB1bnNpZ25lZCBpbnQgKm9y ZGVyLAogCQkJICAgdW5zaWduZWQgaW50IGNvdW50LApAQCAtMTI5MSw3ICsxMjkyLDkgQEAgc3Rh dGljIGludCBldmljdF9zb21ldGhpbmcoc3RydWN0IGRybV9tbSAqbW0sCiAJc3RydWN0IGRybV9t bV9ub2RlIHRtcDsKIAlpbnQgZXJyOwogCi0JZHJtX21tX2luaXRfc2NhbihtbSwgc2l6ZSwgYWxp Z25tZW50LCAwKTsKKwlkcm1fbW1faW5pdF9zY2FuX3dpdGhfcmFuZ2UobW0sCisJCQkJICAgIHNp emUsIGFsaWdubWVudCwgMCwKKwkJCQkgICAgcmFuZ2Vfc3RhcnQsIHJhbmdlX2VuZCk7CiAJaWYg KCFldmljdF9ub2RlcyhtbSwKIAkJCSBub2Rlcywgb3JkZXIsIGNvdW50LAogCQkJICZldmljdF9s aXN0KSkKQEAgLTEzMDksNiArMTMxMiwxMiBAQCBzdGF0aWMgaW50IGV2aWN0X3NvbWV0aGluZyhz dHJ1Y3QgZHJtX21tICptbSwKIAkJcmV0dXJuIGVycjsKIAl9CiAKKwlpZiAodG1wLnN0YXJ0IDwg cmFuZ2Vfc3RhcnQgfHwgdG1wLnN0YXJ0ICsgdG1wLnNpemUgPiByYW5nZV9lbmQpIHsKKwkJcHJf ZXJyKCJJbnNlcnRlZCBbYWRkcmVzcz0lbGx1ICsgJWxsdV0gZGlkIG5vdCBmaXQgaW50byB0aGUg cmVxdWVzdCByYW5nZSBbJWxsdSwgJWxsdV1cbiIsCisJCSAgICAgICB0bXAuc3RhcnQsIHRtcC5z aXplLCByYW5nZV9zdGFydCwgcmFuZ2VfZW5kKTsKKwkJZXJyID0gLUVJTlZBTDsKKwl9CisKIAlp ZiAoIWFzc2VydF9ub2RlKCZ0bXAsIG1tLCBzaXplLCBhbGlnbm1lbnQsIDApIHx8IHRtcC5ob2xl X2ZvbGxvd3MpIHsKIAkJcHJfZXJyKCJJbnNlcnRlZCBkaWQgbm90IGZpbGwgdGhlIGV2aWN0aW9u IGhvbGU6IHNpemU9JWxsZCBbJWRdLCBhbGlnbj0lZCBbcmVtPSVsbGRdLCBzdGFydD0lbGx4LCBo b2xlLWZvbGxvd3M/PSVkXG4iLAogCQkgICAgICAgdG1wLnNpemUsIHNpemUsCkBAIC0xMzkwLDcg KzEzOTksNyBAQCBzdGF0aWMgaW50IGlndF9ldmljdCh2b2lkICppZ25vcmVkKQogCWZvciAobW9k ZSA9IGV2aWN0X21vZGVzOyBtb2RlLT5uYW1lOyBtb2RlKyspIHsKIAkJZm9yIChuID0gMTsgbiA8 PSBzaXplOyBuIDw8PSAxKSB7CiAJCQlkcm1fcmFuZG9tX3Jlb3JkZXIob3JkZXIsIHNpemUsICZw cm5nKTsKLQkJCWVyciA9IGV2aWN0X3NvbWV0aGluZygmbW0sCisJCQllcnIgPSBldmljdF9zb21l dGhpbmcoJm1tLCAwLCBVNjRfTUFYLAogCQkJCQkgICAgICBub2Rlcywgb3JkZXIsIHNpemUsCiAJ CQkJCSAgICAgIG4sIDEsCiAJCQkJCSAgICAgIG1vZGUpOwpAQCAtMTQwNCw3ICsxNDEzLDcgQEAg c3RhdGljIGludCBpZ3RfZXZpY3Qodm9pZCAqaWdub3JlZCkKIAogCQlmb3IgKG4gPSAxOyBuIDwg c2l6ZTsgbiA8PD0gMSkgewogCQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBzaXplLCAmcHJu Zyk7Ci0JCQllcnIgPSBldmljdF9zb21ldGhpbmcoJm1tLAorCQkJZXJyID0gZXZpY3Rfc29tZXRo aW5nKCZtbSwgMCwgVTY0X01BWCwKIAkJCQkJICAgICAgbm9kZXMsIG9yZGVyLCBzaXplLAogCQkJ CQkgICAgICBzaXplLzIsIG4sCiAJCQkJCSAgICAgIG1vZGUpOwpAQCAtMTQyMiw3ICsxNDMxLDcg QEAgc3RhdGljIGludCBpZ3RfZXZpY3Qodm9pZCAqaWdub3JlZCkKIAkJCURSTV9NTV9CVUdfT04o IW5zaXplKTsKIAogCQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBzaXplLCAmcHJuZyk7Ci0J CQllcnIgPSBldmljdF9zb21ldGhpbmcoJm1tLAorCQkJZXJyID0gZXZpY3Rfc29tZXRoaW5nKCZt bSwgMCwgVTY0X01BWCwKIAkJCQkJICAgICAgbm9kZXMsIG9yZGVyLCBzaXplLAogCQkJCQkgICAg ICBuc2l6ZSwgbiwKIAkJCQkJICAgICAgbW9kZSk7CkBAIC0xNDQ3LDYgKzE0NTYsMTAyIEBAIHN0 YXRpYyBpbnQgaWd0X2V2aWN0KHZvaWQgKmlnbm9yZWQpCiAJcmV0dXJuIHJldDsKIH0KIAorc3Rh dGljIGludCBpZ3RfZXZpY3RfcmFuZ2Uodm9pZCAqaWdub3JlZCkKK3sKKwlEUk1fUk5EX1NUQVRF KHBybmcsIHJhbmRvbV9zZWVkKTsKKwljb25zdCB1bnNpZ25lZCBpbnQgc2l6ZSA9IDgxOTI7CisJ Y29uc3QgdW5zaWduZWQgaW50IHJhbmdlX3NpemUgPSBzaXplIC8gMjsKKwljb25zdCB1bnNpZ25l ZCBpbnQgcmFuZ2Vfc3RhcnQgPSBzaXplIC8gNDsKKwljb25zdCB1bnNpZ25lZCBpbnQgcmFuZ2Vf ZW5kID0gcmFuZ2Vfc3RhcnQgKyByYW5nZV9zaXplOworCWNvbnN0IHN0cnVjdCBpbnNlcnRfbW9k ZSAqbW9kZTsKKwlzdHJ1Y3QgZHJtX21tIG1tOworCXN0cnVjdCBldmljdF9ub2RlICpub2RlczsK KwlzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUsICpuZXh0OworCXVuc2lnbmVkIGludCAqb3JkZXIs IG47CisJaW50IHJldCwgZXJyOworCisJLyogTGlrZSBpZ3RfZXZpY3QoKSBidXQgbm93IHdlIGFy ZSBsaW1pdGluZyB0aGUgc2VhcmNoIHRvIGEKKwkgKiBzbWFsbCBwb3J0aW9uIG9mIHRoZSBmdWxs IGRybV9tbS4KKwkgKi8KKworCXJldCA9IC1FTk9NRU07CisJbm9kZXMgPSB2emFsbG9jKHNpemUg KiBzaXplb2YoKm5vZGVzKSk7CisJaWYgKCFub2RlcykKKwkJZ290byBlcnI7CisKKwlvcmRlciA9 IGRybV9yYW5kb21fb3JkZXIoc2l6ZSwgJnBybmcpOworCWlmICghb3JkZXIpCisJCWdvdG8gZXJy X25vZGVzOworCisJcmV0ID0gLUVJTlZBTDsKKwlkcm1fbW1faW5pdCgmbW0sIDAsIHNpemUpOwor CWZvciAobiA9IDA7IG4gPCBzaXplOyBuKyspIHsKKwkJZXJyID0gZHJtX21tX2luc2VydF9ub2Rl KCZtbSwgJm5vZGVzW25dLm5vZGUsIDEsIDAsCisJCQkJCSBEUk1fTU1fU0VBUkNIX0RFRkFVTFQp OworCQlpZiAoZXJyKSB7CisJCQlwcl9lcnIoImluc2VydCBmYWlsZWQsIHN0ZXAgJWRcbiIsIG4p OworCQkJcmV0ID0gZXJyOworCQkJZ290byBvdXQ7CisJCX0KKwl9CisKKwlmb3IgKG1vZGUgPSBl dmljdF9tb2RlczsgbW9kZS0+bmFtZTsgbW9kZSsrKSB7CisJCWZvciAobiA9IDE7IG4gPD0gcmFu Z2Vfc2l6ZTsgbiA8PD0gMSkgeworCQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBzaXplLCAm cHJuZyk7CisJCQllcnIgPSBldmljdF9zb21ldGhpbmcoJm1tLCByYW5nZV9zdGFydCwgcmFuZ2Vf ZW5kLAorCQkJCQkgICAgICBub2Rlcywgb3JkZXIsIHNpemUsCisJCQkJCSAgICAgIG4sIDEsCisJ CQkJCSAgICAgIG1vZGUpOworCQkJaWYgKGVycikgeworCQkJCXByX2VycigiJXMgZXZpY3Rfc29t ZXRoaW5nKHNpemU9JXUpIGZhaWxlZCB3aXRoIHJhbmdlIFsldSwgJXVdXG4iLAorCQkJCSAgICAg ICBtb2RlLT5uYW1lLCBuLCByYW5nZV9zdGFydCwgcmFuZ2VfZW5kKTsKKwkJCQlnb3RvIG91dDsK KwkJCX0KKwkJfQorCisJCWZvciAobiA9IDE7IG4gPD0gcmFuZ2Vfc2l6ZTsgbiA8PD0gMSkgewor CQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBzaXplLCAmcHJuZyk7CisJCQllcnIgPSBldmlj dF9zb21ldGhpbmcoJm1tLCByYW5nZV9zdGFydCwgcmFuZ2VfZW5kLAorCQkJCQkgICAgICBub2Rl cywgb3JkZXIsIHNpemUsCisJCQkJCSAgICAgIHJhbmdlX3NpemUvMiwgbiwKKwkJCQkJICAgICAg bW9kZSk7CisJCQlpZiAoZXJyKSB7CisJCQkJcHJfZXJyKCIlcyBldmljdF9zb21ldGhpbmcoc2l6 ZT0ldSwgYWxpZ25tZW50PSV1KSBmYWlsZWQgd2l0aCByYW5nZSBbJXUsICV1XVxuIiwKKwkJCQkg ICAgICAgbW9kZS0+bmFtZSwgcmFuZ2Vfc2l6ZS8yLCBuLCByYW5nZV9zdGFydCwgcmFuZ2VfZW5k KTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCisJCWZvcl9lYWNoX3ByaW1lX251bWJlcl9m cm9tKG4sIDEsIG1pbihyYW5nZV9zaXplLCBtYXhfcHJpbWUpKSB7CisJCQl1bnNpZ25lZCBpbnQg bnNpemUgPSAocmFuZ2Vfc2l6ZSAtIG4gKyAxKSAvIDI7CisKKwkJCURSTV9NTV9CVUdfT04oIW5z aXplKTsKKworCQkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBzaXplLCAmcHJuZyk7CisJCQll cnIgPSBldmljdF9zb21ldGhpbmcoJm1tLCByYW5nZV9zdGFydCwgcmFuZ2VfZW5kLAorCQkJCQkg ICAgICBub2Rlcywgb3JkZXIsIHNpemUsCisJCQkJCSAgICAgIG5zaXplLCBuLAorCQkJCQkgICAg ICBtb2RlKTsKKwkJCWlmIChlcnIpIHsKKwkJCQlwcl9lcnIoIiVzIGV2aWN0X3NvbWV0aGluZyhz aXplPSV1LCBhbGlnbm1lbnQ9JXUpIGZhaWxlZCB3aXRoIHJhbmdlIFsldSwgJXVdXG4iLAorCQkJ CSAgICAgICBtb2RlLT5uYW1lLCBuc2l6ZSwgbiwgcmFuZ2Vfc3RhcnQsIHJhbmdlX2VuZCk7CisJ CQkJZ290byBvdXQ7CisJCQl9CisJCX0KKwl9CisKKwlyZXQgPSAwOworb3V0OgorCWRybV9tbV9m b3JfZWFjaF9ub2RlX3NhZmUobm9kZSwgbmV4dCwgJm1tKQorCQlkcm1fbW1fcmVtb3ZlX25vZGUo bm9kZSk7CisJZHJtX21tX3Rha2Vkb3duKCZtbSk7CisJa2ZyZWUob3JkZXIpOworZXJyX25vZGVz OgorCXZmcmVlKG5vZGVzKTsKK2VycjoKKwlyZXR1cm4gcmV0OworfQorCiAjaW5jbHVkZSAiZHJt X3NlbGZ0ZXN0LmMiCiAKIHN0YXRpYyBpbnQgX19pbml0IHRlc3RfZHJtX21tX2luaXQodm9pZCkK LS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==