From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 38/38] drm: kselftest for drm_mm and bottom-up allocation Date: Thu, 22 Dec 2016 08:36:41 +0000 Message-ID: <20161222083641.2691-39-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 Q2hlY2sgdGhhdCBpZiB3ZSByZXF1ZXN0IGJvdHRvbS11cCBhbGxvY2F0aW9uIGZyb20gZHJtX21t X2luc2VydF9ub2RlKCkKd2UgcmVjZWl2ZSB0aGUgbmV4dCBhdmFpbGFibGUgaG9sZSBmcm9tIHRo ZSBib3R0b20uCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxm dGVzdHMuaCB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMg ICAgICB8IDEwMCArKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg MTAxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3Rz L2RybV9tbV9zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvZHJtX21tX3Nl bGZ0ZXN0cy5oCmluZGV4IDZhNDU3NWZkYzFjMC4uMzdiYmRhYzUyODk2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaApAQCAtMTcsNiArMTcsNyBAQCBz ZWxmdGVzdChhbGlnbjMyLCBpZ3RfYWxpZ24zMikKIHNlbGZ0ZXN0KGFsaWduNjQsIGlndF9hbGln bjY0KQogc2VsZnRlc3QoZXZpY3QsIGlndF9ldmljdCkKIHNlbGZ0ZXN0KGV2aWN0X3JhbmdlLCBp Z3RfZXZpY3RfcmFuZ2UpCitzZWxmdGVzdChib3R0b211cCwgaWd0X2JvdHRvbXVwKQogc2VsZnRl c3QodG9wZG93biwgaWd0X3RvcGRvd24pCiBzZWxmdGVzdChjb2xvciwgaWd0X2NvbG9yKQogc2Vs ZnRlc3QoY29sb3JfZXZpY3QsIGlndF9jb2xvcl9ldmljdCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVz dHMvdGVzdC1kcm1fbW0uYwppbmRleCBhMDdjMDRhNmM0YjkuLmFjZGY0ZjUxYjc4MSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYwpAQCAtMTY4Nyw2ICsxNjg3LDEwNiBA QCBzdGF0aWMgaW50IGlndF90b3Bkb3duKHZvaWQgKmlnbm9yZWQpCiAJcmV0dXJuIHJldDsKIH0K IAorc3RhdGljIGludCBpZ3RfYm90dG9tdXAodm9pZCAqaWdub3JlZCkKK3sKKwljb25zdCBzdHJ1 Y3QgaW5zZXJ0X21vZGUgKmJvdHRvbXVwID0gJmluc2VydF9tb2Rlc1tCT1RUT01VUF07CisJRFJN X1JORF9TVEFURShwcm5nLCByYW5kb21fc2VlZCk7CisJY29uc3QgdW5zaWduZWQgaW50IGNvdW50 ID0gODE5MjsKKwl1bnNpZ25lZCBpbnQgc2l6ZTsKKwl1bnNpZ25lZCBsb25nICpiaXRtYXA7CisJ c3RydWN0IGRybV9tbSBtbTsKKwlzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGVzLCAqbm9kZSwgKm5l eHQ7CisJdW5zaWduZWQgaW50ICpvcmRlciwgbiwgbSwgbyA9IDA7CisJaW50IHJldDsKKworCS8q IExpa2UgaWd0X3RvcGRvd24sIGJ1dCBpbnN0ZWFkIG9mIHNlYXJjaGluZyBmb3IgdGhlIGxhc3Qg aG9sZSwKKwkgKiB3ZSBzZWFyY2ggZm9yIHRoZSBmaXJzdC4KKwkgKi8KKworCXJldCA9IC1FTk9N RU07CisJbm9kZXMgPSB2emFsbG9jKGNvdW50ICogc2l6ZW9mKCpub2RlcykpOworCWlmICghbm9k ZXMpCisJCWdvdG8gZXJyOworCisJYml0bWFwID0ga3phbGxvYyhjb3VudCAvIEJJVFNfUEVSX0xP TkcgKiBzaXplb2YodW5zaWduZWQgbG9uZyksCisJCQkgR0ZQX1RFTVBPUkFSWSk7CisJaWYgKCFi aXRtYXApCisJCWdvdG8gZXJyX25vZGVzOworCisJb3JkZXIgPSBkcm1fcmFuZG9tX29yZGVyKGNv dW50LCAmcHJuZyk7CisJaWYgKCFvcmRlcikKKwkJZ290byBlcnJfYml0bWFwOworCisJcmV0ID0g LUVJTlZBTDsKKwlmb3IgKHNpemUgPSAxOyBzaXplIDw9IDY0OyBzaXplIDw8PSAxKSB7CisJCWRy bV9tbV9pbml0KCZtbSwgMCwgc2l6ZSpjb3VudCk7CisJCWZvciAobiA9IDA7IG4gPCBjb3VudDsg bisrKSB7CisJCQlpZiAoIWV4cGVjdF9pbnNlcnQoJm1tLCAmbm9kZXNbbl0sCisJCQkJCSAgIHNp emUsIDAsIG4sCisJCQkJCSAgIGJvdHRvbXVwKSkgeworCQkJCXByX2VycigiYm90dG9tdXAgaW5z ZXJ0IGZhaWxlZCwgc2l6ZSAldSBzdGVwICVkXG4iLCBzaXplLCBuKTsKKwkJCQlnb3RvIG91dDsK KwkJCX0KKworCQkJaWYgKCFhc3NlcnRfb25lX2hvbGUoJm1tLCBzaXplKihuICsgMSksIHNpemUq Y291bnQpKQorCQkJCWdvdG8gb3V0OworCQl9CisKKwkJaWYgKCFhc3NlcnRfY29udGludW91cygm bW0sIHNpemUpKQorCQkJZ290byBvdXQ7CisKKwkJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVyLCBj b3VudCwgJnBybmcpOworCQlmb3JfZWFjaF9wcmltZV9udW1iZXJfZnJvbShuLCAxLCBtaW4oY291 bnQsIG1heF9wcmltZSkpIHsKKwkJCWZvciAobSA9IDA7IG0gPCBuOyBtKyspIHsKKwkJCQlub2Rl ID0gJm5vZGVzW29yZGVyWyhvICsgbSkgJSBjb3VudF1dOworCQkJCWRybV9tbV9yZW1vdmVfbm9k ZShub2RlKTsKKwkJCQlfX3NldF9iaXQobm9kZV9pbmRleChub2RlKSwgYml0bWFwKTsKKwkJCX0K KworCQkJZm9yIChtID0gMDsgbSA8IG47IG0rKykgeworCQkJCXVuc2lnbmVkIGludCBmaXJzdDsK KworCQkJCW5vZGUgPSAmbm9kZXNbb3JkZXJbKG8gKyBtKSAlIGNvdW50XV07CisJCQkJaWYgKCFl eHBlY3RfaW5zZXJ0KCZtbSwgbm9kZSwKKwkJCQkJCSAgIHNpemUsIDAsIDAsCisJCQkJCQkgICBi b3R0b211cCkpIHsKKwkJCQkJcHJfZXJyKCJpbnNlcnQgZmFpbGVkLCBzdGVwICVkLyVkXG4iLCBt LCBuKTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCisJCQkJZmlyc3QgPSBmaW5kX2ZpcnN0X2Jp dChiaXRtYXAsIGNvdW50KTsKKwkJCQlpZiAobm9kZV9pbmRleChub2RlKSAhPSBmaXJzdCkgewor CQkJCQlwcl9lcnIoIm5vZGUgJWQvJWQgbm90IGluc2VydGVkIGludG8gYm90dG9tIGhvbGUsIGV4 cGVjdGVkICVkLCBmb3VuZCAlZFxuIiwKKwkJCQkJICAgICAgIG0sIG4sIGZpcnN0LCBub2RlX2lu ZGV4KG5vZGUpKTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJCV9fY2xlYXJfYml0KGZpcnN0 LCBiaXRtYXApOworCQkJfQorCisJCQlEUk1fTU1fQlVHX09OKGZpbmRfZmlyc3RfYml0KGJpdG1h cCwgY291bnQpICE9IGNvdW50KTsKKworCQkJbyArPSBuOworCQl9CisKKwkJZHJtX21tX2Zvcl9l YWNoX25vZGVfc2FmZShub2RlLCBuZXh0LCAmbW0pCisJCQlkcm1fbW1fcmVtb3ZlX25vZGUobm9k ZSk7CisJCURSTV9NTV9CVUdfT04oIWRybV9tbV9jbGVhbigmbW0pKTsKKwl9CisKKwlyZXQgPSAw Oworb3V0OgorCWRybV9tbV9mb3JfZWFjaF9ub2RlX3NhZmUobm9kZSwgbmV4dCwgJm1tKQorCQlk cm1fbW1fcmVtb3ZlX25vZGUobm9kZSk7CisJZHJtX21tX3Rha2Vkb3duKCZtbSk7CisJa2ZyZWUo b3JkZXIpOworZXJyX2JpdG1hcDoKKwlrZnJlZShiaXRtYXApOworZXJyX25vZGVzOgorCXZmcmVl KG5vZGVzKTsKK2VycjoKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgdm9pZCBzZXBhcmF0ZV9h ZGphY2VudF9jb2xvcnMoY29uc3Qgc3RydWN0IGRybV9tbV9ub2RlICpub2RlLAogCQkJCSAgICAg dW5zaWduZWQgbG9uZyBjb2xvciwKIAkJCQkgICAgIHU2NCAqc3RhcnQsCi0tIAoyLjExLjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=