From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v3 14/37] drm/i915/selftests: add write-dword test for LMEM Date: Fri, 9 Aug 2019 23:26:20 +0100 Message-ID: <20190809222643.23142-15-matthew.auld@intel.com> References: <20190809222643.23142-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809222643.23142-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 Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2ltcGxlIHRlc3Qgd3JpdGluZyB0byBkd29yZHMgYWNyb3NzIGFuIG9iamVjdCwgdXNpbmcgdmFy aW91cyBlbmdpbmVzIGluCmEgcmFuZG9taXplZCBvcmRlciwgY2hlY2tpbmcgdGhhdCBvdXIgd3Jp dGVzIGxhbmQgZnJvbSB0aGUgY3B1LgoKU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0 aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVt b3J5X3JlZ2lvbi5jICB8IDE3OSArKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAx NzkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCmluZGV4IDI1NzBmYTkzZTI4Ni4uNDEyM2U4MWEyYmRh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbWVtb3J5 X3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9tZW1v cnlfcmVnaW9uLmMKQEAgLTcsNiArNyw3IEBACiAKICNpbmNsdWRlICIuLi9pOTE1X3NlbGZ0ZXN0 LmgiCiAKKwogI2luY2x1ZGUgIm1vY2tfZHJtLmgiCiAjaW5jbHVkZSAibW9ja19nZW1fZGV2aWNl LmgiCiAjaW5jbHVkZSAibW9ja19yZWdpb24uaCIKQEAgLTE0LDkgKzE1LDExIEBACiAjaW5jbHVk ZSAiZ2VtL2k5MTVfZ2VtX2xtZW0uaCIKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fcmVnaW9uLmgi CiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX29iamVjdF9ibHQuaCIKKyNpbmNsdWRlICJnZW0vc2Vs ZnRlc3RzL2lndF9nZW1fdXRpbHMuaCIKICNpbmNsdWRlICJnZW0vc2VsZnRlc3RzL21vY2tfY29u dGV4dC5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAic2VsZnRlc3RzL2ln dF9mbHVzaF90ZXN0LmgiCisjaW5jbHVkZSAic2VsZnRlc3RzL2k5MTVfcmFuZG9tLmgiCiAKIHN0 YXRpYyB2b2lkIGNsb3NlX29iamVjdHMoc3RydWN0IGxpc3RfaGVhZCAqb2JqZWN0cykKIHsKQEAg LTM1NCw2ICszNTcsMTI4IEBAIHN0YXRpYyBpbnQgaWd0X21vY2tfdm9sYXRpbGUodm9pZCAqYXJn KQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgaWd0X2dwdV93cml0ZV9kdyhzdHJ1Y3Qg aTkxNV92bWEgKnZtYSwKKwkJCSAgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAorCQkJ ICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICB1MzIgZHdvcmQsCisJ CQkgICAgdTMyIHZhbHVlKQoreworCWludCBlcnI7CisKKwlpOTE1X2dlbV9vYmplY3RfbG9jayh2 bWEtPm9iaik7CisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHZtYS0+ b2JqLCB0cnVlKTsKKwlpOTE1X2dlbV9vYmplY3RfdW5sb2NrKHZtYS0+b2JqKTsKKwlpZiAoZXJy KQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIGlndF9ncHVfZmlsbF9kdyh2bWEsIGN0eCwgZW5n aW5lLCBkd29yZCAqIHNpemVvZih1MzIpLAorCQkJICAgICAgIHZtYS0+c2l6ZSA+PiBQQUdFX1NI SUZULCB2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbnQgaWd0X2NwdV9jaGVjayhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLCB1MzIgZHdvcmQsIHUzMiB2YWwpCit7CisJdW5zaWduZWQgbG9u ZyBuOworCWludCBlcnI7CisKKwlpOTE1X2dlbV9vYmplY3RfbG9jayhvYmopOworCWVyciA9IGk5 MTVfZ2VtX29iamVjdF9zZXRfdG9fd2NfZG9tYWluKG9iaiwgZmFsc2UpOworCWk5MTVfZ2VtX29i amVjdF91bmxvY2sob2JqKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gaTkx NV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisK Kwlmb3IgKG4gPSAwOyBuIDwgb2JqLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsgKytuKSB7CisJ CXUzMiBfX2lvbWVtICpiYXNlOworCQl1MzIgcmVhZF92YWw7CisKKwkJYmFzZSA9IGk5MTVfZ2Vt X29iamVjdF9sbWVtX2lvX21hcF9wYWdlX2F0b21pYyhvYmosIG4pOworCisJCXJlYWRfdmFsID0g aW9yZWFkMzIoYmFzZSArIGR3b3JkKTsKKwkJaW9fbWFwcGluZ191bm1hcF9hdG9taWMoYmFzZSk7 CisJCWlmIChyZWFkX3ZhbCAhPSB2YWwpIHsKKwkJCXByX2Vycigibj0lbHUgYmFzZVsldV09JXUs IHZhbD0ldVxuIiwKKwkJCSAgICAgICBuLCBkd29yZCwgcmVhZF92YWwsIHZhbCk7CisJCQllcnIg PSAtRUlOVkFMOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpOTE1X2dlbV9vYmplY3RfdW5waW5f cGFnZXMob2JqKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IGlndF9ncHVfd3JpdGUo c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gY3R4LT5pOTE1 OworCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtID0gY3R4LT52bSA/OiAmaTkxNS0+Z2d0 dC52bTsKKwlzdGF0aWMgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lc1tJOTE1X05VTV9F TkdJTkVTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJSUdUX1RJTUVPVVQo ZW5kX3RpbWUpOworCUk5MTVfUk5EX1NUQVRFKHBybmcpOworCXN0cnVjdCBpOTE1X3ZtYSAqdm1h OworCXVuc2lnbmVkIGludCBpZDsKKwlpbnQgKm9yZGVyOworCWludCBpLCBuOworCWludCBlcnI7 CisKKwluID0gMDsKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCQlpZiAo IWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5lKSkgeworCQkJcHJfaW5mbygic3Rv cmUtZHdvcmQtaW1tIG5vdCBzdXBwb3J0ZWQgb24gZW5naW5lPSV1XG4iLAorCQkJCWlkKTsKKwkJ CWNvbnRpbnVlOworCQl9CisJCWVuZ2luZXNbbisrXSA9IGVuZ2luZTsKKwl9CisKKwlpZiAoIW4p CisJCXJldHVybiAwOworCisJb3JkZXIgPSBpOTE1X3JhbmRvbV9vcmRlcihuICogSTkxNV9OVU1f RU5HSU5FUywgJnBybmcpOworCWlmICghb3JkZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJdm1h ID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCB2bSwgTlVMTCk7CisJaWYgKElTX0VSUih2bWEpKSB7 CisJCWVyciA9IFBUUl9FUlIodm1hKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisKKwllcnIgPSBp OTE1X3ZtYV9waW4odm1hLCAwLCAwLCBQSU5fVVNFUik7CisJaWYgKGVycikKKwkJZ290byBvdXRf ZnJlZTsKKworCWkgPSAwOworCWRvIHsKKwkJdTMyIHJuZyA9IHByYW5kb21fdTMyX3N0YXRlKCZw cm5nKTsKKwkJdTMyIGR3b3JkID0gb2Zmc2V0X2luX3BhZ2Uocm5nKSAvIDQ7CisKKwkJZW5naW5l ID0gZW5naW5lc1tvcmRlcltpXSAlIG5dOworCQlpID0gKGkgKyAxKSAlIChuICogSTkxNV9OVU1f RU5HSU5FUyk7CisKKwkJZXJyID0gaWd0X2dwdV93cml0ZV9kdyh2bWEsIGN0eCwgZW5naW5lLCBk d29yZCwgcm5nKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOworCisJCWVyciA9IGlndF9jcHVfY2hl Y2sob2JqLCBkd29yZCwgcm5nKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOworCX0gd2hpbGUgKCFf X2lndF90aW1lb3V0KGVuZF90aW1lLCBOVUxMKSk7CisKKwlpOTE1X3ZtYV91bnBpbih2bWEpOwor b3V0X2ZyZWU6CisJa2ZyZWUob3JkZXIpOworCisJaWYgKGVyciA9PSAtRU5PTUVNKQorCQllcnIg PSAwOworCisJcmV0dXJuIGVycjsKK30KKwogc3RhdGljIGludCBpZ3RfbG1lbV9jcmVhdGUodm9p ZCAqYXJnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwpAQCAtMzc1 LDYgKzUwMCw1OSBAQCBzdGF0aWMgaW50IGlndF9sbWVtX2NyZWF0ZSh2b2lkICphcmcpCiAJcmV0 dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfbG1lbV93cml0ZV9ncHUodm9pZCAqYXJnKQor eworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmo7CisJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKKwlzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGU7CisJSTkxNV9STkRfU1RBVEUocHJuZyk7CisJdTMyIHN6OworCWlu dCBlcnI7CisKKwltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCWZpbGUg PSBtb2NrX2ZpbGUoaTkxNSk7CisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7 CisJaWYgKElTX0VSUihmaWxlKSkKKwkJcmV0dXJuIFBUUl9FUlIoZmlsZSk7CisKKwljdHggPSBs aXZlX2NvbnRleHQoaTkxNSwgZmlsZSk7CisJaWYgKElTX0VSUihjdHgpKSB7CisJCWVyciA9IFBU Ul9FUlIoY3R4KTsKKwkJZ290byBvdXRfZmlsZTsKKwl9CisKKwkvKgorCSAqIFhYWDogTm90aGlu ZyB0b28gYmlnIGZvciBub3c7IHdlIGRvbid0IHdhbnQgdG8gdXBzZXQgQ0kuIFdoYXQgd2UKKwkg KiByZWFsbHkgd2FudCBpcyB0aGUgaHVnZSBkbWEgc3R1ZmYgZm9yIGRldmljZSBtZW1vcnksIHRo ZW4gd2UgY2FuIGdvCisJICogdG8gdG93bi4uLgorCSAqLworCXN6ID0gcm91bmRfdXAocHJhbmRv bV91MzJfc3RhdGUoJnBybmcpICUgU1pfMzJNLCBQQUdFX1NJWkUpOworCisJb2JqID0gaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKGk5MTUsIHN6LCAwKTsKKwlpZiAoSVNfRVJSKG9iaikpIHsK KwkJZXJyID0gUFRSX0VSUihvYmopOworCQlnb3RvIG91dF9maWxlOworCX0KKworCWVyciA9IGk5 MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF9wdXQ7 CisKKwllcnIgPSBpZ3RfZ3B1X3dyaXRlKGN0eCwgb2JqKTsKKwlpZiAoZXJyKQorCQlwcl9lcnIo ImlndF9ncHVfd3JpdGUgZmFpbGVkKCVkKVxuIiwgZXJyKTsKKworCWk5MTVfZ2VtX29iamVjdF91 bnBpbl9wYWdlcyhvYmopOworb3V0X3B1dDoKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Citv dXRfZmlsZToKKwltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCW1vY2tf ZmlsZV9mcmVlKGk5MTUsIGZpbGUpOworCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0 ZXgpOworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQgaWd0X2xtZW1fd3JpdGVfY3B1KHZv aWQgKmFyZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZzsKQEAgLTQ5 MCw2ICs2NjgsNyBAQCBpbnQgaW50ZWxfbWVtb3J5X3JlZ2lvbl9saXZlX3NlbGZ0ZXN0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3Vi dGVzdCB0ZXN0c1tdID0gewogCQlTVUJURVNUKGlndF9sbWVtX2NyZWF0ZSksCiAJCVNVQlRFU1Qo aWd0X2xtZW1fd3JpdGVfY3B1KSwKKwkJU1VCVEVTVChpZ3RfbG1lbV93cml0ZV9ncHUpLAogCX07 CiAJaW50IGVycjsKIAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng=