From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v2] drm/i915/bios: abstract finding the panel sequence block Date: Tue, 5 Jan 2016 15:50:51 +0200 Message-ID: <1452001851-8967-1-git-send-email-jani.nikula@intel.com> References: 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 9BE9D6E561 for ; Tue, 5 Jan 2016 05:50:53 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org Cc: Deepak M List-Id: intel-gfx@lists.freedesktop.org TWFrZSB0aGUgd2hvbGUgdGhpbmcgZWFzaWVyIHRvIHJlYWQuIFdoaWxlIGF0IGl0LCBtYWtlIHRo ZSBwYXJzaW5nIG1vcmUKcm9idXN0LCBhbmQgZW5zdXJlIHdlIGRvbid0IHJlYWQgcGFzdCBidWZm ZXIgYmVpbmcgcGFyc2VkLgoKdjI6IGltcHJvdmUgY29tbWl0IG1lc3NhZ2UgKERhbmllbCkKClNp Z25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIHwgNzYgKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMzQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlv cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCmluZGV4IDk2MWFlN2Y2ZDA3 NS4uNDIyYmE3NjcwMGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9i aW9zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCkBAIC02OTcsNyAr Njk3LDcgQEAgcGFyc2VfcHNyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29u c3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIAlkZXZfcHJpdi0+dmJ0LnBzci50cDJfdHAzX3dh a2V1cF90aW1lID0gcHNyX3RhYmxlLT50cDJfdHAzX3dha2V1cF90aW1lOwogfQogCi1zdGF0aWMg dTggKmdvdG9fbmV4dF9zZXF1ZW5jZSh1OCAqZGF0YSwgaW50ICpzaXplKQorc3RhdGljIHU4ICpn b3RvX25leHRfc2VxdWVuY2UodTggKmRhdGEsIHUxNiAqc2l6ZSkKIHsKIAl1MTYgbGVuOwogCWlu dCB0bXAgPSAqc2l6ZTsKQEAgLTgxOCwxNSArODE4LDUyIEBAIHBhcnNlX21pcGlfY29uZmlnKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlkZXZfcHJpdi0+dmJ0LmRzaS5wYW5l bF9pZCA9IE1JUElfRFNJX0dFTkVSSUNfUEFORUxfSUQ7CiB9CiAKKy8qIEZpbmQgdGhlIHNlcXVl bmNlIGJsb2NrIGFuZCBzaXplIGZvciB0aGUgZ2l2ZW4gcGFuZWwuICovCitzdGF0aWMgY29uc3Qg dTggKgorZmluZF9wYW5lbF9zZXF1ZW5jZV9ibG9jayhjb25zdCBzdHJ1Y3QgYmRiX21pcGlfc2Vx dWVuY2UgKnNlcXVlbmNlLAorCQkJICB1MTYgcGFuZWxfaWQsIHUxNiAqc2VxX3NpemUpCit7CisJ dTMyIHRvdGFsID0gZ2V0X2Jsb2Nrc2l6ZShzZXF1ZW5jZSk7CisJY29uc3QgdTggKmRhdGEgPSAm c2VxdWVuY2UtPmRhdGFbMF07CisJdTggY3VycmVudF9pZDsKKwl1MTYgY3VycmVudF9zaXplOwor CWludCBpbmRleCA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX01JUElfQ09O RklHVVJBVElPTlMgJiYgaW5kZXggKyAzIDwgdG90YWw7IGkrKykgeworCQljdXJyZW50X2lkID0g KihkYXRhICsgaW5kZXgpOworCQlpbmRleCsrOworCisJCWN1cnJlbnRfc2l6ZSA9ICooKGNvbnN0 IHUxNiAqKShkYXRhICsgaW5kZXgpKTsKKwkJaW5kZXggKz0gMjsKKworCQlpZiAoaW5kZXggKyBj dXJyZW50X3NpemUgPiB0b3RhbCkgeworCQkJRFJNX0VSUk9SKCJJbnZhbGlkIHNlcXVlbmNlIGJs b2NrXG4iKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisKKwkJaWYgKGN1cnJlbnRfaWQgPT0gcGFu ZWxfaWQpIHsKKwkJCSpzZXFfc2l6ZSA9IGN1cnJlbnRfc2l6ZTsKKwkJCXJldHVybiBkYXRhICsg aW5kZXg7CisJCX0KKworCQlpbmRleCArPSBjdXJyZW50X3NpemU7CisJfQorCisJRFJNX0VSUk9S KCJTZXF1ZW5jZSBibG9jayBkZXRlY3RlZCBidXQgbm8gdmFsaWQgY29uZmlndXJhdGlvblxuIik7 CisKKwlyZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQKIHBhcnNlX21pcGlfc2VxdWVuY2Uo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkgICAgY29uc3Qgc3RydWN0IGJk Yl9oZWFkZXIgKmJkYikKIHsKIAljb25zdCBzdHJ1Y3QgYmRiX21pcGlfc2VxdWVuY2UgKnNlcXVl bmNlOwogCWNvbnN0IHU4ICpzZXFfZGF0YTsKKwl1MTYgc2VxX3NpemU7CiAJdTggKmRhdGE7CiAJ dTE2IGJsb2NrX3NpemU7Ci0JaW50IGksIHBhbmVsX2lkLCBzZXFfc2l6ZTsKIAogCS8qIE9ubHkg b3VyIGdlbmVyaWMgcGFuZWwgZHJpdmVyIHVzZXMgdGhlIHNlcXVlbmNlIGJsb2NrLiAqLwogCWlm IChkZXZfcHJpdi0+dmJ0LmRzaS5wYW5lbF9pZCAhPSBNSVBJX0RTSV9HRU5FUklDX1BBTkVMX0lE KQpAQCAtODUzLDQwICs4OTAsMTEgQEAgcGFyc2VfbWlwaV9zZXF1ZW5jZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICovCiAJZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNp b24gPSBzZXF1ZW5jZS0+dmVyc2lvbjsKIAotCXNlcV9kYXRhID0gJnNlcXVlbmNlLT5kYXRhWzBd OwotCi0JLyoKLQkgKiBzZXF1ZW5jZSBibG9jayBpcyB2YXJpYWJsZSBsZW5ndGggYW5kIGhlbmNl IHdlIG5lZWQgdG8gcGFyc2UgYW5kCi0JICogZ2V0IHRoZSBzZXF1ZW5jZSBkYXRhIGZvciBzcGVj aWZpYyBwYW5lbCBpZAotCSAqLwotCWZvciAoaSA9IDA7IGkgPCBNQVhfTUlQSV9DT05GSUdVUkFU SU9OUzsgaSsrKSB7Ci0JCXBhbmVsX2lkID0gKnNlcV9kYXRhOwotCQlzZXFfc2l6ZSA9ICooKHUx NiAqKSAoc2VxX2RhdGEgKyAxKSk7Ci0JCWlmIChwYW5lbF9pZCA9PSBwYW5lbF90eXBlKQotCQkJ YnJlYWs7Ci0KLQkJLyogc2tpcCB0aGUgc2VxdWVuY2UgaW5jbHVkaW5nIHNlcSBoZWFkZXIgb2Yg MyBieXRlcyAqLwotCQlzZXFfZGF0YSA9IHNlcV9kYXRhICsgMyArIHNlcV9zaXplOwotCQlpZiAo KHNlcV9kYXRhIC0gJnNlcXVlbmNlLT5kYXRhWzBdKSA+IGJsb2NrX3NpemUpIHsKLQkJCURSTV9F UlJPUigiU2VxdWVuY2Ugc3RhcnQgaXMgYmV5b25kIHNlcXVlbmNlIGJsb2NrIHNpemUsIGNvcnJ1 cHRlZCBzZXF1ZW5jZSBibG9ja1xuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQl9Ci0KLQlpZiAoaSA9 PSBNQVhfTUlQSV9DT05GSUdVUkFUSU9OUykgewotCQlEUk1fRVJST1IoIlNlcXVlbmNlIGJsb2Nr IGRldGVjdGVkIGJ1dCBubyB2YWxpZCBjb25maWd1cmF0aW9uXG4iKTsKKwlzZXFfZGF0YSA9IGZp bmRfcGFuZWxfc2VxdWVuY2VfYmxvY2soc2VxdWVuY2UsIHBhbmVsX3R5cGUsICZzZXFfc2l6ZSk7 CisJaWYgKCFzZXFfZGF0YSkKIAkJcmV0dXJuOwotCX0KLQotCS8qIGNoZWNrIGlmIGZvdW5kIHNl cXVlbmNlIGlzIGNvbXBsZXRlbHkgd2l0aGluIHRoZSBzZXF1ZW5jZSBibG9jawotCSAqIGp1c3Qg YmVpbmcgcGFyYW5vaWQgKi8KLQlpZiAoc2VxX3NpemUgPiBibG9ja19zaXplKSB7Ci0JCURSTV9F UlJPUigiQ29ycnVwdGVkIHNlcXVlbmNlL3NpemUsIGJhaWxpbmcgb3V0XG4iKTsKLQkJcmV0dXJu OwotCX0KIAotCS8qIHNraXAgdGhlIHBhbmVsIGlkKDEgYnl0ZSkgYW5kIHNlcSBzaXplKDIgYnl0 ZXMpICovCi0JZGV2X3ByaXYtPnZidC5kc2kuZGF0YSA9IGttZW1kdXAoc2VxX2RhdGEgKyAzLCBz ZXFfc2l6ZSwgR0ZQX0tFUk5FTCk7CisJZGV2X3ByaXYtPnZidC5kc2kuZGF0YSA9IGttZW1kdXAo c2VxX2RhdGEsIHNlcV9zaXplLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWRldl9wcml2LT52YnQuZHNp LmRhdGEpCiAJCXJldHVybjsKIAotLSAKMi4xLjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==