From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 07/38] drm: kselftest for drm_mm_init() Date: Thu, 22 Dec 2016 08:36:10 +0000 Message-ID: <20161222083641.2691-8-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 U2ltcGxlIGZpcnN0IHRlc3QgdG8ganVzdCBleGVyY2lzZSBpbml0aWFsaXNhdGlvbiBvZiBzdHJ1 Y3QgZHJtX21tLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBs aW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2Vs ZnRlc3RzLmggfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5j ICAgICAgfCAxMTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDExNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0 cy9kcm1fbW1fc2VsZnRlc3RzLmggYi9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL2RybV9tbV9z ZWxmdGVzdHMuaAppbmRleCAxNjEwZTBhNjNhNWIuLjg0NGRkMjlkYjU0MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NlbGZ0ZXN0cy9kcm1fbW1fc2VsZnRlc3RzLmgKQEAgLTYsMyArNiw0IEBACiAg KiBUZXN0cyBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIgYnkgaWd0L2RybV9tbQogICovCiBzZWxmdGVz dChzYW5pdHljaGVjaywgaWd0X3Nhbml0eWNoZWNrKSAvKiBrZWVwIGZpcnN0IChzZWxmY2hlY2sg Zm9yIGlndCkgKi8KK3NlbGZ0ZXN0KGluaXQsIGlndF9pbml0KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0 ZXN0cy90ZXN0LWRybV9tbS5jCmluZGV4IDY4MmY1Zjg2ZjQ2NS4uODdhZDE0NzY3MGRhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX21tLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9tbS5jCkBAIC0yNyw2ICsyNywxMjAgQEAg c3RhdGljIGludCBpZ3Rfc2FuaXR5Y2hlY2sodm9pZCAqaWdub3JlZCkKIAlyZXR1cm4gMDsKIH0K IAorc3RhdGljIGJvb2wgYXNzZXJ0X25vX2hvbGVzKGNvbnN0IHN0cnVjdCBkcm1fbW0gKm1tKQor eworCXN0cnVjdCBkcm1fbW1fbm9kZSAqaG9sZTsKKwl1NjQgaG9sZV9zdGFydCwgaG9sZV9lbmQ7 CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKworCWNvdW50ID0gMDsKKwlkcm1fbW1fZm9yX2VhY2hf aG9sZShob2xlLCBtbSwgaG9sZV9zdGFydCwgaG9sZV9lbmQpCisJCWNvdW50Kys7CisJaWYgKGNv dW50KSB7CisJCXByX2VycigiRXhwZWN0ZWQgdG8gZmluZCBubyBob2xlcyAoYWZ0ZXIgcmVzZXJ2 ZSksIGZvdW5kICVsdSBpbnN0ZWFkXG4iLCBjb3VudCk7CisJCXJldHVybiBmYWxzZTsKKwl9CisK Kwlkcm1fbW1fZm9yX2VhY2hfbm9kZShob2xlLCBtbSkgeworCQlpZiAoaG9sZS0+aG9sZV9mb2xs b3dzKSB7CisJCQlwcl9lcnIoIkhvbGUgZm9sbG93cyBub2RlLCBleHBlY3RlZCBub25lIVxuIik7 CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGlj IGJvb2wgYXNzZXJ0X29uZV9ob2xlKGNvbnN0IHN0cnVjdCBkcm1fbW0gKm1tLCB1NjQgc3RhcnQs IHU2NCBlbmQpCit7CisJc3RydWN0IGRybV9tbV9ub2RlICpob2xlOworCXU2NCBob2xlX3N0YXJ0 LCBob2xlX2VuZDsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWJvb2wgb2sgPSB0cnVlOworCisJ aWYgKGVuZCA8PSBzdGFydCkKKwkJcmV0dXJuIHRydWU7CisKKwljb3VudCA9IDA7CisJZHJtX21t X2Zvcl9lYWNoX2hvbGUoaG9sZSwgbW0sIGhvbGVfc3RhcnQsIGhvbGVfZW5kKSB7CisJCWlmIChz dGFydCAhPSBob2xlX3N0YXJ0IHx8IGVuZCAhPSBob2xlX2VuZCkgeworCQkJaWYgKG9rKQorCQkJ CXByX2VycigiZW1wdHkgbW0gaGFzIGluY29ycmVjdCBob2xlLCBmb3VuZCAoJWxseCwgJWxseCks IGV4cGVjdCAoJWxseCwgJWxseClcbiIsCisJCQkJICAgICAgIGhvbGVfc3RhcnQsIGhvbGVfZW5k LAorCQkJCSAgICAgICBzdGFydCwgZW5kKTsKKwkJCW9rID0gZmFsc2U7CisJCX0KKwkJY291bnQr KzsKKwl9CisJaWYgKGNvdW50ICE9IDEpIHsKKwkJcHJfZXJyKCJFeHBlY3RlZCB0byBmaW5kIG9u ZSBob2xlLCBmb3VuZCAlbHUgaW5zdGVhZFxuIiwgY291bnQpOworCQlvayA9IGZhbHNlOworCX0K KworCXJldHVybiBvazsKK30KKworc3RhdGljIGludCBpZ3RfaW5pdCh2b2lkICppZ25vcmVkKQor eworCWNvbnN0IHVuc2lnbmVkIGludCBzaXplID0gNDA5NjsKKwlzdHJ1Y3QgZHJtX21tIG1tOwor CXN0cnVjdCBkcm1fbW1fbm9kZSB0bXA7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwkvKiBTdGFy dCB3aXRoIHNvbWUgc2ltcGxlIGNoZWNrcyBvbiBpbml0aWFsaXNpbmcgdGhlIHN0cnVjdCBkcm1f bW0gKi8KKwltZW1zZXQoJm1tLCAwLCBzaXplb2YobW0pKTsKKwlpZiAoZHJtX21tX2luaXRpYWxp emVkKCZtbSkpIHsKKwkJcHJfZXJyKCJ6ZXJvZWQgbW0gY2xhaW1zIHRvIGJlIGluaXRpYWxpemVk XG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwltZW1zZXQoJm1tLCAweGZmLCBzaXplb2YobW0p KTsKKwlkcm1fbW1faW5pdCgmbW0sIDAsIHNpemUpOworCWlmICghZHJtX21tX2luaXRpYWxpemVk KCZtbSkpIHsKKwkJcHJfZXJyKCJtbSBjbGFpbXMgbm90IHRvIGJlIGluaXRpYWxpemVkXG4iKTsK KwkJZ290byBvdXQ7CisJfQorCisJaWYgKCFkcm1fbW1fY2xlYW4oJm1tKSkgeworCQlwcl9lcnIo Im1tIG5vdCBlbXB0eSBvbiBjcmVhdGlvblxuIik7CisJCWdvdG8gb3V0OworCX0KKworCS8qIEFm dGVyIGNyZWF0aW9uLCBpdCBzaG91bGQgYWxsIGJlIG9uZSBtYXNzaXZlIGhvbGUgKi8KKwlpZiAo IWFzc2VydF9vbmVfaG9sZSgmbW0sIDAsIHNpemUpKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdv dG8gb3V0OworCX0KKworCW1lbXNldCgmdG1wLCAwLCBzaXplb2YodG1wKSk7CisJdG1wLnN0YXJ0 ID0gMDsKKwl0bXAuc2l6ZSA9IHNpemU7CisJcmV0ID0gZHJtX21tX3Jlc2VydmVfbm9kZSgmbW0s ICZ0bXApOworCWlmIChyZXQpIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gcmVzZXJ2ZSB3aG9sZSBk cm1fbW1cbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBBZnRlciBmaWxsaW5nIHRoZSByYW5n ZSBlbnRpcmVseSwgdGhlcmUgc2hvdWxkIGJlIG5vIGhvbGVzICovCisJaWYgKCFhc3NlcnRfbm9f aG9sZXMoJm1tKSkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBB bmQgdGhlbiBhZnRlciBlbXB0eWluZyBpdCBhZ2FpbiwgdGhlIG1hc3NpdmUgaG9sZSBzaG91bGQg YmUgYmFjayAqLworCWRybV9tbV9yZW1vdmVfbm9kZSgmdG1wKTsKKwlpZiAoIWFzc2VydF9vbmVf aG9sZSgmbW0sIDAsIHNpemUpKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0OworCX0K Kworb3V0OgorCWlmIChyZXQpCisJCWRybV9tbV9kZWJ1Z190YWJsZSgmbW0sIF9fZnVuY19fKTsK Kwlkcm1fbW1fdGFrZWRvd24oJm1tKTsKKwlyZXR1cm4gcmV0OworfQorCiAjaW5jbHVkZSAiZHJt X3NlbGZ0ZXN0LmMiCiAKIHN0YXRpYyBpbnQgX19pbml0IHRlc3RfZHJtX21tX2luaXQodm9pZCkK LS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==