From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v4 4/8] drm/i915: Shuffle stride checking code around Date: Thu, 9 May 2019 15:21:55 +0300 Message-ID: <20190509122159.24376-5-ville.syrjala@linux.intel.com> References: <20190509122159.24376-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id C46F589C08 for ; Thu, 9 May 2019 12:22:16 +0000 (UTC) In-Reply-To: <20190509122159.24376-1-ville.syrjala@linux.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: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl b3JnYW5pemUgc29tZSBmYiBzdHJpZGUgY2hlY2tpbmcgY29kZSBhIGJpdCB0byBwcmVwYXJlIGZv cgpndHQgcmVtYXBwaW5nLiBBbmQgZG8gYSBiaXQgb2Ygcy9waXRjaC9zdHJpZGUvIHJlbmFtaW5n IGluIHRoZQpwcm9jZXNzIGZvciBhIGJpdCBtb3JlIHVuaWZvcm1pdHkgKGFwYXJ0IGZyb20gdGhl IHdob2xlCmZiLT5waXRjaGVzW10gdGhpbmcpLgoKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgNjQgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDMyIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCBmNGU2ZTlhOGJiZjkuLjMyMWNiNmQyYmM3NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMjUwOSw2ICsyNTA5LDMzIEBAIGJvb2wgaXNfY2Nz X21vZGlmaWVyKHU2NCBtb2RpZmllcikKIAkgICAgICAgbW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRf TU9EX1lmX1RJTEVEX0NDUzsKIH0KIAorc3RhdGljCit1MzIgaW50ZWxfZmJfbWF4X3N0cmlkZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQl1MzIgcGl4ZWxfZm9ybWF0LCB1 NjQgbW9kaWZpZXIpCit7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7CisJc3RydWN0IGludGVs X3BsYW5lICpwbGFuZTsKKworCS8qCisJICogV2UgYXNzdW1lIHRoZSBwcmltYXJ5IHBsYW5lIGZv ciBwaXBlIEEgaGFzCisJICogdGhlIGhpZ2hlc3Qgc3RyaWRlIGxpbWl0cyBvZiB0aGVtIGFsbC4K KwkgKi8KKwljcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYsIFBJUEVfQSk7 CisJcGxhbmUgPSB0b19pbnRlbF9wbGFuZShjcnRjLT5iYXNlLnByaW1hcnkpOworCisJcmV0dXJu IHBsYW5lLT5tYXhfc3RyaWRlKHBsYW5lLCBwaXhlbF9mb3JtYXQsIG1vZGlmaWVyLAorCQkJCSBE Uk1fTU9ERV9ST1RBVEVfMCk7Cit9CisKK3N0YXRpYyB1MzIKK2ludGVsX2ZiX3N0cmlkZV9hbGln bm1lbnQoY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBjb2xvcl9wbGFuZSkK K3sKKwlpZiAoZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUikKKwkJcmV0dXJu IDY0OworCWVsc2UKKwkJcmV0dXJuIGludGVsX3RpbGVfd2lkdGhfYnl0ZXMoZmIsIGNvbG9yX3Bs YW5lKTsKK30KKwogc3RhdGljIGludAogaW50ZWxfZmlsbF9mYl9pbmZvKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCkBA IC0zNTg2LDE1ICszNjEzLDYgQEAgc3RhdGljIGJvb2wgaTl4eF9wbGFuZV9nZXRfaHdfc3RhdGUo c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdTMy Ci1pbnRlbF9mYl9zdHJpZGVfYWxpZ25tZW50KGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLCBpbnQgY29sb3JfcGxhbmUpCi17Ci0JaWYgKGZiLT5tb2RpZmllciA9PSBEUk1fRk9STUFU X01PRF9MSU5FQVIpCi0JCXJldHVybiA2NDsKLQllbHNlCi0JCXJldHVybiBpbnRlbF90aWxlX3dp ZHRoX2J5dGVzKGZiLCBjb2xvcl9wbGFuZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHNrbF9kZXRhY2hf c2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBpbnQgaWQpCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2OwpAQCAtMTQ5MjEsMzEgKzE0 OTM5LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIGludGVs X2ZiX2Z1bmNzID0gewogCS5kaXJ0eSA9IGludGVsX3VzZXJfZnJhbWVidWZmZXJfZGlydHksCiB9 OwogCi1zdGF0aWMKLXUzMiBpbnRlbF9mYl9waXRjaF9saW1pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCi0JCQkgdTMyIHBpeGVsX2Zvcm1hdCwgdTY0IGZiX21vZGlmaWVyKQot ewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwotCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7 Ci0KLQkvKgotCSAqIFdlIGFzc3VtZSB0aGUgcHJpbWFyeSBwbGFuZSBmb3IgcGlwZSBBIGhhcwot CSAqIHRoZSBoaWdoZXN0IHN0cmlkZSBsaW1pdHMgb2YgdGhlbSBhbGwuCi0JICovCi0JY3J0YyA9 IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBQSVBFX0EpOwotCXBsYW5lID0gdG9f aW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5KTsKLQotCXJldHVybiBwbGFuZS0+bWF4X3N0 cmlkZShwbGFuZSwgcGl4ZWxfZm9ybWF0LCBmYl9tb2RpZmllciwKLQkJCQkgRFJNX01PREVfUk9U QVRFXzApOwotfQotCiBzdGF0aWMgaW50IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGlu dGVsX2ZyYW1lYnVmZmVyICppbnRlbF9mYiwKIAkJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJCQkJICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShvYmotPmJhc2UuZGV2 KTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9ICZpbnRlbF9mYi0+YmFzZTsKLQl1MzIg cGl0Y2hfbGltaXQ7CisJdTMyIG1heF9zdHJpZGU7CiAJdW5zaWduZWQgaW50IHRpbGluZywgc3Ry aWRlOwogCWludCByZXQgPSAtRUlOVkFMOwogCWludCBpOwpAQCAtMTQ5OTcsMTMgKzE0OTk3LDEz IEBAIHN0YXRpYyBpbnQgaW50ZWxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZnJhbWVi dWZmZXIgKmludGVsX2ZiLAogCQlnb3RvIGVycjsKIAl9CiAKLQlwaXRjaF9saW1pdCA9IGludGVs X2ZiX3BpdGNoX2xpbWl0KGRldl9wcml2LCBtb2RlX2NtZC0+cGl4ZWxfZm9ybWF0LAotCQkJCQkg ICBtb2RlX2NtZC0+bW9kaWZpZXJbMF0pOwotCWlmIChtb2RlX2NtZC0+cGl0Y2hlc1swXSA+IHBp dGNoX2xpbWl0KSB7CisJbWF4X3N0cmlkZSA9IGludGVsX2ZiX21heF9zdHJpZGUoZGV2X3ByaXYs IG1vZGVfY21kLT5waXhlbF9mb3JtYXQsCisJCQkJCSBtb2RlX2NtZC0+bW9kaWZpZXJbMF0pOwor CWlmIChtb2RlX2NtZC0+cGl0Y2hlc1swXSA+IG1heF9zdHJpZGUpIHsKIAkJRFJNX0RFQlVHX0tN UygiJXMgcGl0Y2ggKCV1KSBtdXN0IGJlIGF0IG1vc3QgJWRcbiIsCiAJCQkgICAgICBtb2RlX2Nt ZC0+bW9kaWZpZXJbMF0gIT0gRFJNX0ZPUk1BVF9NT0RfTElORUFSID8KIAkJCSAgICAgICJ0aWxl ZCIgOiAibGluZWFyIiwKLQkJCSAgICAgIG1vZGVfY21kLT5waXRjaGVzWzBdLCBwaXRjaF9saW1p dCk7CisJCQkgICAgICBtb2RlX2NtZC0+cGl0Y2hlc1swXSwgbWF4X3N0cmlkZSk7CiAJCWdvdG8g ZXJyOwogCX0KIAotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=