From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [MIPI SEQ PARSING v3 04/13] drm/i915: Do opregion VBT validation during opregion setup Date: Tue, 1 Dec 2015 04:17:07 +0530 Message-ID: <1448923632-16760-5-git-send-email-m.deepak@intel.com> References: <1448923632-16760-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 37BCE6E61A for ; Mon, 30 Nov 2015 09:13:21 -0800 (PST) In-Reply-To: <1448923632-16760-1-git-send-email-m.deepak@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: Deepak M , Jani Nikula List-Id: intel-gfx@lists.freedesktop.org Q2FsbGluZyB0aGUgdmFsaWRhdGVfdmJ0IGJlZm9yZSBhc3NpZ2luZyB0aGUgb3ByZWdpb24gdmJ0 IGJsb2IuClNpemUgb2YgdGhlIFZCVCBibG9iIGNhbnQgYmUgbW9yZSB0aGFuIDZLQiB3aGVuIFZC VCBpcyBwcmVzZW50CmluIG1haWxib3ggNC4KCkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgTSA8bS5kZWVwYWtAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgfCAgMyArKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyAgICAgfCA0MyArKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYyB8 IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0 aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMTM1 ZDMyYS4uOGNmODM3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zMzI0LDYgKzMzMjQs OSBAQCBpbnRlbF9vcHJlZ2lvbl9ub3RpZnlfYWRhcHRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBwY2lfcG93ZXJfdCBzdGF0ZSkKIH0KICNlbmRpZgogCitjb25zdCBzdHJ1Y3QgdmJ0X2hlYWRl ciAqdmFsaWRhdGVfdmJ0KGNvbnN0IHZvaWQgKl92YnQsIHNpemVfdCBzaXplLAorCQkJCQkJY29u c3QgY2hhciAqc291cmNlKTsKKwogLyogaW50ZWxfYWNwaS5jICovCiAjaWZkZWYgQ09ORklHX0FD UEkKIGV4dGVybiB2b2lkIGludGVsX3JlZ2lzdGVyX2RzbV9oYW5kbGVyKHZvaWQpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYmlvcy5jCmluZGV4IDY3NTZhMWMuLjU3YTc3YWEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9iaW9zLmMKQEAgLTEyMzcsMTYgKzEyMzcsMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkbWlfc3lzdGVtX2lkIGludGVsX25vX29wcmVnaW9uX3ZidFtdID0gewogCXsgfQogfTsKIAot c3RhdGljIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICp2YWxpZGF0ZV92YnQoY29uc3Qgdm9pZCAq YmFzZSwKK2NvbnN0IHN0cnVjdCB2YnRfaGVhZGVyICp2YWxpZGF0ZV92YnQoY29uc3Qgdm9pZCAq X3ZidCwKIAkJCQkJICAgICBzaXplX3Qgc2l6ZSwKLQkJCQkJICAgICBjb25zdCB2b2lkICpfdmJ0 LAogCQkJCQkgICAgIGNvbnN0IGNoYXIgKnNvdXJjZSkKIHsKLQlzaXplX3Qgb2Zmc2V0ID0gX3Zi dCAtIGJhc2U7Ci0JY29uc3Qgc3RydWN0IHZidF9oZWFkZXIgKnZidCA9IF92YnQ7CisJY29uc3Qg c3RydWN0IHZidF9oZWFkZXIgKnZidCA9IChjb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAqKV92YnQ7 CiAJY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYjsKKwlzaXplX3Qgb2Zmc2V0OwogCi0JaWYg KG9mZnNldCArIHNpemVvZihzdHJ1Y3QgdmJ0X2hlYWRlcikgPiBzaXplKSB7CisJaWYgKHNpemVv ZihzdHJ1Y3QgdmJ0X2hlYWRlcikgPiBzaXplKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIlZCVCBo ZWFkZXIgaW5jb21wbGV0ZVxuIik7CiAJCXJldHVybiBOVUxMOwogCX0KQEAgLTEyNTYsMjYgKzEy NTUsMjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICp2YWxpZGF0ZV92YnQoY29u c3Qgdm9pZCAqYmFzZSwKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0Jb2Zmc2V0ICs9IHZidC0+YmRi X29mZnNldDsKKwlvZmZzZXQgPSB2YnQtPmJkYl9vZmZzZXQ7CiAJaWYgKG9mZnNldCArIHNpemVv ZihzdHJ1Y3QgYmRiX2hlYWRlcikgPiBzaXplKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIkJEQiBo ZWFkZXIgaW5jb21wbGV0ZVxuIik7CiAJCXJldHVybiBOVUxMOwogCX0KIAotCWJkYiA9IGJhc2Ug KyBvZmZzZXQ7CisJYmRiID0gKGNvbnN0IHZvaWQgKilfdmJ0ICsgb2Zmc2V0OwogCWlmIChvZmZz ZXQgKyBiZGItPmJkYl9zaXplID4gc2l6ZSkgewogCQlEUk1fREVCVUdfRFJJVkVSKCJCREIgaW5j b21wbGV0ZVxuIik7CiAJCXJldHVybiBOVUxMOwogCX0KIAogCURSTV9ERUJVR19LTVMoIlVzaW5n IFZCVCBmcm9tICVzOiAlMjBzXG4iLAotCQkgICAgICBzb3VyY2UsIHZidC0+c2lnbmF0dXJlKTsK LQlyZXR1cm4gYmRiOworCQkJc291cmNlLCB2YnQtPnNpZ25hdHVyZSk7CisJcmV0dXJuIHZidDsK IH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpmaW5kX3ZidCh2b2lkIF9faW9t ZW0gKmJpb3MsIHNpemVfdCBzaXplKQorc3RhdGljIGNvbnN0IHN0cnVjdCB2YnRfaGVhZGVyICpm aW5kX3ZidCh2b2lkIF9faW9tZW0gKmJpb3MsIHNpemVfdCBzaXplKQogewotCWNvbnN0IHN0cnVj dCBiZGJfaGVhZGVyICpiZGIgPSBOVUxMOworCWNvbnN0IHN0cnVjdCB2YnRfaGVhZGVyICp2YnQg PSBOVUxMOwogCXNpemVfdCBpOwogCiAJLyogU2NvdXIgbWVtb3J5IGxvb2tpbmcgZm9yIHRoZSBW QlQgc2lnbmF0dXJlLiAqLwpAQCAtMTI4OSwxMiArMTI4OCwxMiBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGJkYl9oZWFkZXIgKmZpbmRfdmJ0KHZvaWQgX19pb21lbSAqYmlvcywgc2l6ZV90IHNpemUp CiAJCQkgKi8KIAkJCXZvaWQgKl9iaW9zID0gKHZvaWQgX19mb3JjZSAqKSBiaW9zOwogCi0JCQli ZGIgPSB2YWxpZGF0ZV92YnQoX2Jpb3MsIHNpemUsIF9iaW9zICsgaSwgIlBDSSBST00iKTsKKwkJ CXZidCA9IHZhbGlkYXRlX3ZidChfYmlvcyArIGksIHNpemUgLSBpLCAiUENJIFJPTSIpOwogCQkJ YnJlYWs7CiAJCX0KIAl9CiAKLQlyZXR1cm4gYmRiOworCXJldHVybiB2YnQ7CiB9CiAKIC8qKgpA QCAtMTMxMSw2ICsxMzEwLDcgQEAgaW50ZWxfcGFyc2VfYmlvcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBkZXYtPnBkZXY7CisJY29uc3Qgc3RydWN0 IHZidF9oZWFkZXIgKnZidCA9IE5VTEw7CiAJY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYiA9 IE5VTEw7CiAJdTggX19pb21lbSAqYmlvcyA9IE5VTEw7CiAKQEAgLTEzMTksMjMgKzEzMTksMjYg QEAgaW50ZWxfcGFyc2VfYmlvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJaW5pdF92YnRf ZGVmYXVsdHMoZGV2X3ByaXYpOwogCi0JLyogWFhYIFNob3VsZCB0aGlzIHZhbGlkYXRpb24gYmUg bW92ZWQgdG8gaW50ZWxfb3ByZWdpb24uYz8gKi8KLQlpZiAoIWRtaV9jaGVja19zeXN0ZW0oaW50 ZWxfbm9fb3ByZWdpb25fdmJ0KSAmJiBkZXZfcHJpdi0+b3ByZWdpb24udmJ0KQotCQliZGIgPSB2 YWxpZGF0ZV92YnQoZGV2X3ByaXYtPm9wcmVnaW9uLmhlYWRlciwgT1BSRUdJT05fU0laRSwKLQkJ CQkgICBkZXZfcHJpdi0+b3ByZWdpb24udmJ0LCAiT3BSZWdpb24iKTsKKwlpZiAoIWRtaV9jaGVj a19zeXN0ZW0oaW50ZWxfbm9fb3ByZWdpb25fdmJ0KSAmJgorCQkJCQlkZXZfcHJpdi0+b3ByZWdp b24udmJ0KSB7CisJCXZidCA9IChjb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAqKWRldl9wcml2LT5v cHJlZ2lvbi52YnQ7CisJCWJkYiA9IChjb25zdCB2b2lkICopZGV2X3ByaXYtPm9wcmVnaW9uLnZi dCArIHZidC0+YmRiX29mZnNldDsKKwl9CiAKLQlpZiAoYmRiID09IE5VTEwpIHsKKwlpZiAodmJ0 ID09IE5VTEwpIHsKIAkJc2l6ZV90IHNpemU7CiAKIAkJYmlvcyA9IHBjaV9tYXBfcm9tKHBkZXYs ICZzaXplKTsKIAkJaWYgKCFiaW9zKQogCQkJcmV0dXJuIC0xOwogCi0JCWJkYiA9IGZpbmRfdmJ0 KGJpb3MsIHNpemUpOwotCQlpZiAoIWJkYikgeworCQl2YnQgPSBmaW5kX3ZidChiaW9zLCBzaXpl KTsKKwkJaWYgKCF2YnQpIHsKIAkJCXBjaV91bm1hcF9yb20ocGRldiwgYmlvcyk7CiAJCQlyZXR1 cm4gLTE7CiAJCX0KKworCQliZGIgPSAoY29uc3Qgdm9pZCAqKXZidCArIHZidC0+YmRiX29mZnNl dDsKIAl9CiAKIAkvKiBHcmFiIHVzZWZ1bCBnZW5lcmFsIGRlZmluaXRpb25zICovCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYwppbmRleCA0M2I3YzNiLi40YTc4MjgyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMKQEAgLTQ4LDYgKzQ4LDI3IEBACiAjZGVmaW5l IE9QUkVHSU9OX1ZCVF9PRkZTRVQgICAgMHg0MDAKICNkZWZpbmUgT1BSRUdJT05fQVNMRV9FWFRf T0ZGU0VUCTB4MUMwMAogCisjZGVmaW5lIE1BSUxCT1hfNF9TSVpFCQkweDE4MDAKKworLyoKKyAq CU9wcmVnaW9uIFN0cnVjdHVyZToKKyAqCSAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKworICogICAgICAgICAgICB8ICAgICAgTWFpbGJveDEgOiBBQ1BJICAgICAgICAgIHwK KyAqICAgICAgICAgICAgfCAgICAgIE9mZnNldCAgIDogMHgxMDAgICAgICAgICB8CisgKiAgICAg ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICB8 ICAgICAgTWFpbGJveDIgOiBTV1NDSQkgICAgICB8CisgKiAgICAgICAgICAgIHwgICAgICBPZmZz ZXQgICA6IDB4MjAwICAgICAgICAgfAorICogICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsKKyAqICAgICAgICAgICAgfCAgICAgIE1haWxib3gzIDogQVNMRQkgICAg ICB8CisgKiAgICAgICAgICAgIHwgICAgICBPZmZzZXQgICA6IDB4MzAwICAgICAgICAgfAorICog ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgICAgICAg ICAgfCAgICAgIE1haWxib3g0IDogVkJUCSAgICAgIHwKKyAqICAgICAgICAgICAgfCAgICAgIE9m ZnNldCAgIDogMHg0MDAgICAgICAgICB8CisgKiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICB8ICAgICAgTWFpbGJveDUgOiBBU0xFX0VY VCAgICAgIHwKKyAqICAgICAgICAgICAgfCAgICAgIE9mZnNldCAgIDogMHgxQzAwICAgICAgICB8 CisgKiAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworKi8KICNk ZWZpbmUgT1BSRUdJT05fU0lHTkFUVVJFICJJbnRlbEdyYXBoaWNzTWVtIgogI2RlZmluZSBNQk9Y X0FDUEkgICAgICAoMTw8MCkKICNkZWZpbmUgTUJPWF9TV1NDSSAgICAgKDE8PDEpCkBAIC05MTAs NiArOTMxLDcgQEAgaW50IGludGVsX29wcmVnaW9uX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJc3RydWN0IGludGVsX29wcmVnaW9uICpvcHJlZ2lvbiA9ICZkZXZfcHJpdi0+b3ByZWdp b247CiAJdTMyIGFzbHMsIG1ib3hlczsKIAljaGFyIGJ1ZltzaXplb2YoT1BSRUdJT05fU0lHTkFU VVJFKV07CisJY29uc3Qgc3RydWN0IHZidF9oZWFkZXIgKnZidCA9IE5VTEw7CiAJaW50IGVyciA9 IDA7CiAJdm9pZCAqYmFzZTsKIApAQCAtOTQwLDYgKzk2MiwxNSBAQCBpbnQgaW50ZWxfb3ByZWdp b25fc2V0dXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZXJyID0gLUVJTlZBTDsKIAkJZ290 byBlcnJfb3V0OwogCX0KKworCXZidCA9IHZhbGlkYXRlX3ZidChiYXNlICsgT1BSRUdJT05fVkJU X09GRlNFVCwKKwkJCQlNQUlMQk9YXzRfU0laRSwgIk9wUmVnaW9uIik7CisKKwlpZiAodmJ0ID09 IE5VTEwpIHsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBlcnJfb3V0OworCX0KKwogCW9wcmVn aW9uLT5oZWFkZXIgPSBiYXNlOwogCW9wcmVnaW9uLT52YnQgPSBiYXNlICsgT1BSRUdJT05fVkJU X09GRlNFVDsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==