From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 11/38] drm: kselftest for drm_mm_replace_node() Date: Thu, 22 Dec 2016 08:36:14 +0000 Message-ID: <20161222083641.2691-12-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmV1c2UgZHJtX21tX2luc2VydF9ub2RlKCkgd2l0aCBhIHRlbXBvcmFyeSBub2RlIHRvIGV4ZXJj aXNlCmRybV9tbV9yZXBsYWNlX25vZGUoKS4gV2UgdXNlIHRoZSBwcmV2aW91cyB0ZXN0IGluIG9y ZGVyIHRvIGV4ZXJjaXNlIHRoZQp2YXJpb3VzIGxpc3RzIGZvbGxvd2luZyByZXBsYWNlbWVudC4K CnYyOiBDaGVjayB0aGF0IHdlIGNvcHkgYWNyb3NzIHRoZSBpbXBvcnRhbnQgKHVzZXIpIGRldGFp bHMgb2YgdGhlIG5vZGUuClRoZSBpbnRlcm5hbCBkZXRhaWxzIChzdWNoIGFzIGxpc3RzIGFuZCBo b2xlIHRyYWNraW5nKSB3ZSBob3BlIHRvIGRldGVjdAplcnJvcnMgYnkgZXhlcmNpc2UuCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3 ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9zZWxmdGVzdHMuaCB8ICAxICsK IGRyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYyAgICAgIHwgNjUgKysrKysr KysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCsp LCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMv ZHJtX21tX3NlbGZ0ZXN0cy5oIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2Vs ZnRlc3RzLmgKaW5kZXggNzI3YzZkNzI1NWUwLi5kY2E3MjZiYWE2NWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvZHJtX21tX3NlbGZ0ZXN0cy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9zZWxmdGVzdHMvZHJtX21tX3NlbGZ0ZXN0cy5oCkBAIC0xMCwzICsxMCw0IEBAIHNl bGZ0ZXN0KGluaXQsIGlndF9pbml0KQogc2VsZnRlc3QoZGVidWcsIGlndF9kZWJ1ZykKIHNlbGZ0 ZXN0KHJlc2VydmUsIGlndF9yZXNlcnZlKQogc2VsZnRlc3QoaW5zZXJ0LCBpZ3RfaW5zZXJ0KQor c2VsZnRlc3QocmVwbGFjZSwgaWd0X3JlcGxhY2UpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rl c3QtZHJtX21tLmMKaW5kZXggZmViNTk4NWFiZGMyLi43OTE0NDI4Yzk4NjIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fbW0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMKQEAgLTU1NCw3ICs1NTQsNyBAQCBzdGF0aWMg Ym9vbCBleHBlY3RfaW5zZXJ0X2ZhaWwoc3RydWN0IGRybV9tbSAqbW0sIHU2NCBzaXplKQogCXJl dHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGludCBfX2lndF9pbnNlcnQodW5zaWduZWQgaW50IGNv dW50LCB1NjQgc2l6ZSkKK3N0YXRpYyBpbnQgX19pZ3RfaW5zZXJ0KHVuc2lnbmVkIGludCBjb3Vu dCwgdTY0IHNpemUsIGJvb2wgcmVwbGFjZSkKIHsKIAlEUk1fUk5EX1NUQVRFKHBybmcsIHJhbmRv bV9zZWVkKTsKIAljb25zdCBzdHJ1Y3QgaW5zZXJ0X21vZGUgKm1vZGU7CkBAIC01NjksNyArNTY5 LDcgQEAgc3RhdGljIGludCBfX2lndF9pbnNlcnQodW5zaWduZWQgaW50IGNvdW50LCB1NjQgc2l6 ZSkKIAlEUk1fTU1fQlVHX09OKCFzaXplKTsKIAogCXJldCA9IC1FTk9NRU07Ci0Jbm9kZXMgPSB2 emFsbG9jKGNvdW50ICogc2l6ZW9mKCpub2RlcykpOworCW5vZGVzID0gdm1hbGxvYyhjb3VudCAq IHNpemVvZigqbm9kZXMpKTsKIAlpZiAoIW5vZGVzKQogCQlnb3RvIGVycjsKIApAQCAtNTgyLDEx ICs1ODIsMzcgQEAgc3RhdGljIGludCBfX2lndF9pbnNlcnQodW5zaWduZWQgaW50IGNvdW50LCB1 NjQgc2l6ZSkKIAogCWZvciAobW9kZSA9IGluc2VydF9tb2RlczsgbW9kZS0+bmFtZTsgbW9kZSsr KSB7CiAJCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7Ci0JCQlpZiAoIWV4cGVjdF9pbnNl cnQoJm1tLCAmbm9kZXNbbl0sIHNpemUsIDAsIG4sIG1vZGUpKSB7CisJCQlzdHJ1Y3QgZHJtX21t X25vZGUgdG1wOworCisJCQlub2RlID0gcmVwbGFjZSA/ICZ0bXAgOiAmbm9kZXNbbl07CisJCQlt ZW1zZXQobm9kZSwgMCwgc2l6ZW9mKCpub2RlKSk7CisJCQlpZiAoIWV4cGVjdF9pbnNlcnQoJm1t LCBub2RlLCBzaXplLCAwLCBuLCBtb2RlKSkgewogCQkJCXByX2VycigiJXMgaW5zZXJ0IGZhaWxl ZCwgc2l6ZSAlbGx1IHN0ZXAgJWRcbiIsCiAJCQkJICAgICAgIG1vZGUtPm5hbWUsIHNpemUsIG4p OwogCQkJCWdvdG8gb3V0OwogCQkJfQorCisJCQlpZiAocmVwbGFjZSkgeworCQkJCWRybV9tbV9y ZXBsYWNlX25vZGUoJnRtcCwgJm5vZGVzW25dKTsKKwkJCQlpZiAoZHJtX21tX25vZGVfYWxsb2Nh dGVkKCZ0bXApKSB7CisJCQkJCXByX2VycigicmVwbGFjZWQgb2xkLW5vZGUgc3RpbGwgYWxsb2Nh dGVkISBzdGVwICVkXG4iLAorCQkJCQkgICAgICAgbik7CisJCQkJCWdvdG8gb3V0OworCQkJCX0K KworCQkJCWlmICghYXNzZXJ0X25vZGUoJm5vZGVzW25dLCAmbW0sIHNpemUsIDAsIG4pKSB7CisJ CQkJCXByX2VycigicmVwbGFjZWQgbm9kZSBkaWQgbm90IGluaGVyaXQgcGFyYW1ldGVycywgc2l6 ZSAlbGx1IHN0ZXAgJWRcbiIsCisJCQkJCSAgICAgICBzaXplLCBuKTsKKwkJCQkJZ290byBvdXQ7 CisJCQkJfQorCisJCQkJaWYgKHRtcC5zdGFydCAhPSBub2Rlc1tuXS5zdGFydCkgeworCQkJCQlw cl9lcnIoInJlcGxhY2VkIG5vZGUgbWlzbWF0Y2ggbG9jYXRpb24gZXhwZWN0ZWQgWyVsbHggKyAl bGx4XSwgZm91bmQgWyVsbHggKyAlbGx4XVxuIiwKKwkJCQkJICAgICAgIHRtcC5zdGFydCwgc2l6 ZSwKKwkJCQkJICAgICAgIG5vZGVzW25dLnN0YXJ0LCBub2Rlc1tuXS5zaXplKTsKKwkJCQkJZ290 byBvdXQ7CisJCQkJfQorCQkJfQogCQl9CiAKIAkJLyogQWZ0ZXIgcmFuZG9tIGluc2VydGlvbiB0 aGUgbm9kZXMgc2hvdWxkIGJlIGluIG9yZGVyICovCkBAIC02NjksMTcgKzY5NSw0NCBAQCBzdGF0 aWMgaW50IGlndF9pbnNlcnQodm9pZCAqaWdub3JlZCkKIAlmb3JfZWFjaF9wcmltZV9udW1iZXJf ZnJvbShuLCAxLCA1NCkgewogCQl1NjQgc2l6ZSA9IEJJVF9VTEwobik7CiAKLQkJcmV0ID0gX19p Z3RfaW5zZXJ0KGNvdW50LCBzaXplIC0gMSk7CisJCXJldCA9IF9faWd0X2luc2VydChjb3VudCwg c2l6ZSAtIDEsIGZhbHNlKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJcmV0ID0g X19pZ3RfaW5zZXJ0KGNvdW50LCBzaXplKTsKKwkJcmV0ID0gX19pZ3RfaW5zZXJ0KGNvdW50LCBz aXplLCBmYWxzZSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCi0JCXJldCA9IF9faWd0 X2luc2VydChjb3VudCwgc2l6ZSArIDEpOworCQlyZXQgPSBfX2lndF9pbnNlcnQoY291bnQsIHNp emUgKyAxLCBmYWxzZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaWd0X3Jl cGxhY2Uodm9pZCAqaWdub3JlZCkKK3sKKwljb25zdCB1bnNpZ25lZCBpbnQgY291bnQgPSBtaW5f dCh1bnNpZ25lZCBpbnQsIEJJVCgxMCksIG1heF9pdGVyYXRpb25zKTsKKwl1bnNpZ25lZCBpbnQg bjsKKwlpbnQgcmV0OworCisJLyogUmV1c2UgaWd0X2luc2VydCB0byBleGVyY2lzZSByZXBsYWNl bWVudCBieSBpbnNlcnRpbmcgYSBkdW1teSBub2RlLAorCSAqIHRoZW4gcmVwbGFjaW5nIGl0IHdp dGggdGhlIGludGVuZGVkIG5vZGUuIFdlIHdhbnQgdG8gY2hlY2sgdGhhdAorCSAqIHRoZSB0cmVl IGlzIGludGFjdCBhbmQgYWxsIHRoZSBpbmZvcm1hdGlvbiB3ZSBuZWVkIGlzIGNhcnJpZWQKKwkg KiBhY3Jvc3MgdG8gdGhlIHRhcmdldCBub2RlLgorCSAqLworCisJZm9yX2VhY2hfcHJpbWVfbnVt YmVyX2Zyb20obiwgMSwgNTQpIHsKKwkJdTY0IHNpemUgPSBCSVRfVUxMKG4pOworCisJCXJldCA9 IF9faWd0X2luc2VydChjb3VudCwgc2l6ZSAtIDEsIHRydWUpOwogCQlpZiAocmV0KQogCQkJcmV0 dXJuIHJldDsKKworCQlyZXQgPSBfX2lndF9pbnNlcnQoY291bnQsIHNpemUsIHRydWUpOworCQlp ZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKworCQlyZXQgPSBfX2lndF9pbnNlcnQoY291bnQsIHNp emUgKyAxLCB0cnVlKTsKIAl9CiAKIAlyZXR1cm4gMDsKLS0gCjIuMTEuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==