From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 2/3] drm/i915: Eliminate the horrendous format check code Date: Mon, 5 Mar 2018 23:41:59 +0200 Message-ID: <20180305214159.8431-1-ville.syrjala@linux.intel.com> References: <20180305144919.2881-2-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180305144919.2881-2-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk5v dyB0aGF0IHRoZSBjb3JlIG1ha2VzIHN1cmUgdGhhdCB0aGUgcGl4ZWwgZm9ybWF0IGlzIHN1cHBv cnRlZApieSBhdCBsZWFzdCBvbmUgcGxhbmUsIHdlIGNhbiBlbGltaW5hdGUgdGhlIGhhbmQgcm9s bGVkIGNvZGUgZm9yIHRoZQpzYW1lIHRoaW5nIGluIGk5MTUuIFRoZSB3YXkgd2Ugd2VyZSBkb2lu ZyB3YXMgZXh0cmVtZWx5IGluY29udmVuaWVudApiZWNhdXNlIG5vdCBvbmx5IGRpZCB5b3UgaGF2 ZSB0byBhZGQgdGhlIGZvcm1hdCB0byB0aGUgcGxhbmUncyBmb3JtYXQKbGlzdCwgYnV0IHlvdSBh bHNvIGhhZCB0byBjb21lIHVwIHdpdGggdGhlIGNvcnJlY3QgcGxhdGZvcm0gY2hlY2tzCmZvciB0 aGlzIGNvZGUuCgp2MjogTnVrZSB0aGUgbW9kaWZpZXIgY2hlY2tzIGFzIHdlbGwgc2luY2UgdGhl IGNvcmUgZG9lcyB0aGF0IHRvbyBub3cKClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgODYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgODYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCmluZGV4IGZiMDg1OTBiNGQ0MC4uM2VkMWVmMDVjYjU1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMzk5MSw3ICsxMzk5MSw2IEBAIHN0YXRpYyBpbnQg aW50ZWxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVsX2Zi LAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUob2JqLT5i YXNlLmRldik7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSAmaW50ZWxfZmItPmJhc2U7 Ci0Jc3RydWN0IGRybV9mb3JtYXRfbmFtZV9idWYgZm9ybWF0X25hbWU7CiAJdTMyIHBpdGNoX2xp bWl0OwogCXVuc2lnbmVkIGludCB0aWxpbmcsIHN0cmlkZTsKIAlpbnQgcmV0ID0gLUVJTlZBTDsK QEAgLTE0MDIyLDM3ICsxNDAyMSw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfZnJhbWVidWZmZXJfaW5p dChzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVsX2ZiLAogCQl9CiAJfQogCi0JLyogUGFz c2VkIGluIG1vZGlmaWVyIHNhbml0eSBjaGVja2luZy4gKi8KLQlzd2l0Y2ggKG1vZGVfY21kLT5t b2RpZmllclswXSkgewotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOgotCWNhc2Ug STkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzoKLQkJc3dpdGNoIChtb2RlX2NtZC0+cGl4ZWxf Zm9ybWF0KSB7Ci0JCWNhc2UgRFJNX0ZPUk1BVF9YQkdSODg4ODoKLQkJY2FzZSBEUk1fRk9STUFU X0FCR1I4ODg4OgotCQljYXNlIERSTV9GT1JNQVRfWFJHQjg4ODg6Ci0JCWNhc2UgRFJNX0ZPUk1B VF9BUkdCODg4ODoKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJRFJNX0RFQlVHX0tNUygiUkMg c3VwcG9ydGVkIG9ubHkgd2l0aCBSR0I4ODg4IGZvcm1hdHNcbiIpOwotCQkJZ290byBlcnI7Ci0J CX0KLQkJLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRDoK LQljYXNlIEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRDoKLQkJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPCA5KSB7Ci0JCQlEUk1fREVCVUdfS01TKCJVbnN1cHBvcnRlZCB0aWxpbmcgMHglbGx4IVxu IiwKLQkJCQkgICAgICBtb2RlX2NtZC0+bW9kaWZpZXJbMF0pOwotCQkJZ290byBlcnI7Ci0JCX0K LQljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKLQljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJ TEVEOgotCQlicmVhazsKLQlkZWZhdWx0OgotCQlEUk1fREVCVUdfS01TKCJVbnN1cHBvcnRlZCBm YiBtb2RpZmllciAweCVsbHghXG4iLAotCQkJICAgICAgbW9kZV9jbWQtPm1vZGlmaWVyWzBdKTsK LQkJZ290byBlcnI7Ci0JfQotCiAJLyoKIAkgKiBnZW4yLzMgZGlzcGxheSBlbmdpbmUgdXNlcyB0 aGUgZmVuY2UgaWYgcHJlc2VudCwKIAkgKiBzbyB0aGUgdGlsaW5nIG1vZGUgbXVzdCBtYXRjaCB0 aGUgZmIgbW9kaWZpZXIgZXhhY3RseS4KQEAgLTE0MDgzLDYwICsxNDA1MSw2IEBAIHN0YXRpYyBp bnQgaW50ZWxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmludGVs X2ZiLAogCQlnb3RvIGVycjsKIAl9CiAKLQkvKiBSZWplY3QgZm9ybWF0cyBub3Qgc3VwcG9ydGVk IGJ5IGFueSBwbGFuZSBlYXJseS4gKi8KLQlzd2l0Y2ggKG1vZGVfY21kLT5waXhlbF9mb3JtYXQp IHsKLQljYXNlIERSTV9GT1JNQVRfQzg6Ci0JY2FzZSBEUk1fRk9STUFUX1JHQjU2NToKLQljYXNl IERSTV9GT1JNQVRfWFJHQjg4ODg6Ci0JY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4OgotCQlicmVh azsKLQljYXNlIERSTV9GT1JNQVRfWFJHQjE1NTU6Ci0JCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID4gMykgewotCQkJRFJNX0RFQlVHX0tNUygidW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0OiAlc1xu IiwKLQkJCQkgICAgICBkcm1fZ2V0X2Zvcm1hdF9uYW1lKG1vZGVfY21kLT5waXhlbF9mb3JtYXQs ICZmb3JtYXRfbmFtZSkpOwotCQkJZ290byBlcnI7Ci0JCX0KLQkJYnJlYWs7Ci0JY2FzZSBEUk1f Rk9STUFUX0FCR1I4ODg4OgotCQlpZiAoIUlTX1ZBTExFWVZJRVcoZGV2X3ByaXYpICYmICFJU19D SEVSUllWSUVXKGRldl9wcml2KSAmJgotCQkgICAgSU5URUxfR0VOKGRldl9wcml2KSA8IDkpIHsK LQkJCURSTV9ERUJVR19LTVMoInVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdDogJXNcbiIsCi0JCQkJ ICAgICAgZHJtX2dldF9mb3JtYXRfbmFtZShtb2RlX2NtZC0+cGl4ZWxfZm9ybWF0LCAmZm9ybWF0 X25hbWUpKTsKLQkJCWdvdG8gZXJyOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgRFJNX0ZPUk1BVF9Y QkdSODg4ODoKLQljYXNlIERSTV9GT1JNQVRfWFJHQjIxMDEwMTA6Ci0JY2FzZSBEUk1fRk9STUFU X1hCR1IyMTAxMDEwOgotCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDQpIHsKLQkJCURSTV9E RUJVR19LTVMoInVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdDogJXNcbiIsCi0JCQkJICAgICAgZHJt X2dldF9mb3JtYXRfbmFtZShtb2RlX2NtZC0+cGl4ZWxfZm9ybWF0LCAmZm9ybWF0X25hbWUpKTsK LQkJCWdvdG8gZXJyOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgRFJNX0ZPUk1BVF9BQkdSMjEwMTAx MDoKLQkJaWYgKCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpIHsKLQkJCURSTV9ERUJVR19LTVMoInVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdDogJXNc biIsCi0JCQkJICAgICAgZHJtX2dldF9mb3JtYXRfbmFtZShtb2RlX2NtZC0+cGl4ZWxfZm9ybWF0 LCAmZm9ybWF0X25hbWUpKTsKLQkJCWdvdG8gZXJyOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgRFJN X0ZPUk1BVF9ZVVlWOgotCWNhc2UgRFJNX0ZPUk1BVF9VWVZZOgotCWNhc2UgRFJNX0ZPUk1BVF9Z VllVOgotCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgotCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8 IDUgJiYgIUlTX0c0WChkZXZfcHJpdikpIHsKLQkJCURSTV9ERUJVR19LTVMoInVuc3VwcG9ydGVk IHBpeGVsIGZvcm1hdDogJXNcbiIsCi0JCQkJICAgICAgZHJtX2dldF9mb3JtYXRfbmFtZShtb2Rl X2NtZC0+cGl4ZWxfZm9ybWF0LCAmZm9ybWF0X25hbWUpKTsKLQkJCWdvdG8gZXJyOwotCQl9Ci0J CWJyZWFrOwotCWRlZmF1bHQ6Ci0JCURSTV9ERUJVR19LTVMoInVuc3VwcG9ydGVkIHBpeGVsIGZv cm1hdDogJXNcbiIsCi0JCQkgICAgICBkcm1fZ2V0X2Zvcm1hdF9uYW1lKG1vZGVfY21kLT5waXhl bF9mb3JtYXQsICZmb3JtYXRfbmFtZSkpOwotCQlnb3RvIGVycjsKLQl9Ci0KIAkvKiBGSVhNRSBu ZWVkIHRvIGFkanVzdCBMSU5PRkYvVElMRU9GRiBhY2NvcmRpbmdseS4gKi8KIAlpZiAobW9kZV9j bWQtPm9mZnNldHNbMF0gIT0gMCkKIAkJZ290byBlcnI7Ci0tIAoyLjE2LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=