From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 2/2] drm/i915/selftests: test descending addresses Date: Wed, 22 Nov 2017 21:21:40 +0000 Message-ID: <20171122212140.21348-2-matthew.auld@intel.com> References: <20171122212140.21348-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EFF996E6EB for ; Wed, 22 Nov 2017 21:21:43 +0000 (UTC) In-Reply-To: <20171122212140.21348-1-matthew.auld@intel.com> 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 Rm9yIGlndF93cml0ZV9odWdlIG1ha2Ugc3VyZSB0aGUgaGlnaGVyIGd0dCBvZmZzZXRzIGRvbid0 IGZlZWwgbGVmdCBvdXQsCndoaWNoIGlzIGVzcGVjaWFsbHkgdHJ1ZSB3aGVuIGRlYWxpbmcgd2l0 aCB0aGUgNDhiIFBQR1RULCB3aGVyZSB3ZQp0aW1lb3V0IGxvbmcgYmVmb3JlIHdlIGFyZSBhYmxl IGV4aGF1c3QgdGhlIGFkZHJlc3Mgc3BhY2UuCgpTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1h dHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5j IHwgMTI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MSBp bnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2h1Z2VfcGFnZXMuYwppbmRleCA0ODA5MzY4ZGZiYmMuLmZlNTU4Mjg3ODEwNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCkBAIC0xMDQwLDYg KzEwNDAsNjIgQEAgc3RhdGljIGludCBjcHVfY2hlY2soc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwgdTMyIGR3b3JkLCB1MzIgdmFsKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBp bnQgX19pZ3Rfd3JpdGVfaHVnZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAorCQkJICAg IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAorCQkJICAgIHU2NCBzaXplLCB1NjQgb2Zmc2V0LAorCQkJICAgIHUz MiBkd29yZCwgdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRv X2k5MTUob2JqLT5iYXNlLmRldik7CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSBj dHgtPnBwZ3R0ID8gJmN0eC0+cHBndHQtPmJhc2UgOiAmaTkxNS0+Z2d0dC5iYXNlOworCXVuc2ln bmVkIGludCBmbGFncyA9IFBJTl9VU0VSIHwgUElOX09GRlNFVF9GSVhFRDsKKwlzdHJ1Y3QgaTkx NV92bWEgKnZtYTsKKwlpbnQgZXJyOworCisJdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCB2 bSwgTlVMTCk7CisJaWYgKElTX0VSUih2bWEpKQorCQlyZXR1cm4gUFRSX0VSUih2bWEpOworCisJ ZXJyID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7CisJaWYgKGVycikKKwkJZ290byBvdXRfdm1hX2Ns b3NlOworCisJZXJyID0gaTkxNV92bWFfcGluKHZtYSwgc2l6ZSwgMCwgZmxhZ3MgfCBvZmZzZXQp OworCWlmIChlcnIpIHsKKwkJLyoKKwkJICogVGhlIGdndHQgbWF5IGhhdmUgc29tZSBwYWdlcyBy ZXNlcnZlZCBzbworCQkgKiByZWZyYWluIGZyb20gZXJyb3Jpbmcgb3V0LgorCQkgKi8KKwkJaWYg KGVyciA9PSAtRU5PU1BDICYmIGk5MTVfaXNfZ2d0dCh2bSkpCisJCQllcnIgPSAwOworCisJCWdv dG8gb3V0X3ZtYV9jbG9zZTsKKwl9CisKKwllcnIgPSBpZ3RfY2hlY2tfcGFnZV9zaXplcyh2bWEp OworCWlmIChlcnIpCisJCWdvdG8gb3V0X3ZtYV91bnBpbjsKKworCWVyciA9IGdwdV93cml0ZSh2 bWEsIGN0eCwgZW5naW5lLCBkd29yZCwgdmFsKTsKKwlpZiAoZXJyKSB7CisJCXByX2VycigiZ3B1 LXdyaXRlIGZhaWxlZCBhdCBvZmZzZXQ9JWxseFxuIiwgb2Zmc2V0KTsKKwkJZ290byBvdXRfdm1h X3VucGluOworCX0KKworCWVyciA9IGNwdV9jaGVjayhvYmosIGR3b3JkLCB2YWwpOworCWlmIChl cnIpIHsKKwkJcHJfZXJyKCJjcHUtY2hlY2sgZmFpbGVkIGF0IG9mZnNldD0lbGx4XG4iLCBvZmZz ZXQpOworCQlnb3RvIG91dF92bWFfdW5waW47CisJfQorCitvdXRfdm1hX3VucGluOgorCWk5MTVf dm1hX3VucGluKHZtYSk7CitvdXRfdm1hX2Nsb3NlOgorCWk5MTVfdm1hX2Nsb3NlKHZtYSk7CisK KwlyZXR1cm4gZXJyOworfQorCiBzdGF0aWMgaW50IGlndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHgsCiAJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop CiB7CkBAIC0xMDQ4LDkgKzExMDQsNyBAQCBzdGF0aWMgaW50IGlndF93cml0ZV9odWdlKHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJc3RhdGljIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZXNbSTkxNV9OVU1fRU5HSU5FU107CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lOwogCUk5MTVfUk5EX1NUQVRFKHBybmcpOwotCUlHVF9USU1FT1VUKGVuZF90aW1lKTsKLQlz dHJ1Y3QgaTkxNV92bWEgKnZtYTsKLQl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBQSU5fVVNFUiB8IFBJ Tl9PRkZTRVRfRklYRUQ7CisJdW5zaWduZWQgbG9uZyBlbmRfdGltZSA9IGppZmZpZXMgKyBpOTE1 X3NlbGZ0ZXN0LnRpbWVvdXRfamlmZmllcyAqIDI7CiAJdW5zaWduZWQgaW50IG1heF9wYWdlX3Np emU7CiAJdW5zaWduZWQgaW50IGlkOwogCXU2NCBtYXg7CkBAIC0xMDY5LDEwICsxMTIzLDYgQEAg c3RhdGljIGludCBpZ3Rfd3JpdGVfaHVnZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAog CW1heF9wYWdlX3NpemUgPSByb3VuZGRvd25fcG93X29mX3R3byhvYmotPm1tLnBhZ2Vfc2l6ZXMu c2cpOwogCW1heCA9IGRpdl91NjQoKHZtLT50b3RhbCAtIHNpemUpLCBtYXhfcGFnZV9zaXplKTsK IAotCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgdm0sIE5VTEwpOwotCWlmIChJU19FUlIo dm1hKSkKLQkJcmV0dXJuIFBUUl9FUlIodm1hKTsKLQogCW4gPSAwOwogCWZvcl9lYWNoX2VuZ2lu ZShlbmdpbmUsIGk5MTUsIGlkKSB7CiAJCWlmICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29y ZChlbmdpbmUpKSB7CkBAIC0xMDg2LDY2ICsxMTM2LDMzIEBAIHN0YXRpYyBpbnQgaWd0X3dyaXRl X2h1Z2Uoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAlvcmRlciA9IGk5MTVfcmFuZG9t X29yZGVyKG4sICZwcm5nKTsKIAogCS8qCi0JICogVHJ5IHZhcmlvdXMgb2Zmc2V0cyB1bnRpbCB3 ZSB0aW1lb3V0IC0tIHdlIHdhbnQgdG8gYXZvaWQKLQkgKiBpc3N1ZXMgaGlkZGVuIGJ5IGVmZmVj dGl2ZWx5IGFsd2F5cyB1c2luZyBvZmZzZXQgPSAwLgorCSAqIFRyeSB2YXJpb3VzIG9mZnNldHMg aW4gYW4gYXNjZW5kaW5nL2Rlc2NlbmRpbmcgZmFzaGlvbiB1bnRpbCB3ZQorCSAqIHRpbWVvdXQg LS0gd2Ugd2FudCB0byBhdm9pZCBpc3N1ZXMgaGlkZGVuIGJ5IGVmZmVjdGl2ZWx5IGFsd2F5cyB1 c2luZworCSAqIG9mZnNldCA9IDAuCiAJICovCiAJaSA9IDA7CiAJZm9yX2VhY2hfcHJpbWVfbnVt YmVyX2Zyb20obnVtLCAwLCBtYXgpIHsKLQkJdTY0IG9mZnNldCA9IG51bSAqIG1heF9wYWdlX3Np emU7Ci0JCXUzMiBkd29yZDsKLQotCQllcnIgPSBpOTE1X3ZtYV91bmJpbmQodm1hKTsKLQkJaWYg KGVycikKLQkJCWdvdG8gb3V0X3ZtYV9jbG9zZTsKLQotCQllcnIgPSBpOTE1X3ZtYV9waW4odm1h LCBzaXplLCBtYXhfcGFnZV9zaXplLCBmbGFncyB8IG9mZnNldCk7Ci0JCWlmIChlcnIpIHsKLQkJ CS8qCi0JCQkgKiBUaGUgZ2d0dCBtYXkgaGF2ZSBzb21lIHBhZ2VzIHJlc2VydmVkIHNvCi0JCQkg KiByZWZyYWluIGZyb20gZXJyb3Jpbmcgb3V0LgotCQkJICovCi0JCQlpZiAoZXJyID09IC1FTk9T UEMgJiYgaTkxNV9pc19nZ3R0KHZtKSkgewotCQkJCWVyciA9IDA7Ci0JCQkJY29udGludWU7Ci0J CQl9Ci0KLQkJCWdvdG8gb3V0X3ZtYV9jbG9zZTsKLQkJfQotCi0JCWVyciA9IGlndF9jaGVja19w YWdlX3NpemVzKHZtYSk7Ci0JCWlmIChlcnIpCi0JCQlnb3RvIG91dF92bWFfdW5waW47Ci0KLQkJ ZHdvcmQgPSBvZmZzZXRfaW5fcGFnZShudW0pIC8gNDsKKwkJdTY0IG9mZnNldF9sb3cgPSBudW0g KiBtYXhfcGFnZV9zaXplOworCQl1NjQgb2Zmc2V0X2hpZ2ggPSAobWF4IC0gbnVtKSAqIG1heF9w YWdlX3NpemU7CisJCXUzMiBkd29yZCA9IG9mZnNldF9pbl9wYWdlKG51bSkgLyA0OwogCiAJCWVu Z2luZSA9IGVuZ2luZXNbb3JkZXJbaV1dOwogCQlpID0gKGkgKyAxKSAlIG47CiAKLQkJZXJyID0g Z3B1X3dyaXRlKHZtYSwgY3R4LCBlbmdpbmUsIGR3b3JkLCBudW0gKyAxKTsKLQkJaWYgKGVycikg ewotCQkJcHJfZXJyKCJncHUtd3JpdGUgZmFpbGVkIGF0IG9mZnNldD0lbGx4Iiwgb2Zmc2V0KTsK LQkJCWdvdG8gb3V0X3ZtYV91bnBpbjsKLQkJfQotCi0JCWVyciA9IGNwdV9jaGVjayhvYmosIGR3 b3JkLCBudW0gKyAxKTsKLQkJaWYgKGVycikgewotCQkJcHJfZXJyKCJjcHUtY2hlY2sgZmFpbGVk IGF0IG9mZnNldD0lbGx4Iiwgb2Zmc2V0KTsKLQkJCWdvdG8gb3V0X3ZtYV91bnBpbjsKLQkJfQor CQllcnIgPSBfX2lndF93cml0ZV9odWdlKGN0eCwgZW5naW5lLCBvYmosIHNpemUsIG9mZnNldF9s b3csIGR3b3JkLCBudW0gKyAxKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOwogCi0JCWk5MTVfdm1h X3VucGluKHZtYSk7CisJCWVyciA9IF9faWd0X3dyaXRlX2h1Z2UoY3R4LCBlbmdpbmUsIG9iaiwg c2l6ZSwgb2Zmc2V0X2hpZ2gsIGR3b3JkLCBudW0gKyAxKTsKKwkJaWYgKGVycikKKwkJCWJyZWFr OwogCiAJCWlmIChpZ3RfdGltZW91dChlbmRfdGltZSwKLQkJCQkiJXMgdGltZWQgb3V0IG9uIGVu Z2luZT0ldSBhdCBvZmZzZXQ9JWxseCwgbWF4X3BhZ2Vfc2l6ZT0leFxuIiwKLQkJCQlfX2Z1bmNf XywgZW5naW5lLT5pZCwgb2Zmc2V0LCBtYXhfcGFnZV9zaXplKSkKKwkJCQkiJXMgdGltZWQgb3V0 IG9uIGVuZ2luZT0ldSwgb2Zmc2V0X2xvdz0lbGx4IG9mZnNldF9oaWdoPSVsbHgsIG1heF9wYWdl X3NpemU9JXhcbiIsCisJCQkJX19mdW5jX18sIGVuZ2luZS0+aWQsIG9mZnNldF9sb3csIG9mZnNl dF9oaWdoLCBtYXhfcGFnZV9zaXplKSkKIAkJCWJyZWFrOwogCX0KIAotb3V0X3ZtYV91bnBpbjoK LQlpZiAoaTkxNV92bWFfaXNfcGlubmVkKHZtYSkpCi0JCWk5MTVfdm1hX3VucGluKHZtYSk7Ci1v dXRfdm1hX2Nsb3NlOgotCWk5MTVfdm1hX2Nsb3NlKHZtYSk7CiAJa2ZyZWUob3JkZXIpOwogCiAJ cmV0dXJuIGVycjsKLS0gCjIuMTQuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==