From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 18/38] drm: kselftest for drm_mm and color eviction Date: Thu, 22 Dec 2016 08:36:21 +0000 Message-ID: <20161222083641.2691-19-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 ZXZpY3Rpb24Kc2Nhbm5pbmcgZmluZHMgYSBzdWl0YWJsZSBob2xlLgoKU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29u YXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmggfCAgIDEgKwogZHJpdmVycy9n cHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jICAgICAgfCAxNTYgKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmggYi9kcml2 ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaAppbmRleCBmZjQ0ZjM5YTE4 MjYuLjBhM2E3ZTMyZTVmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9k cm1fbW1fc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1f c2VsZnRlc3RzLmgKQEAgLTE5LDMgKzE5LDQgQEAgc2VsZnRlc3QoZXZpY3QsIGlndF9ldmljdCkK IHNlbGZ0ZXN0KGV2aWN0X3JhbmdlLCBpZ3RfZXZpY3RfcmFuZ2UpCiBzZWxmdGVzdCh0b3Bkb3du LCBpZ3RfdG9wZG93bikKIHNlbGZ0ZXN0KGNvbG9yLCBpZ3RfY29sb3IpCitzZWxmdGVzdChjb2xv cl9ldmljdCwgaWd0X2NvbG9yX2V2aWN0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Nl bGZ0ZXN0cy90ZXN0LWRybV9tbS5jIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRy bV9tbS5jCmluZGV4IDI0ODQxZDM5OTRkYy4uNjU4NGU0Y2U5NmFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCkBAIC0xODU0LDYgKzE4NTQsMTYyIEBAIHN0YXRpYyBp bnQgaWd0X2NvbG9yKHZvaWQgKmlnbm9yZWQpCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGlu dCBldmljdF9jb2xvcihzdHJ1Y3QgZHJtX21tICptbSwKKwkJICAgICAgIHN0cnVjdCBldmljdF9u b2RlICpub2RlcywKKwkJICAgICAgIHVuc2lnbmVkIGludCAqb3JkZXIsCisJCSAgICAgICB1bnNp Z25lZCBpbnQgY291bnQsCisJCSAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZSwKKwkJICAgICAgIHVu c2lnbmVkIGludCBhbGlnbm1lbnQsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIGNvbG9yLAorCQkg ICAgICAgY29uc3Qgc3RydWN0IGluc2VydF9tb2RlICptb2RlKQoreworCUxJU1RfSEVBRChldmlj dF9saXN0KTsKKwlzdHJ1Y3QgZXZpY3Rfbm9kZSAqZTsKKwlzdHJ1Y3QgZHJtX21tX25vZGUgdG1w OworCWludCBlcnI7CisKKwlkcm1fbW1faW5pdF9zY2FuKG1tLCBzaXplLCBhbGlnbm1lbnQsIGNv bG9yKTsKKwlpZiAoIWV2aWN0X25vZGVzKG1tLAorCQkJIG5vZGVzLCBvcmRlciwgY291bnQsCisJ CQkgJmV2aWN0X2xpc3QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1lbXNldCgmdG1wLCAwLCBz aXplb2YodG1wKSk7CisJZXJyID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMobW0sICZ0bXAs IHNpemUsIGFsaWdubWVudCwgY29sb3IsCisJCQkJCSBtb2RlLT5zZWFyY2hfZmxhZ3MsCisJCQkJ CSBtb2RlLT5jcmVhdGVfZmxhZ3MpOworCWlmIChlcnIpIHsKKwkJcHJfZXJyKCJGYWlsZWQgdG8g aW5zZXJ0IGludG8gZXZpY3Rpb24gaG9sZTogc2l6ZT0lZCwgYWxpZ249JWQsIGNvbG9yPSVsdSwg ZXJyPSVkXG4iLAorCQkgICAgICAgc2l6ZSwgYWxpZ25tZW50LCBjb2xvciwgZXJyKTsKKwkJc2hv d19zY2FuKG1tKTsKKwkJc2hvd19ob2xlcyhtbSwgMyk7CisJCXJldHVybiBlcnI7CisJfQorCisJ aWYgKGNvbG9yc19hYnV0dCgmdG1wKSkKKwkJZXJyID0gLUVJTlZBTDsKKworCWlmICghYXNzZXJ0 X25vZGUoJnRtcCwgbW0sIHNpemUsIGFsaWdubWVudCwgY29sb3IpKSB7CisJCXByX2VycigiSW5z ZXJ0ZWQgZGlkIG5vdCBmaXQgdGhlIGV2aWN0aW9uIGhvbGU6IHNpemU9JWxsZCBbJWRdLCBhbGln bj0lZCBbcmVtPSVsbGRdLCBzdGFydD0lbGx4XG4iLAorCQkgICAgICAgdG1wLnNpemUsIHNpemUs CisJCSAgICAgICBhbGlnbm1lbnQsIG1pc2FsaWdubWVudCgmdG1wLCBhbGlnbm1lbnQpLCB0bXAu c3RhcnQpOworCQllcnIgPSAtRUlOVkFMOworCX0KKworCWRybV9tbV9yZW1vdmVfbm9kZSgmdG1w KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlLCAm ZXZpY3RfbGlzdCwgbGluaykgeworCQllcnIgPSBkcm1fbW1fcmVzZXJ2ZV9ub2RlKG1tLCAmZS0+ bm9kZSk7CisJCWlmIChlcnIpIHsKKwkJCXByX2VycigiRmFpbGVkIHRvIHJlaW5zZXJ0IG5vZGUg YWZ0ZXIgZXZpY3Rpb246IHN0YXJ0PSVsbHhcbiIsCisJCQkgICAgICAgZS0+bm9kZS5zdGFydCk7 CisJCQlyZXR1cm4gZXJyOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg aWd0X2NvbG9yX2V2aWN0KHZvaWQgKmlnbm9yZWQpCit7CisJRFJNX1JORF9TVEFURShwcm5nLCBy YW5kb21fc2VlZCk7CisJY29uc3QgdW5zaWduZWQgaW50IHRvdGFsX3NpemUgPSBtaW4oODE5MnUs IG1heF9pdGVyYXRpb25zKTsKKwljb25zdCBzdHJ1Y3QgaW5zZXJ0X21vZGUgKm1vZGU7CisJdW5z aWduZWQgbG9uZyBjb2xvciA9IDA7CisJc3RydWN0IGRybV9tbSBtbTsKKwlzdHJ1Y3QgZXZpY3Rf bm9kZSAqbm9kZXM7CisJc3RydWN0IGRybV9tbV9ub2RlICpub2RlLCAqbmV4dDsKKwl1bnNpZ25l ZCBpbnQgKm9yZGVyLCBuOworCWludCByZXQsIGVycjsKKworCS8qIENoZWNrIHRoYXQgdGhlIGRy bV9tbV9zY2FuIGFsc28gaG9ub3VycyBjb2xvciBhZGp1c3RtZW50IHdoZW4KKwkgKiBjaG9vc2lu ZyBpdHMgdmljdGltcyB0byBjcmVhdGUgYSBob2xlLiBPdXIgY29sb3JfYWRqdXN0IGRvZXMgbm90 CisJICogYWxsb3cgdHdvIG5vZGVzIHRvIGJlIHBsYWNlZCB0b2dldGhlciB3aXRob3V0IGFuIGlu dGVydmVuaW5nIGhvbGUKKwkgKiBlbmxhcmdpbmcgdGhlIHNldCBvZiB2aWN0aW1zIHRoYXQgbXVz dCBiZSBldmljdGVkLgorCSAqLworCisJcmV0ID0gLUVOT01FTTsKKwlub2RlcyA9IHZ6YWxsb2Mo dG90YWxfc2l6ZSAqIHNpemVvZigqbm9kZXMpKTsKKwlpZiAoIW5vZGVzKQorCQlnb3RvIGVycjsK KworCW9yZGVyID0gZHJtX3JhbmRvbV9vcmRlcih0b3RhbF9zaXplLCAmcHJuZyk7CisJaWYgKCFv cmRlcikKKwkJZ290byBlcnJfbm9kZXM7CisKKwlyZXQgPSAtRUlOVkFMOworCWRybV9tbV9pbml0 KCZtbSwgMCwgMip0b3RhbF9zaXplIC0gMSk7CisJbW0uY29sb3JfYWRqdXN0ID0gc2VwYXJhdGVf YWRqYWNlbnRfY29sb3JzOworCWZvciAobiA9IDA7IG4gPCB0b3RhbF9zaXplOyBuKyspIHsKKwkJ aWYgKCFleHBlY3RfaW5zZXJ0KCZtbSwgJm5vZGVzW25dLm5vZGUsCisJCQkJICAgMSwgMCwgY29s b3IrKywKKwkJCQkgICAmaW5zZXJ0X21vZGVzWzBdKSkgeworCQkJcHJfZXJyKCJpbnNlcnQgZmFp bGVkLCBzdGVwICVkXG4iLCBuKTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisJZm9yIChtb2Rl ID0gZXZpY3RfbW9kZXM7IG1vZGUtPm5hbWU7IG1vZGUrKykgeworCQlmb3IgKG4gPSAxOyBuIDw9 IHRvdGFsX3NpemU7IG4gPDw9IDEpIHsKKwkJCWRybV9yYW5kb21fcmVvcmRlcihvcmRlciwgdG90 YWxfc2l6ZSwgJnBybmcpOworCQkJZXJyID0gZXZpY3RfY29sb3IoJm1tLAorCQkJCQkgIG5vZGVz LCBvcmRlciwgdG90YWxfc2l6ZSwKKwkJCQkJICBuLCAxLCBjb2xvcisrLAorCQkJCQkgIG1vZGUp OworCQkJaWYgKGVycikgeworCQkJCXByX2VycigiJXMgZXZpY3RfY29sb3Ioc2l6ZT0ldSkgZmFp bGVkXG4iLAorCQkJCSAgICAgICBtb2RlLT5uYW1lLCBuKTsKKwkJCQlnb3RvIG91dDsKKwkJCX0K KwkJfQorCisJCWZvciAobiA9IDE7IG4gPCB0b3RhbF9zaXplOyBuIDw8PSAxKSB7CisJCQlkcm1f cmFuZG9tX3Jlb3JkZXIob3JkZXIsIHRvdGFsX3NpemUsICZwcm5nKTsKKwkJCWVyciA9IGV2aWN0 X2NvbG9yKCZtbSwKKwkJCQkJICBub2Rlcywgb3JkZXIsIHRvdGFsX3NpemUsCisJCQkJCSAgdG90 YWxfc2l6ZS8yLCBuLCBjb2xvcisrLAorCQkJCQkgIG1vZGUpOworCQkJaWYgKGVycikgeworCQkJ CXByX2VycigiJXMgZXZpY3RfY29sb3Ioc2l6ZT0ldSwgYWxpZ25tZW50PSV1KSBmYWlsZWRcbiIs CisJCQkJICAgICAgIG1vZGUtPm5hbWUsIHRvdGFsX3NpemUvMiwgbik7CisJCQkJZ290byBvdXQ7 CisJCQl9CisJCX0KKworCQlmb3JfZWFjaF9wcmltZV9udW1iZXJfZnJvbShuLCAxLCBtaW4odG90 YWxfc2l6ZSwgbWF4X3ByaW1lKSkgeworCQkJdW5zaWduZWQgaW50IG5zaXplID0gKHRvdGFsX3Np emUgLSBuICsgMSkgLyAyOworCisJCQlEUk1fTU1fQlVHX09OKCFuc2l6ZSk7CisKKwkJCWRybV9y YW5kb21fcmVvcmRlcihvcmRlciwgdG90YWxfc2l6ZSwgJnBybmcpOworCQkJZXJyID0gZXZpY3Rf Y29sb3IoJm1tLAorCQkJCQkgIG5vZGVzLCBvcmRlciwgdG90YWxfc2l6ZSwKKwkJCQkJICBuc2l6 ZSwgbiwgY29sb3IrKywKKwkJCQkJICBtb2RlKTsKKwkJCWlmIChlcnIpIHsKKwkJCQlwcl9lcnIo IiVzIGV2aWN0X2NvbG9yKHNpemU9JXUsIGFsaWdubWVudD0ldSkgZmFpbGVkXG4iLAorCQkJCSAg ICAgICBtb2RlLT5uYW1lLCBuc2l6ZSwgbik7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKwl9 CisKKwlyZXQgPSAwOworb3V0OgorCWlmIChyZXQpCisJCWRybV9tbV9kZWJ1Z190YWJsZSgmbW0s IF9fZnVuY19fKTsKKwlkcm1fbW1fZm9yX2VhY2hfbm9kZV9zYWZlKG5vZGUsIG5leHQsICZtbSkK KwkJZHJtX21tX3JlbW92ZV9ub2RlKG5vZGUpOworCWRybV9tbV90YWtlZG93bigmbW0pOworCWtm cmVlKG9yZGVyKTsKK2Vycl9ub2RlczoKKwl2ZnJlZShub2Rlcyk7CitlcnI6CisJcmV0dXJuIHJl dDsKK30KKwogI2luY2x1ZGUgImRybV9zZWxmdGVzdC5jIgogCiBzdGF0aWMgaW50IF9faW5pdCB0 ZXN0X2RybV9tbV9pbml0KHZvaWQpCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=