From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH 05/15] drm/i915/bios: abstract finding the panel sequence block Date: Mon, 21 Dec 2015 15:10:56 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 48E806E410 for ; Mon, 21 Dec 2015 05:11:20 -0800 (PST) In-Reply-To: In-Reply-To: References: 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: jani.nikula@intel.com, Deepak M List-Id: intel-gfx@lists.freedesktop.org TWFrZSB0aGUgd2hvbGUgdGhpbmcgZWFzaWVyIHRvIHJlYWQuCgpTaWduZWQtb2ZmLWJ5OiBKYW5p IE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Jpb3MuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Jpb3MuYwppbmRleCA3MzkzNTk2ZGYzN2QuLjk1MTFhNTM0MTU2MiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwpAQCAtNjk3LDcgKzY5Nyw3IEBAIHBhcnNlX3Bz cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IHN0cnVjdCBiZGJfaGVh ZGVyICpiZGIpCiAJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZSA9IHBzcl90 YWJsZS0+dHAyX3RwM193YWtldXBfdGltZTsKIH0KIAotc3RhdGljIHU4ICpnb3RvX25leHRfc2Vx dWVuY2UodTggKmRhdGEsIGludCAqc2l6ZSkKK3N0YXRpYyB1OCAqZ290b19uZXh0X3NlcXVlbmNl KHU4ICpkYXRhLCB1MTYgKnNpemUpCiB7CiAJdTE2IGxlbjsKIAlpbnQgdG1wID0gKnNpemU7CkBA IC04MTgsMTUgKzgxOCw1MiBAQCBwYXJzZV9taXBpX2NvbmZpZyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJZGV2X3ByaXYtPnZidC5kc2kucGFuZWxfaWQgPSBNSVBJX0RTSV9H RU5FUklDX1BBTkVMX0lEOwogfQogCisvKiBGaW5kIHRoZSBzZXF1ZW5jZSBibG9jayBhbmQgc2l6 ZSBmb3IgdGhlIGdpdmVuIHBhbmVsLiAqLworc3RhdGljIGNvbnN0IHU4ICoKK2ZpbmRfcGFuZWxf c2VxdWVuY2VfYmxvY2soY29uc3Qgc3RydWN0IGJkYl9taXBpX3NlcXVlbmNlICpzZXF1ZW5jZSwK KwkJCSAgdTE2IHBhbmVsX2lkLCB1MTYgKnNlcV9zaXplKQoreworCXUzMiB0b3RhbCA9IGdldF9i bG9ja3NpemUoc2VxdWVuY2UpOworCWNvbnN0IHU4ICpkYXRhID0gJnNlcXVlbmNlLT5kYXRhWzBd OworCXU4IGN1cnJlbnRfaWQ7CisJdTE2IGN1cnJlbnRfc2l6ZTsKKwlpbnQgaW5kZXggPSAwOwor CWludCBpOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9NSVBJX0NPTkZJR1VSQVRJT05TICYmIGlu ZGV4ICsgMyA8IHRvdGFsOyBpKyspIHsKKwkJY3VycmVudF9pZCA9ICooZGF0YSArIGluZGV4KTsK KwkJaW5kZXgrKzsKKworCQljdXJyZW50X3NpemUgPSAqKChjb25zdCB1MTYgKikoZGF0YSArIGlu ZGV4KSk7CisJCWluZGV4ICs9IDI7CisKKwkJaWYgKGluZGV4ICsgY3VycmVudF9zaXplID4gdG90 YWwpIHsKKwkJCURSTV9FUlJPUigiSW52YWxpZCBzZXF1ZW5jZSBibG9ja1xuIik7CisJCQlyZXR1 cm4gTlVMTDsKKwkJfQorCisJCWlmIChjdXJyZW50X2lkID09IHBhbmVsX2lkKSB7CisJCQkqc2Vx X3NpemUgPSBjdXJyZW50X3NpemU7CisJCQlyZXR1cm4gZGF0YSArIGluZGV4OworCQl9CisKKwkJ aW5kZXggKz0gY3VycmVudF9zaXplOworCX0KKworCURSTV9FUlJPUigiU2VxdWVuY2UgYmxvY2sg ZGV0ZWN0ZWQgYnV0IG5vIHZhbGlkIGNvbmZpZ3VyYXRpb25cbiIpOworCisJcmV0dXJuIE5VTEw7 Cit9CisKIHN0YXRpYyB2b2lkCiBwYXJzZV9taXBpX3NlcXVlbmNlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJICAgIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCiB7 CiAJY29uc3Qgc3RydWN0IGJkYl9taXBpX3NlcXVlbmNlICpzZXF1ZW5jZTsKIAljb25zdCB1OCAq c2VxX2RhdGE7CisJdTE2IHNlcV9zaXplOwogCXU4ICpkYXRhOwogCXUxNiBibG9ja19zaXplOwot CWludCBpLCBwYW5lbF9pZCwgc2VxX3NpemU7CiAKIAkvKiBPbmx5IG91ciBnZW5lcmljIHBhbmVs IGRyaXZlciB1c2VzIHRoZSBzZXF1ZW5jZSBibG9jay4gKi8KIAlpZiAoZGV2X3ByaXYtPnZidC5k c2kucGFuZWxfaWQgIT0gTUlQSV9EU0lfR0VORVJJQ19QQU5FTF9JRCkKQEAgLTg1Myw0MCArODkw LDExIEBAIHBhcnNlX21pcGlfc2VxdWVuY2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCSAqLwogCWRldl9wcml2LT52YnQuZHNpLnNlcV92ZXJzaW9uID0gc2VxdWVuY2UtPnZl cnNpb247CiAKLQlzZXFfZGF0YSA9ICZzZXF1ZW5jZS0+ZGF0YVswXTsKLQotCS8qCi0JICogc2Vx dWVuY2UgYmxvY2sgaXMgdmFyaWFibGUgbGVuZ3RoIGFuZCBoZW5jZSB3ZSBuZWVkIHRvIHBhcnNl IGFuZAotCSAqIGdldCB0aGUgc2VxdWVuY2UgZGF0YSBmb3Igc3BlY2lmaWMgcGFuZWwgaWQKLQkg Ki8KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX01JUElfQ09ORklHVVJBVElPTlM7IGkrKykgewotCQlw YW5lbF9pZCA9ICpzZXFfZGF0YTsKLQkJc2VxX3NpemUgPSAqKCh1MTYgKikgKHNlcV9kYXRhICsg MSkpOwotCQlpZiAocGFuZWxfaWQgPT0gcGFuZWxfdHlwZSkKLQkJCWJyZWFrOwotCi0JCS8qIHNr aXAgdGhlIHNlcXVlbmNlIGluY2x1ZGluZyBzZXEgaGVhZGVyIG9mIDMgYnl0ZXMgKi8KLQkJc2Vx X2RhdGEgPSBzZXFfZGF0YSArIDMgKyBzZXFfc2l6ZTsKLQkJaWYgKChzZXFfZGF0YSAtICZzZXF1 ZW5jZS0+ZGF0YVswXSkgPiBibG9ja19zaXplKSB7Ci0JCQlEUk1fRVJST1IoIlNlcXVlbmNlIHN0 YXJ0IGlzIGJleW9uZCBzZXF1ZW5jZSBibG9jayBzaXplLCBjb3JydXB0ZWQgc2VxdWVuY2UgYmxv Y2tcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0JfQotCi0JaWYgKGkgPT0gTUFYX01JUElfQ09ORklH VVJBVElPTlMpIHsKLQkJRFJNX0VSUk9SKCJTZXF1ZW5jZSBibG9jayBkZXRlY3RlZCBidXQgbm8g dmFsaWQgY29uZmlndXJhdGlvblxuIik7CisJc2VxX2RhdGEgPSBmaW5kX3BhbmVsX3NlcXVlbmNl X2Jsb2NrKHNlcXVlbmNlLCBwYW5lbF90eXBlLCAmc2VxX3NpemUpOworCWlmICghc2VxX2RhdGEp CiAJCXJldHVybjsKLQl9Ci0KLQkvKiBjaGVjayBpZiBmb3VuZCBzZXF1ZW5jZSBpcyBjb21wbGV0 ZWx5IHdpdGhpbiB0aGUgc2VxdWVuY2UgYmxvY2sKLQkgKiBqdXN0IGJlaW5nIHBhcmFub2lkICov Ci0JaWYgKHNlcV9zaXplID4gYmxvY2tfc2l6ZSkgewotCQlEUk1fRVJST1IoIkNvcnJ1cHRlZCBz ZXF1ZW5jZS9zaXplLCBiYWlsaW5nIG91dFxuIik7Ci0JCXJldHVybjsKLQl9CiAKLQkvKiBza2lw IHRoZSBwYW5lbCBpZCgxIGJ5dGUpIGFuZCBzZXEgc2l6ZSgyIGJ5dGVzKSAqLwotCWRldl9wcml2 LT52YnQuZHNpLmRhdGEgPSBrbWVtZHVwKHNlcV9kYXRhICsgMywgc2VxX3NpemUsIEdGUF9LRVJO RUwpOworCWRldl9wcml2LT52YnQuZHNpLmRhdGEgPSBrbWVtZHVwKHNlcV9kYXRhLCBzZXFfc2l6 ZSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhKQogCQlyZXR1cm47 CiAKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=