From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 05/38] drm/i915: Add unit tests for the breadcrumb rbtree, completion Date: Thu, 19 Jan 2017 11:41:25 +0000 Message-ID: <20170119114158.17941-6-chris@chris-wilson.co.uk> References: <20170119114158.17941-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD8B66E9DD for ; Thu, 19 Jan 2017 11:42:07 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id c85so11363020wmi.1 for ; Thu, 19 Jan 2017 03:42:07 -0800 (PST) In-Reply-To: <20170119114158.17941-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2Vjb25kIHJldHJvYWN0aXZlIHRlc3QsIG1ha2Ugc3VyZSB0aGF0IHRoZSB3YWl0ZXJzIGFyZSBy ZW1vdmVkIGZyb20gdGhlCmdsb2JhbCB3YWl0LXRyZWUgd2hlbiB0aGVpciBzZXFubyBjb21wbGV0 ZXMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFkY3J1bWJzLmMg fCAxMDcgKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvbW9ja19lbmdpbmUuaCAgICAgICB8ICAgNiArKwogMiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p bnRlbF9icmVhZGNydW1icy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVs X2JyZWFkY3J1bWJzLmMKaW5kZXggYTg5YjI1OTg4Y2MyLi4yNDVlNWYxYjgzNzMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5jCkBA IC02NCw2ICs2NCwyNyBAQCBzdGF0aWMgaW50IGNoZWNrX3JidHJlZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgY2hlY2tfY29tcGxl dGlvbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCQkgICAgY29uc3QgdW5zaWdu ZWQgbG9uZyAqYml0bWFwLAorCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF93YWl0ICp3YWl0ZXJz LAorCQkJICAgIGNvbnN0IGludCBjb3VudCkKK3sKKwlpbnQgbjsKKworCWZvciAobiA9IDA7IG4g PCBjb3VudDsgbisrKSB7CisJCWlmIChpbnRlbF93YWl0X2NvbXBsZXRlKCZ3YWl0ZXJzW25dKSAh PSAhIXRlc3RfYml0KG4sIGJpdG1hcCkpCisJCQljb250aW51ZTsKKworCQlwcl9lcnIoIndhaXRl clslZCwgc2Vxbm89JWRdIGlzICVzLCBidXQgZXhwZWN0ZWQgJXNcbiIsCisJCSAgICAgICBuLCB3 YWl0ZXJzW25dLnNlcW5vLAorCQkgICAgICAgaW50ZWxfd2FpdF9jb21wbGV0ZSgmd2FpdGVyc1tu XSkgPyAiY29tcGxldGUiIDogImFjdGl2ZSIsCisJCSAgICAgICB0ZXN0X2JpdChuLCBiaXRtYXAp ID8gImFjdGl2ZSIgOiAiY29tcGxldGUiKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0 dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgY2hlY2tfcmJ0cmVlX2VtcHR5KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfYnJlYWRjcnVtYnMgKmIgPSAmZW5n aW5lLT5icmVhZGNydW1iczsKQEAgLTE1NywxMCArMTc4LDk2IEBAIHN0YXRpYyBpbnQgaWd0X3Jh bmRvbV9pbnNlcnRfcmVtb3ZlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJyOwogfQogCitzdGF0aWMg aW50IGlndF9pbnNlcnRfY29tcGxldGUodm9pZCAqYXJnKQoreworCWNvbnN0IHUzMiBzZXFub19i aWFzID0gMHgxMDAwOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IGFyZzsKKwlz dHJ1Y3QgaW50ZWxfd2FpdCAqd2FpdGVyczsKKwljb25zdCBpbnQgY291bnQgPSA0MDk2OworCXVu c2lnbmVkIGxvbmcgKmJpdG1hcDsKKwlpbnQgZXJyID0gLUVOT01FTTsKKwlpbnQgbiwgbTsKKwor CW1vY2tfZW5naW5lX3Jlc2V0KGVuZ2luZSk7CisKKwl3YWl0ZXJzID0gZHJtX21hbGxvY19nZnAo Y291bnQsIHNpemVvZigqd2FpdGVycyksIEdGUF9URU1QT1JBUlkpOworCWlmICghd2FpdGVycykK KwkJZ290byBvdXRfZW5naW5lczsKKworCWJpdG1hcCA9IGtjYWxsb2MoRElWX1JPVU5EX1VQKGNv dW50LCBCSVRTX1BFUl9MT05HKSwgc2l6ZW9mKCpiaXRtYXApLAorCQkJIEdGUF9URU1QT1JBUlkp OworCWlmICghYml0bWFwKQorCQlnb3RvIG91dF93YWl0ZXJzOworCisJZm9yIChuID0gMDsgbiA8 IGNvdW50OyBuKyspIHsKKwkJaW50ZWxfd2FpdF9pbml0KCZ3YWl0ZXJzW25dLCBuICsgc2Vxbm9f Ymlhcyk7CisJCWludGVsX2VuZ2luZV9hZGRfd2FpdChlbmdpbmUsICZ3YWl0ZXJzW25dKTsKKwkJ X19zZXRfYml0KG4sIGJpdG1hcCk7CisJfQorCWVyciA9IGNoZWNrX3JidHJlZShlbmdpbmUsIGJp dG1hcCwgd2FpdGVycywgY291bnQpOworCWlmIChlcnIpCisJCWdvdG8gZXJyOworCisJLyogT24g ZWFjaCBzdGVwLCB3ZSBhZHZhbmNlIHRoZSBzZXFubyBzbyB0aGF0IHNldmVyYWwgd2FpdGVycyBh cmUgdGhlbgorCSAqIGNvbXBsZXRlICh3ZSBpbmNyZWFzZSB0aGUgc2Vxbm8gYnkgaW5jcmVhc2lu Z2x5IGxhcmdlciB2YWx1ZXMgdG8KKwkgKiByZXRpcmUgbW9yZSBhbmQgbW9yZSB3YWl0ZXJzIGF0 IG9uY2UpLiBBbGwgcmV0aXJlZCB3YWl0ZXJzIHNob3VsZAorCSAqIGJlIHdva2VuIGFuZCByZW1v dmVkIGZyb20gdGhlIHJidHJlZSwgYW5kIHNvIHRoYXQgd2UgY2hlY2suCisJICovCisJZm9yIChu ID0gMDsgbiA8IGNvdW50OyBuID0gbSkgeworCQlpbnQgc2Vxbm8gPSAyICogbjsKKworCQlHRU1f QlVHX09OKGZpbmRfZmlyc3RfYml0KGJpdG1hcCwgY291bnQpICE9IG4pOworCisJCWlmIChpbnRl bF93YWl0X2NvbXBsZXRlKCZ3YWl0ZXJzW25dKSkgeworCQkJcHJfZXJyKCJ3YWl0ZXJbJWQsIHNl cW5vPSVkXSBjb21wbGV0ZWQgdG9vIGVhcmx5XG4iLAorCQkJICAgICAgIG4sIHdhaXRlcnNbbl0u c2Vxbm8pOworCQkJZXJyID0gLUVJTlZBTDsKKwkJCWdvdG8gZXJyOworCQl9CisKKwkJLyogY29t cGxldGUgdGhlIGZvbGxvd2luZyB3YWl0ZXJzICovCisJCW1vY2tfc2Vxbm9fYWR2YW5jZShlbmdp bmUsIHNlcW5vICsgc2Vxbm9fYmlhcyk7CisJCWZvciAobSA9IG47IG0gPD0gc2Vxbm87IG0rKykg eworCQkJaWYgKG0gPT0gY291bnQpCisJCQkJYnJlYWs7CisKKwkJCUdFTV9CVUdfT04oIXRlc3Rf Yml0KG0sIGJpdG1hcCkpOworCQkJX19jbGVhcl9iaXQobSwgYml0bWFwKTsKKwkJfQorCisJCWlu dGVsX2VuZ2luZV9yZW1vdmVfd2FpdChlbmdpbmUsICZ3YWl0ZXJzW25dKTsKKwkJUkJfQ0xFQVJf Tk9ERSgmd2FpdGVyc1tuXS5ub2RlKTsKKworCQllcnIgPSBjaGVja19yYnRyZWUoZW5naW5lLCBi aXRtYXAsIHdhaXRlcnMsIGNvdW50KTsKKwkJaWYgKGVycikgeworCQkJcHJfZXJyKCJyYnRyZWUg Y29ycnVwdCBhZnRlciBzZXFubyBhZHZhbmNlIHRvICVkXG4iLAorCQkJICAgICAgIHNlcW5vICsg c2Vxbm9fYmlhcyk7CisJCQlnb3RvIGVycjsKKwkJfQorCisJCWVyciA9IGNoZWNrX2NvbXBsZXRp b24oZW5naW5lLCBiaXRtYXAsIHdhaXRlcnMsIGNvdW50KTsKKwkJaWYgKGVycikgeworCQkJcHJf ZXJyKCJjb21wbGV0aW9ucyBhZnRlciBzZXFubyBhZHZhbmNlIHRvICVkIGZhaWxlZFxuIiwKKwkJ CSAgICAgICBzZXFubyArIHNlcW5vX2JpYXMpOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwll cnIgPSBjaGVja19yYnRyZWVfZW1wdHkoZW5naW5lKTsKK2VycjoKKwlrZnJlZShiaXRtYXApOwor b3V0X3dhaXRlcnM6CisJZHJtX2ZyZWVfbGFyZ2Uod2FpdGVycyk7CitvdXRfZW5naW5lczoKKwlt b2NrX2VuZ2luZV9mbHVzaChlbmdpbmUpOworCXJldHVybiBlcnI7Cit9CisKIGludCBpbnRlbF9i cmVhZGNydW1ic19tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CiAJCVNVQlRFU1QoaWd0X3JhbmRvbV9pbnNlcnRfcmVt b3ZlKSwKKwkJU1VCVEVTVChpZ3RfaW5zZXJ0X2NvbXBsZXRlKSwKIAl9OwogCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZTsKIAlpbnQgZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja19lbmdpbmUuaAppbmRleCAwYWU5YTk0YWFhMWUuLjljZmU5NjcxZjg2MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmgKQEAgLTI5 LDQgKzI5LDEwIEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKm1vY2tfZW5naW5lKGNvbnN0IGNo YXIgKm5hbWUpOwogdm9pZCBtb2NrX2VuZ2luZV9mbHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpOwogdm9pZCBtb2NrX2VuZ2luZV9yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpOwogCitzdGF0aWMgaW5saW5lIHZvaWQgbW9ja19zZXFub19hZHZhbmNlKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHNlcW5vKQoreworCWludGVsX3dyaXRlX3N0 YXR1c19wYWdlKGVuZ2luZSwgSTkxNV9HRU1fSFdTX0lOREVYLCBzZXFubyk7CisJaW50ZWxfZW5n aW5lX3dha2V1cChlbmdpbmUpOworfQorCiAjZW5kaWYgLyogIV9fTU9DS19FTkdJTkVfSF9fICov Ci0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=