From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 05/15] drm/i915/bios: abstract finding the panel sequence block Date: Tue, 05 Jan 2016 14:45:00 +0200 Message-ID: <878u442o1f.fsf@intel.com> References: <20160105105320.GZ8076@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id EF6C76E198 for ; Tue, 5 Jan 2016 04:45:03 -0800 (PST) In-Reply-To: <20160105105320.GZ8076@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Deepak M , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwNSBKYW4gMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBNb24sIERlYyAyMSwgMjAxNSBhdCAwMzoxMDo1NlBNICswMjAwLCBKYW5pIE5pa3Vs YSB3cm90ZToKPj4gTWFrZSB0aGUgd2hvbGUgdGhpbmcgZWFzaWVyIHRvIHJlYWQuCj4+IAo+PiBT aWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+PiAtLS0K Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyB8IDc2ICsrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlv bnMoKyksIDM0IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+ PiBpbmRleCA3MzkzNTk2ZGYzN2QuLjk1MTFhNTM0MTU2MiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Jpb3MuYwo+PiBAQCAtNjk3LDcgKzY5Nyw3IEBAIHBhcnNlX3BzcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGIpCj4+ ICAJZGV2X3ByaXYtPnZidC5wc3IudHAyX3RwM193YWtldXBfdGltZSA9IHBzcl90YWJsZS0+dHAy X3RwM193YWtldXBfdGltZTsKPj4gIH0KPj4gIAo+PiAtc3RhdGljIHU4ICpnb3RvX25leHRfc2Vx dWVuY2UodTggKmRhdGEsIGludCAqc2l6ZSkKPj4gK3N0YXRpYyB1OCAqZ290b19uZXh0X3NlcXVl bmNlKHU4ICpkYXRhLCB1MTYgKnNpemUpCj4+ICB7Cj4+ICAJdTE2IGxlbjsKPj4gIAlpbnQgdG1w ID0gKnNpemU7Cj4+IEBAIC04MTgsMTUgKzgxOCw1MiBAQCBwYXJzZV9taXBpX2NvbmZpZyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJZGV2X3ByaXYtPnZidC5kc2kucGFu ZWxfaWQgPSBNSVBJX0RTSV9HRU5FUklDX1BBTkVMX0lEOwo+PiAgfQo+PiAgCj4+ICsvKiBGaW5k IHRoZSBzZXF1ZW5jZSBibG9jayBhbmQgc2l6ZSBmb3IgdGhlIGdpdmVuIHBhbmVsLiAqLwo+PiAr c3RhdGljIGNvbnN0IHU4ICoKPj4gK2ZpbmRfcGFuZWxfc2VxdWVuY2VfYmxvY2soY29uc3Qgc3Ry dWN0IGJkYl9taXBpX3NlcXVlbmNlICpzZXF1ZW5jZSwKPj4gKwkJCSAgdTE2IHBhbmVsX2lkLCB1 MTYgKnNlcV9zaXplKQo+PiArewo+PiArCXUzMiB0b3RhbCA9IGdldF9ibG9ja3NpemUoc2VxdWVu Y2UpOwo+PiArCWNvbnN0IHU4ICpkYXRhID0gJnNlcXVlbmNlLT5kYXRhWzBdOwo+PiArCXU4IGN1 cnJlbnRfaWQ7Cj4+ICsJdTE2IGN1cnJlbnRfc2l6ZTsKPj4gKwlpbnQgaW5kZXggPSAwOwo+PiAr CWludCBpOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IE1BWF9NSVBJX0NPTkZJR1VSQVRJT05T ICYmIGluZGV4ICsgMyA8IHRvdGFsOyBpKyspIHsKPgo+IENvbW1pdCBtZXNzYWdlIHNob3VsZCBt ZW50aW9uIHRoYXQgeW91IG1ha2UgdGhlIHBhcnNpbiBtb3JlIHJvYnVzdCBhbmQKPiBlbnN1cmUg d2UgZG9uJ3Qgd2FsayBvdmVyIHRoZSBlbmQgb2YgdGhlIGFsbG9jYXRlZCBidWZmZXIuCgpBZ3Jl ZWQuIEFsdGhvdWdoIGl0J3MgaW1wbGllZCBpbiB0aGUgU2lnbmVkLW9mZi1ieSBsaW5lLiA7KQoK Pgo+PiArCQljdXJyZW50X2lkID0gKihkYXRhICsgaW5kZXgpOwo+PiArCQlpbmRleCsrOwo+PiAr Cj4+ICsJCWN1cnJlbnRfc2l6ZSA9ICooKGNvbnN0IHUxNiAqKShkYXRhICsgaW5kZXgpKTsKPj4g KwkJaW5kZXggKz0gMjsKPj4gKwo+PiArCQlpZiAoaW5kZXggKyBjdXJyZW50X3NpemUgPiB0b3Rh bCkgewo+PiArCQkJRFJNX0VSUk9SKCJJbnZhbGlkIHNlcXVlbmNlIGJsb2NrXG4iKTsKPj4gKwkJ CXJldHVybiBOVUxMOwo+PiArCQl9Cj4+ICsKPj4gKwkJaWYgKGN1cnJlbnRfaWQgPT0gcGFuZWxf aWQpIHsKPj4gKwkJCSpzZXFfc2l6ZSA9IGN1cnJlbnRfc2l6ZTsKPj4gKwkJCXJldHVybiBkYXRh ICsgaW5kZXg7Cj4+ICsJCX0KPj4gKwo+PiArCQlpbmRleCArPSBjdXJyZW50X3NpemU7Cj4+ICsJ fQo+PiArCj4+ICsJRFJNX0VSUk9SKCJTZXF1ZW5jZSBibG9jayBkZXRlY3RlZCBidXQgbm8gdmFs aWQgY29uZmlndXJhdGlvblxuIik7Cj4+ICsKPj4gKwlyZXR1cm4gTlVMTDsKPj4gK30KPj4gKwo+ PiAgc3RhdGljIHZvaWQKPj4gIHBhcnNlX21pcGlfc2VxdWVuY2Uoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+PiAgCQkgICAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikK Pj4gIHsKPj4gIAljb25zdCBzdHJ1Y3QgYmRiX21pcGlfc2VxdWVuY2UgKnNlcXVlbmNlOwo+PiAg CWNvbnN0IHU4ICpzZXFfZGF0YTsKPj4gKwl1MTYgc2VxX3NpemU7Cj4+ICAJdTggKmRhdGE7Cj4+ ICAJdTE2IGJsb2NrX3NpemU7Cj4+IC0JaW50IGksIHBhbmVsX2lkLCBzZXFfc2l6ZTsKPj4gIAo+ PiAgCS8qIE9ubHkgb3VyIGdlbmVyaWMgcGFuZWwgZHJpdmVyIHVzZXMgdGhlIHNlcXVlbmNlIGJs b2NrLiAqLwo+PiAgCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5wYW5lbF9pZCAhPSBNSVBJX0RTSV9H RU5FUklDX1BBTkVMX0lEKQo+PiBAQCAtODUzLDQwICs4OTAsMTEgQEAgcGFyc2VfbWlwaV9zZXF1 ZW5jZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJICovCj4+ICAJZGV2 X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPSBzZXF1ZW5jZS0+dmVyc2lvbjsKPj4gIAo+PiAt CXNlcV9kYXRhID0gJnNlcXVlbmNlLT5kYXRhWzBdOwo+PiAtCj4+IC0JLyoKPj4gLQkgKiBzZXF1 ZW5jZSBibG9jayBpcyB2YXJpYWJsZSBsZW5ndGggYW5kIGhlbmNlIHdlIG5lZWQgdG8gcGFyc2Ug YW5kCj4+IC0JICogZ2V0IHRoZSBzZXF1ZW5jZSBkYXRhIGZvciBzcGVjaWZpYyBwYW5lbCBpZAo+ PiAtCSAqLwo+PiAtCWZvciAoaSA9IDA7IGkgPCBNQVhfTUlQSV9DT05GSUdVUkFUSU9OUzsgaSsr KSB7Cj4+IC0JCXBhbmVsX2lkID0gKnNlcV9kYXRhOwo+PiAtCQlzZXFfc2l6ZSA9ICooKHUxNiAq KSAoc2VxX2RhdGEgKyAxKSk7Cj4+IC0JCWlmIChwYW5lbF9pZCA9PSBwYW5lbF90eXBlKQo+PiAt CQkJYnJlYWs7Cj4+IC0KPj4gLQkJLyogc2tpcCB0aGUgc2VxdWVuY2UgaW5jbHVkaW5nIHNlcSBo ZWFkZXIgb2YgMyBieXRlcyAqLwo+PiAtCQlzZXFfZGF0YSA9IHNlcV9kYXRhICsgMyArIHNlcV9z aXplOwo+PiAtCQlpZiAoKHNlcV9kYXRhIC0gJnNlcXVlbmNlLT5kYXRhWzBdKSA+IGJsb2NrX3Np emUpIHsKPj4gLQkJCURSTV9FUlJPUigiU2VxdWVuY2Ugc3RhcnQgaXMgYmV5b25kIHNlcXVlbmNl IGJsb2NrIHNpemUsIGNvcnJ1cHRlZCBzZXF1ZW5jZSBibG9ja1xuIik7Cj4+IC0JCQlyZXR1cm47 Cj4+IC0JCX0KPj4gLQl9Cj4+IC0KPj4gLQlpZiAoaSA9PSBNQVhfTUlQSV9DT05GSUdVUkFUSU9O Uykgewo+PiAtCQlEUk1fRVJST1IoIlNlcXVlbmNlIGJsb2NrIGRldGVjdGVkIGJ1dCBubyB2YWxp ZCBjb25maWd1cmF0aW9uXG4iKTsKPj4gKwlzZXFfZGF0YSA9IGZpbmRfcGFuZWxfc2VxdWVuY2Vf YmxvY2soc2VxdWVuY2UsIHBhbmVsX3R5cGUsICZzZXFfc2l6ZSk7Cj4+ICsJaWYgKCFzZXFfZGF0 YSkKPj4gIAkJcmV0dXJuOwo+PiAtCX0KPj4gLQo+PiAtCS8qIGNoZWNrIGlmIGZvdW5kIHNlcXVl bmNlIGlzIGNvbXBsZXRlbHkgd2l0aGluIHRoZSBzZXF1ZW5jZSBibG9jawo+PiAtCSAqIGp1c3Qg YmVpbmcgcGFyYW5vaWQgKi8KPj4gLQlpZiAoc2VxX3NpemUgPiBibG9ja19zaXplKSB7Cj4+IC0J CURSTV9FUlJPUigiQ29ycnVwdGVkIHNlcXVlbmNlL3NpemUsIGJhaWxpbmcgb3V0XG4iKTsKPj4g LQkJcmV0dXJuOwo+PiAtCX0KPj4gIAo+PiAtCS8qIHNraXAgdGhlIHBhbmVsIGlkKDEgYnl0ZSkg YW5kIHNlcSBzaXplKDIgYnl0ZXMpICovCj4+IC0JZGV2X3ByaXYtPnZidC5kc2kuZGF0YSA9IGtt ZW1kdXAoc2VxX2RhdGEgKyAzLCBzZXFfc2l6ZSwgR0ZQX0tFUk5FTCk7Cj4+ICsJZGV2X3ByaXYt PnZidC5kc2kuZGF0YSA9IGttZW1kdXAoc2VxX2RhdGEsIHNlcV9zaXplLCBHRlBfS0VSTkVMKTsK Pgo+IFNob3VsZCBkcm9wcGluZyB0aGUgKzMgYmUgaW4gYSBzZXBhcmF0ZSBwYXRjaD8KClJlYWxs eSBJJ2QgcmF0aGVyIG5vdCBpZiB5b3UgZG9uJ3QgbWluZC4gVGhlIGVuZCByZXN1bHQgaXMgdGhl IHNhbWUsIGJ1dApJJ2QgaGF2ZSB0byB0aGluayB0aGUgZnVuY3Rpb24gb3ZlciBhZ2FpbiBqdXN0 IHRvIGFkZCBhIHRocm93YXdheQppbnRlcm1lZGlhdGUgc3RlcC4gVW5sZXNzIEkganVzdCByZXBs YWNlIHRoZSByZXR1cm4gc3RhdGVtZW50IHdpdGgKInJldHVybiBkYXRhICsgaW5kZXggLSAzIiB3 aGljaCB3b3VsZCBmZWVsIGEgYml0IHNpbGx5LCBkb24ndCB5b3UgdGhpbms/CgpCUiwKSmFuaS4K Cj4KPiBPdGhlcndpc2UgbG9va3MgZ29vZCwgd2l0aCB0aGUgYWJvdmUgMiBhZGRyZXNzZWQKPgo+ IFJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+Cj4+ ICAJaWYgKCFkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhKQo+PiAgCQlyZXR1cm47Cj4+ICAKPj4gLS0g Cj4+IDIuMS40Cj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9s b2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=