From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v2] drm/i915: constify validate_vbt in VBT parsing Date: Tue, 12 May 2015 15:41:32 +0300 Message-ID: <1431434492-26300-1-git-send-email-jani.nikula@intel.com> References: <20150512120946.GX18908@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 ESMTP id DD9E56E5F4 for ; Tue, 12 May 2015 05:39:25 -0700 (PDT) In-Reply-To: <20150512120946.GX18908@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org TWFrZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHZhbGlkYXRlX3ZidCBjb25zdCwgYW5kIGZpeCB0aGUg ZmFsbG91dC4gV2UKc2hvdWxkbid0IG1vZGlmeSB0aGUgVkJULCBzbyBtYWtlIHRoZSBjb21waWxl ciBoZWxwIHVzIGhlcmUuCgp2MjogdXNlIHBvaW50ZXIgYXJpdGhtZXRpY3Mgb24gdm9pZCogdG8g c2ltcGxpZnkgKFZpbGxlKQoKU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMgfCA0OSAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy NSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9z LmMKaW5kZXggNTg3NmU3Y2IxMzJkLi5jYmQxNmMwMTk1OWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9iaW9zLmMKQEAgLTIwNSw3ICsyMDUsNyBAQCBnZXRfbHZkc19mcF90aW1pbmcoY29uc3Qgc3Ry dWN0IGJkYl9oZWFkZXIgKmJkYiwKIC8qIFRyeSB0byBmaW5kIGludGVncmF0ZWQgcGFuZWwgZGF0 YSAqLwogc3RhdGljIHZvaWQKIHBhcnNlX2xmcF9wYW5lbF9kYXRhKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKLQkJCSAgICBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQorCQkgICAg IGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiB7CiAJY29uc3Qgc3RydWN0IGJkYl9sdmRz X29wdGlvbnMgKmx2ZHNfb3B0aW9uczsKIAljb25zdCBzdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGEg Kmx2ZHNfbGZwX2RhdGE7CkBAIC0zMTEsNyArMzExLDggQEAgcGFyc2VfbGZwX3BhbmVsX2RhdGEo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdm9pZAotcGFy c2VfbGZwX2JhY2tsaWdodChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVj dCBiZGJfaGVhZGVyICpiZGIpCitwYXJzZV9sZnBfYmFja2xpZ2h0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKKwkJICAgIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiB7 CiAJY29uc3Qgc3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0X2RhdGEgKmJhY2tsaWdodF9kYXRhOwog CWNvbnN0IHN0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRhX2VudHJ5ICplbnRyeTsKQEAgLTM0 OSw3ICszNTAsNyBAQCBwYXJzZV9sZnBfYmFja2xpZ2h0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIC8qIFRyeSB0byBmaW5kIHNkdm8g cGFuZWwgZGF0YSAqLwogc3RhdGljIHZvaWQKIHBhcnNlX3Nkdm9fcGFuZWxfZGF0YShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCSAgICAgIHN0cnVjdCBiZGJfaGVhZGVyICpi ZGIpCisJCSAgICAgIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiB7CiAJY29uc3Qgc3Ry dWN0IGx2ZHNfZHZvX3RpbWluZyAqZHZvX3RpbWluZzsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqcGFuZWxfZml4ZWRfbW9kZTsKQEAgLTQwMyw3ICs0MDQsNyBAQCBzdGF0aWMgaW50IGludGVs X2Jpb3Nfc3NjX2ZyZXF1ZW5jeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiBzdGF0aWMgdm9p ZAogcGFyc2VfZ2VuZXJhbF9mZWF0dXJlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCi0JCSAgICAgICBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQorCQkgICAgICAgY29uc3Qgc3Ry dWN0IGJkYl9oZWFkZXIgKmJkYikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3By aXYtPmRldjsKIAljb25zdCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZmVhdHVyZXMgKmdlbmVyYWw7CkBA IC00MjksNyArNDMwLDcgQEAgcGFyc2VfZ2VuZXJhbF9mZWF0dXJlcyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRpYyB2b2lkCiBwYXJzZV9nZW5lcmFsX2RlZmluaXRp b25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCSAgc3RydWN0IGJkYl9o ZWFkZXIgKmJkYikKKwkJCSAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIHsKIAljb25z dCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZGVmaW5pdGlvbnMgKmdlbmVyYWw7CiAKQEAgLTQ1Niw3ICs0 NTcsNyBAQCBjaGlsZF9kZXZpY2VfcHRyKGNvbnN0IHN0cnVjdCBiZGJfZ2VuZXJhbF9kZWZpbml0 aW9ucyAqcF9kZWZzLCBpbnQgaSkKIAogc3RhdGljIHZvaWQKIHBhcnNlX3Nkdm9fZGV2aWNlX21h cHBpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJICBzdHJ1Y3QgYmRi X2hlYWRlciAqYmRiKQorCQkJICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogewogCXN0 cnVjdCBzZHZvX2RldmljZV9tYXBwaW5nICpwX21hcHBpbmc7CiAJY29uc3Qgc3RydWN0IGJkYl9n ZW5lcmFsX2RlZmluaXRpb25zICpwX2RlZnM7CkBAIC01NDYsNyArNTQ3LDcgQEAgcGFyc2Vfc2R2 b19kZXZpY2VfbWFwcGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0 YXRpYyB2b2lkCiBwYXJzZV9kcml2ZXJfZmVhdHVyZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAotCQkgICAgICAgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKKwkJICAgICAgY29u c3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIHsKIAljb25zdCBzdHJ1Y3QgYmRiX2RyaXZlcl9m ZWF0dXJlcyAqZHJpdmVyOwogCkBAIC01NzIsNyArNTczLDcgQEAgcGFyc2VfZHJpdmVyX2ZlYXR1 cmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQK LXBhcnNlX2VkcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBiZGJf aGVhZGVyICpiZGIpCitwYXJzZV9lZHAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogewogCWNvbnN0IHN0cnVjdCBiZGJfZWRw ICplZHA7CiAJY29uc3Qgc3RydWN0IGVkcF9wb3dlcl9zZXEgKmVkcF9wcHM7CkBAIC02ODQsNyAr Njg1LDcgQEAgcGFyc2VfZWRwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3Ry dWN0IGJkYl9oZWFkZXIgKmJkYikKIH0KIAogc3RhdGljIHZvaWQKLXBhcnNlX3BzcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCitwYXJz ZV9wc3Ioc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBjb25zdCBzdHJ1Y3QgYmRi X2hlYWRlciAqYmRiKQogewogCWNvbnN0IHN0cnVjdCBiZGJfcHNyICpwc3I7CiAJY29uc3Qgc3Ry dWN0IHBzcl90YWJsZSAqcHNyX3RhYmxlOwpAQCAtNzk1LDcgKzc5Niw3IEBAIHN0YXRpYyB1OCAq Z290b19uZXh0X3NlcXVlbmNlKHU4ICpkYXRhLCBpbnQgKnNpemUpCiB9CiAKIHN0YXRpYyB2b2lk Ci1wYXJzZV9taXBpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGJk Yl9oZWFkZXIgKmJkYikKK3BhcnNlX21pcGkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogewogCWNvbnN0IHN0cnVjdCBiZGJf bWlwaV9jb25maWcgKnN0YXJ0OwogCWNvbnN0IHN0cnVjdCBiZGJfbWlwaV9zZXF1ZW5jZSAqc2Vx dWVuY2U7CkBAIC05NDYsNyArOTQ3LDcgQEAgZXJyOgogfQogCiBzdGF0aWMgdm9pZCBwYXJzZV9k ZGlfcG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0 LAotCQkJICAgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKKwkJCSAgIGNvbnN0IHN0cnVjdCBiZGJf aGVhZGVyICpiZGIpCiB7CiAJdW5pb24gY2hpbGRfZGV2aWNlX2NvbmZpZyAqaXQsICpjaGlsZCA9 IE5VTEw7CiAJc3RydWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvID0gJmRldl9wcml2LT52YnQu ZGRpX3BvcnRfaW5mb1twb3J0XTsKQEAgLTEwNDgsNyArMTA0OSw3IEBAIHN0YXRpYyB2b2lkIHBh cnNlX2RkaV9wb3J0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0 IHBvcnQsCiB9CiAKIHN0YXRpYyB2b2lkIHBhcnNlX2RkaV9wb3J0cyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgICAgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKKwkJCSAg ICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBkZXZfcHJpdi0+ZGV2OwogCWVudW0gcG9ydCBwb3J0OwpAQCAtMTA2OCw3ICsxMDY5LDcg QEAgc3RhdGljIHZvaWQgcGFyc2VfZGRpX3BvcnRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAogc3RhdGljIHZvaWQKIHBhcnNlX2RldmljZV9tYXBwaW5nKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJICAgICAgIHN0cnVjdCBiZGJfaGVhZGVyICpiZGIp CisJCSAgICAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIHsKIAljb25zdCBzdHJ1Y3Qg YmRiX2dlbmVyYWxfZGVmaW5pdGlvbnMgKnBfZGVmczsKIAljb25zdCB1bmlvbiBjaGlsZF9kZXZp Y2VfY29uZmlnICpwX2NoaWxkOwpAQCAtMTE5OCwxOSArMTE5OSwyMCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRtaV9zeXN0ZW1faWQgaW50ZWxfbm9fb3ByZWdpb25fdmJ0W10gPSB7CiAJeyB9CiB9 OwogCi1zdGF0aWMgc3RydWN0IGJkYl9oZWFkZXIgKnZhbGlkYXRlX3ZidChjaGFyICpiYXNlLCBz aXplX3Qgc2l6ZSwKLQkJCQkgICAgICAgc3RydWN0IHZidF9oZWFkZXIgKnZidCwKLQkJCQkgICAg ICAgY29uc3QgY2hhciAqc291cmNlKQorc3RhdGljIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICp2 YWxpZGF0ZV92YnQoY29uc3Qgdm9pZCAqYmFzZSwgc2l6ZV90IHNpemUsCisJCQkJCSAgICAgY29u c3Qgdm9pZCAqX3ZidCwKKwkJCQkJICAgICBjb25zdCBjaGFyICpzb3VyY2UpCiB7CisJY29uc3Qg c3RydWN0IHZidF9oZWFkZXIgKnZidCA9IF92YnQ7CiAJc2l6ZV90IG9mZnNldDsKLQlzdHJ1Y3Qg YmRiX2hlYWRlciAqYmRiOworCWNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGI7CiAKIAlpZiAo dmJ0ID09IE5VTEwpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiVkJUIHNpZ25hdHVyZSBtaXNzaW5n XG4iKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0Jb2Zmc2V0ID0gKGNoYXIgKil2YnQgLSBiYXNl OworCW9mZnNldCA9IF92YnQgLSBiYXNlOwogCWlmIChvZmZzZXQgKyBzaXplb2Yoc3RydWN0IHZi dF9oZWFkZXIpID4gc2l6ZSkgewogCQlEUk1fREVCVUdfRFJJVkVSKCJWQlQgaGVhZGVyIGluY29t cGxldGVcbiIpOwogCQlyZXR1cm4gTlVMTDsKQEAgLTEyMjcsNyArMTIyOSw3IEBAIHN0YXRpYyBz dHJ1Y3QgYmRiX2hlYWRlciAqdmFsaWRhdGVfdmJ0KGNoYXIgKmJhc2UsIHNpemVfdCBzaXplLAog CQlyZXR1cm4gTlVMTDsKIAl9CiAKLQliZGIgPSAoc3RydWN0IGJkYl9oZWFkZXIgKikoYmFzZSAr IG9mZnNldCk7CisJYmRiID0gYmFzZSArIG9mZnNldDsKIAlpZiAob2Zmc2V0ICsgYmRiLT5iZGJf c2l6ZSA+IHNpemUpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiQkRCIGluY29tcGxldGVcbiIpOwog CQlyZXR1cm4gTlVMTDsKQEAgLTEyNTIsNyArMTI1NCw3IEBAIGludGVsX3BhcnNlX2Jpb3Moc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gZGV2LT5wZGV2 OwotCXN0cnVjdCBiZGJfaGVhZGVyICpiZGIgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBiZGJfaGVh ZGVyICpiZGIgPSBOVUxMOwogCXU4IF9faW9tZW0gKmJpb3MgPSBOVUxMOwogCiAJaWYgKEhBU19Q Q0hfTk9QKGRldikpCkBAIC0xMjYyLDkgKzEyNjQsOCBAQCBpbnRlbF9wYXJzZV9iaW9zKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAKIAkvKiBYWFggU2hvdWxkIHRoaXMgdmFsaWRhdGlvbiBiZSBt b3ZlZCB0byBpbnRlbF9vcHJlZ2lvbi5jPyAqLwogCWlmICghZG1pX2NoZWNrX3N5c3RlbShpbnRl bF9ub19vcHJlZ2lvbl92YnQpICYmIGRldl9wcml2LT5vcHJlZ2lvbi52YnQpCi0JCWJkYiA9IHZh bGlkYXRlX3ZidCgoY2hhciAqKWRldl9wcml2LT5vcHJlZ2lvbi5oZWFkZXIsIE9QUkVHSU9OX1NJ WkUsCi0JCQkJICAgKHN0cnVjdCB2YnRfaGVhZGVyICopZGV2X3ByaXYtPm9wcmVnaW9uLnZidCwK LQkJCQkgICAiT3BSZWdpb24iKTsKKwkJYmRiID0gdmFsaWRhdGVfdmJ0KGRldl9wcml2LT5vcHJl Z2lvbi5oZWFkZXIsIE9QUkVHSU9OX1NJWkUsCisJCQkJICAgZGV2X3ByaXYtPm9wcmVnaW9uLnZi dCwgIk9wUmVnaW9uIik7CiAKIAlpZiAoYmRiID09IE5VTEwpIHsKIAkJc2l6ZV90IGksIHNpemU7 CkBAIC0xMjc3LDcgKzEyNzgsNyBAQCBpbnRlbF9wYXJzZV9iaW9zKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJCWZvciAoaSA9IDA7IGkgKyA0IDwgc2l6ZTsgaSsrKSB7CiAJCQlpZiAobWVtY21w KGJpb3MgKyBpLCAiJFZCVCIsIDQpID09IDApIHsKIAkJCQliZGIgPSB2YWxpZGF0ZV92YnQoYmlv cywgc2l6ZSwKLQkJCQkJCSAgIChzdHJ1Y3QgdmJ0X2hlYWRlciAqKShiaW9zICsgaSksCisJCQkJ CQkgICBiaW9zICsgaSwKIAkJCQkJCSAgICJQQ0kgUk9NIik7CiAJCQkJYnJlYWs7CiAJCQl9Ci0t IAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK