From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 11/42] drm/i915/selftests: exercise writes to LMEM Date: Thu, 14 Feb 2019 14:57:09 +0000 Message-ID: <20190214145740.14521-12-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C32D56E915 for ; Thu, 14 Feb 2019 14:57:56 +0000 (UTC) In-Reply-To: <20190214145740.14521-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 UXVpY2sgYW5kIGRpcnR5IHRlc3QgdG8gZXhlcmNpc2Ugd3JpdGluZyB0aHJvdWdoIExNRU0gZnJv bSB0aGUgR1BVL0NQVS4KV2UgY3VycmVudGx5IGRvbid0IGhhdmUgYW4gTE1FTSByZWdpb24gc28g dGhlc2UgdGVzdHMgc2hvdWxkIGp1c3Qgc2tpcApmb3Igbm93LgoKU2lnbmVkLW9mZi1ieTogTWF0 dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxq b29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQWJkaWVsIEphbnVsZ3VlIDxhYmRp ZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMv aW50ZWxfbWVtb3J5X3JlZ2lvbi5jICB8IDIyNSArKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAyMjUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCmluZGV4IDA4ZmU2ZTA2NDM2MS4uMjEw ZWM2ZmVjMTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50 ZWxfbWVtb3J5X3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p bnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTM2Miw2ICszNjIsMjAxIEBAIHN0YXRpYyBpbnQgaWd0 X21vY2tfdm9sYXRpbGUodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBzdHJ1 Y3QgaTkxNV92bWEgKgoraWd0X2dwdV93cml0ZV9kdyhzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgdTY0 IG9mZnNldCwgdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRv X2k5MTUodm1hLT5vYmotPmJhc2UuZGV2KTsKKwljb25zdCBpbnQgZ2VuID0gSU5URUxfR0VOKHZt YS0+dm0tPmk5MTUpOworCXVuc2lnbmVkIGludCBjb3VudCA9IHZtYS0+c2l6ZSA+PiBQQUdFX1NI SUZUOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJc3RydWN0IGk5MTVfdm1h ICpiYXRjaDsKKwl1bnNpZ25lZCBpbnQgc2l6ZTsKKwl1MzIgKmNtZDsKKwlpbnQgbjsKKwlpbnQg ZXJyOworCisJc2l6ZSA9ICgxICsgNCAqIGNvdW50KSAqIHNpemVvZih1MzIpOworCXNpemUgPSBy b3VuZF91cChzaXplLCBQQUdFX1NJWkUpOworCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf aW50ZXJuYWwoaTkxNSwgc2l6ZSk7CisJaWYgKElTX0VSUihvYmopKQorCQlyZXR1cm4gRVJSX0NB U1Qob2JqKTsKKworCWNtZCA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKG9iaiwgSTkxNV9NQVBf V0IpOworCWlmIChJU19FUlIoY21kKSkgeworCQllcnIgPSBQVFJfRVJSKGNtZCk7CisJCWdvdG8g ZXJyOworCX0KKworCW9mZnNldCArPSB2bWEtPm5vZGUuc3RhcnQ7CisKKwlmb3IgKG4gPSAwOyBu IDwgY291bnQ7IG4rKykgeworCQlpZiAoZ2VuID49IDgpIHsKKwkJCSpjbWQrKyA9IE1JX1NUT1JF X0RXT1JEX0lNTV9HRU40OworCQkJKmNtZCsrID0gbG93ZXJfMzJfYml0cyhvZmZzZXQpOworCQkJ KmNtZCsrID0gdXBwZXJfMzJfYml0cyhvZmZzZXQpOworCQkJKmNtZCsrID0gdmFsOworCQl9IGVs c2UgaWYgKGdlbiA+PSA0KSB7CisJCQkqY21kKysgPSBNSV9TVE9SRV9EV09SRF9JTU1fR0VONCB8 CisJCQkJKGdlbiA8IDYgPyAxIDw8IDIyIDogMCk7CisJCQkqY21kKysgPSAwOworCQkJKmNtZCsr ID0gb2Zmc2V0OworCQkJKmNtZCsrID0gdmFsOworCQl9IGVsc2UgeworCQkJKmNtZCsrID0gTUlf U1RPUkVfRFdPUkRfSU1NIHwgMSA8PCAyMjsKKwkJCSpjbWQrKyA9IG9mZnNldDsKKwkJCSpjbWQr KyA9IHZhbDsKKwkJfQorCisJCW9mZnNldCArPSBQQUdFX1NJWkU7CisJfQorCisJKmNtZCA9IE1J X0JBVENIX0JVRkZFUl9FTkQ7CisKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKG9iaik7CisK KwllcnIgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2d0dF9kb21haW4ob2JqLCBmYWxzZSk7CisJ aWYgKGVycikKKwkJZ290byBlcnI7CisKKwliYXRjaCA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwg dm1hLT52bSwgTlVMTCk7CisJaWYgKElTX0VSUihiYXRjaCkpIHsKKwkJZXJyID0gUFRSX0VSUihi YXRjaCk7CisJCWdvdG8gZXJyOworCX0KKworCWVyciA9IGk5MTVfdm1hX3BpbihiYXRjaCwgMCwg MCwgUElOX1VTRVIpOworCWlmIChlcnIpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIGJhdGNoOwor CitlcnI6CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCisJcmV0dXJuIEVSUl9QVFIoZXJy KTsKK30KKworc3RhdGljIGludCBpZ3RfZ3B1X3dyaXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAor CQkJIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCisJCQkgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lLAorCQkJIHUzMiBkd29yZCwKKwkJCSB1MzIgdmFsdWUpCit7CisJc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnE7CisJc3RydWN0IGk5MTVfdm1hICpiYXRjaDsKKwlpbnQgZmxhZ3Mg PSAwOworCWludCBlcnI7CisKKwlHRU1fQlVHX09OKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3 b3JkKGVuZ2luZSkpOworCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWlu KHZtYS0+b2JqLCB0cnVlKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJcnEgPSBpOTE1 X3JlcXVlc3RfYWxsb2MoZW5naW5lLCBjdHgpOworCWlmIChJU19FUlIocnEpKQorCQlyZXR1cm4g UFRSX0VSUihycSk7CisKKwliYXRjaCA9IGlndF9ncHVfd3JpdGVfZHcodm1hLCBkd29yZCAqIHNp emVvZih1MzIpLCB2YWx1ZSk7CisJaWYgKElTX0VSUihiYXRjaCkpIHsKKwkJZXJyID0gUFRSX0VS UihiYXRjaCk7CisJCWdvdG8gZXJyX3JlcXVlc3Q7CisJfQorCisJZXJyID0gaTkxNV92bWFfbW92 ZV90b19hY3RpdmUoYmF0Y2gsIHJxLCAwKTsKKwlpOTE1X3ZtYV91bnBpbihiYXRjaCk7CisJaTkx NV92bWFfY2xvc2UoYmF0Y2gpOworCWlmIChlcnIpCisJCWdvdG8gZXJyX3JlcXVlc3Q7CisKKwlp OTE1X2dlbV9vYmplY3Rfc2V0X2FjdGl2ZV9yZWZlcmVuY2UoYmF0Y2gtPm9iaik7CisKKwllcnIg PSBlbmdpbmUtPmVtaXRfYmJfc3RhcnQocnEsCisJCQkJICAgIGJhdGNoLT5ub2RlLnN0YXJ0LCBi YXRjaC0+bm9kZS5zaXplLAorCQkJCSAgICBmbGFncyk7CisJaWYgKGVycikKKwkJZ290byBlcnJf cmVxdWVzdDsKKworCWVyciA9IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHZtYSwgcnEsIEVYRUNf T0JKRUNUX1dSSVRFKTsKKwlpZiAoZXJyKQorCQlpOTE1X3JlcXVlc3Rfc2tpcChycSwgZXJyKTsK KworZXJyX3JlcXVlc3Q6CisJaTkxNV9yZXF1ZXN0X2FkZChycSk7CisKKwlyZXR1cm4gZXJyOwor fQorCitzdGF0aWMgaW50IGlndF9jcHVfY2hlY2soc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwgdTMyIGR3b3JkLCB1MzIgdmFsKQoreworCXVuc2lnbmVkIGxvbmcgbjsKKwlpbnQgZXJy OworCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b193Y19kb21haW4ob2JqLCBmYWxzZSk7 CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IGk5MTVfZ2VtX29iamVjdF9waW5f cGFnZXMob2JqKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJZm9yIChuID0gMDsgbiA8 IG9iai0+YmFzZS5zaXplID4+IFBBR0VfU0hJRlQ7ICsrbikgeworCQl1MzIgX19pb21lbSAqYmFz ZTsKKwkJdTMyIHJlYWRfdmFsOworCisJCWJhc2UgPSAodm9pZCBfX2ZvcmNlICopIGlvX21hcHBp bmdfbWFwX2F0b21pY193Yygmb2JqLT5tZW1vcnlfcmVnaW9uLT5pb21hcCwKKwkJCQkJCQkJIGk5 MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCBuKSk7CisKKwkJcmVhZF92YWwgPSBp b3JlYWQzMihiYXNlICsgZHdvcmQpOworCQlpb19tYXBwaW5nX3VubWFwX2F0b21pYyhiYXNlKTsK KwkJaWYgKHJlYWRfdmFsICE9IHZhbCkgeworCQkJcHJfZXJyKCJuPSVsdSBiYXNlWyV1XT0ldSwg dmFsPSV1XG4iLAorCQkJICAgICAgIG4sIGR3b3JkLCByZWFkX3ZhbCwgdmFsKTsKKwkJCWVyciA9 IC1FSU5WQUw7CisJCQlicmVhazsKKwkJfQorCX0KKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9w YWdlcyhvYmopOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgaWd0X2dwdV9maWxsKHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCisJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAorCQkJdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGN0eC0+aTkxNTsKKwlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+cHBndHQg PyAmY3R4LT5wcGd0dC0+dm0gOiAmaTkxNS0+Z2d0dC52bTsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZt YTsKKwl1MzIgZHdvcmQ7CisJaW50IGVycjsKKworCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9i aiwgdm0sIE5VTEwpOworCWlmIChJU19FUlIodm1hKSkKKwkJcmV0dXJuIFBUUl9FUlIodm1hKTsK KworCWVyciA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIDAsIFBJTl9VU0VSKTsKKwlpZiAoZXJyKSB7 CisJCWk5MTVfdm1hX2Nsb3NlKHZtYSk7CisJCXJldHVybiBlcnI7CisJfQorCisJZm9yIChkd29y ZCA9IDA7IGR3b3JkIDwgUEFHRV9TSVpFIC8gc2l6ZW9mKHUzMik7ICsrZHdvcmQpIHsKKwkJZXJy ID0gaWd0X2dwdV93cml0ZSh2bWEsIGN0eCwgaTkxNS0+ZW5naW5lW1JDU10sIGR3b3JkLCB2YWwp OworCQlpZiAoZXJyKQorCQkJYnJlYWs7CisKKwkJZXJyID0gaWd0X2NwdV9jaGVjayhvYmosIGR3 b3JkLCB2YWwpOworCQlpZiAoZXJyKQorCQkJYnJlYWs7CisJfQorCisJaTkxNV92bWFfdW5waW4o dm1hKTsKKwlpOTE1X3ZtYV9jbG9zZSh2bWEpOworCisJcmV0dXJuIGVycjsKK30KKwogc3RhdGlj IGludCBpZ3RfbG1lbV9jcmVhdGUodm9pZCAqYXJnKQogewogCXN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHggPSBhcmc7CkBAIC0zODQsNiArNTc5LDM1IEBAIHN0YXRpYyBpbnQgaWd0X2xtZW1f Y3JlYXRlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJyOwogfQogCitzdGF0aWMgaW50IGlndF9sbWVt X3dyaXRlX2dwdSh2b2lkICphcmcpCit7CisJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCA9 IGFyZzsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGN0eC0+aTkxNTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOworCWludCBlcnIgPSAwOworCisJb2JqID0gaTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKGk5MTUsIFBBR0VfU0laRSwgMCk7CisJaWYgKElTX0VS UihvYmopKQorCQlyZXR1cm4gUFRSX0VSUihvYmopOworCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0 X3Bpbl9wYWdlcyhvYmopOworCWlmIChlcnIpCisJCWdvdG8gb3V0X3B1dDsKKworCWVyciA9IGln dF9ncHVfZmlsbChjdHgsIG9iaiwgMHhkZWFkYmVhZik7CisJaWYgKGVycikgeworCQlwcl9lcnIo ImlndF9ncHVfZmlsbCBmYWlsZWQoJWQpXG4iLCBlcnIpOworCQlnb3RvIG91dF91bnBpbjsKKwl9 CisKK291dF91bnBpbjoKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKK291dF9w dXQ6CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCisJcmV0dXJuIGVycjsKK30KKwogaW50 IGludGVsX21lbW9yeV9yZWdpb25fbW9ja19zZWxmdGVzdHModm9pZCkKIHsKIAlzdGF0aWMgY29u c3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewpAQCAtNDI1LDYgKzY0OSw3IEBAIGlu dCBpbnRlbF9tZW1vcnlfcmVnaW9uX2xpdmVfc2VsZnRlc3RzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10g PSB7CiAJCVNVQlRFU1QoaWd0X2xtZW1fY3JlYXRlKSwKKwkJU1VCVEVTVChpZ3RfbG1lbV93cml0 ZV9ncHUpLAogCX07CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKIAlzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGU7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==