From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/1] drm/i915: Allow parsing of variable size child device entries from VBT Date: Mon, 24 Aug 2015 10:40:39 +0300 Message-ID: <871tetb0co.fsf@intel.com> References: <1c02cc0db18863120520926f45db4c6e320a21b8.1440165040.git.jani.nikula@intel.com> <20150821142428.GD5176@intel.com> 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 9A4496E650 for ; Mon, 24 Aug 2015 00:37:37 -0700 (PDT) In-Reply-To: <20150821142428.GD5176@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMSBBdWcgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gRnJpLCBBdWcgMjEsIDIwMTUgYXQgMDQ6NTI6MDFQTSAr MDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IEZyb206IERhdmlkIFdlaW5laGFsbCA8ZGF2aWQu d2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KPj4gCj4+IFZCVCB2ZXJzaW9uIDE5NiBpbmNyZWFz ZWQgdGhlIHNpemUgb2YgY29tbW9uX2NoaWxkX2Rldl9jb25maWcuIFRoZQo+PiBwYXJzZXIgY29k ZSBhc3N1bWVkIHRoYXQgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgd291bGQgbm90IGNoYW5n ZS4KPj4gCj4+IFRoZSBtb2RpZmllZCBjb2RlIG5vdyBjb3BpZXMgdGhlIGFtb3VudCBuZWVkZWQg YmFzZWQgb24gdGhlIFZCVCB2ZXJzaW9uLAo+PiBhbmQgZW1pdHMgYSBkZWJ1ZyBtZXNzYWdlIGlm IHRoZSBWQlQgdmVyc2lvbiBpcyB1bmtub3duICh0b28gbmV3KTsgc2luY2UKPj4gdGhlIHN0cnVj dCBjb25maWcgYmxvY2sgd29uJ3Qgc2hyaW5rIGluIG5ld2VyIHZlcnNpb25zIGl0IHNob3VsZCBi ZQo+PiBoYXJtbGVzcyB0byBjb3B5IHRoZSBtYXhpbXVtIGtub3duIHNpemUgaW4gc3VjaCBjYXNl cywgc28gdGhhdCdzIHdoYXQgd2UKPj4gZG8sIGJ1dCBlbWl0dGluZyB0aGUgd2FybmluZyBpcyBw cm9iYWJseSBzZW5zaWJsZSBhbnl3YXkuCj4+IAo+PiBJbiB0aGUgbG9uZ2VyIHJ1biBpdCBtaWdo dCBtYWtlIHNlbnNlIHRvIG1vZGlmeSB0aGUgcGFyc2VyIGNvZGUgdG8gdXNlIGEKPj4gdmVyc2lv bi9mZWF0dXJlIG1hcHBpbmcsIHJhdGhlciB0aGFuIGhhcmRjb2RpbmcgdGhpbmdzIGxpa2UgdGhp cywgYnV0Cj4+IGZvciBub3cgdGhlIHZhcmlhbnRzIGFyZSBmYWlybHkgbWFuYWdhYmxlLgo+PiAK Pj4gVGhpcyBmaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBpbgo+PiAKPj4gY29tbWl0IDc1 MDY3ZGRlY2YyMTI3MTYzMWJjMDE4ZDJmYjIzZGRkMDliNjZhYWUKPj4gQXV0aG9yOiBBbnR0aSBL b3NraXBhYSA8YW50dGkua29za2lwYWFAbGludXguaW50ZWwuY29tPgo+PiBEYXRlOiAgIEZyaSBK dWwgMTAgMTQ6MTA6NTUgMjAxNSArMDMwMAo+PiAKPj4gICAgIGRybS9pOTE1OiBQZXItRERJIElf Ym9vc3Qgb3ZlcnJpZGUKPj4gCj4+IHNpbmNlIHRoYXQgY29tbWl0IGNoYW5nZWQgdGhlIGNoaWxk IGRldmljZSBjb25maWcgc2l6ZSB3aXRob3V0IHVwZGF0aW5nCj4+IHRoZSBjaGVja3MgYW5kIG1l bWNweS4KPj4gCj4+IHYyOiBTdHJpY3RlciBzaXplIGNoZWNrcwo+PiAKPj4gdjMgYnkgSmFuaToK Pj4gLSBLZWVwIHRoZSBjaGVja3Mgc3RyaWN0LCBhbmQgd2FybmlnbnMgdmVyYm9zZSwgYnV0IGtl ZXAgZ29pbmcgYW55d2F5Lgo+PiAtIFRha2UgY2FyZSB0byBjb3B5IHRoZSBtYXggYW1vdW50IG9m IGNoaWxkIGRldmljZSBjb25maWcgd2UgY2FuLgo+PiAtIEZpeCB0aGUgbWVzc2FnZXMuCj4+IAo+ PiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5p bnRlbC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRl bC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIHwgMzcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYmlvcy5oIHwgIDYgKysrKy0tCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDM3IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlv cy5jCj4+IGluZGV4IDY0ZTViMTVhZTBiNi4uYmU4M2I3N2FhMDE4IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYmlvcy5jCj4+IEBAIC0xMDUxLDE3ICsxMDUxLDM5IEBAIHBhcnNlX2Rldmlj ZV9tYXBwaW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gIAljb25zdCB1 bmlvbiBjaGlsZF9kZXZpY2VfY29uZmlnICpwX2NoaWxkOwo+PiAgCXVuaW9uIGNoaWxkX2Rldmlj ZV9jb25maWcgKmNoaWxkX2Rldl9wdHI7Cj4+ICAJaW50IGksIGNoaWxkX2RldmljZV9udW0sIGNv dW50Owo+PiAtCXUxNglibG9ja19zaXplOwo+PiArCXU4IGV4cGVjdGVkX3NpemU7Cj4+ICsJdTE2 IGJsb2NrX3NpemU7Cj4+ICAKPj4gIAlwX2RlZnMgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfR0VO RVJBTF9ERUZJTklUSU9OUyk7Cj4+ICAJaWYgKCFwX2RlZnMpIHsKPj4gIAkJRFJNX0RFQlVHX0tN UygiTm8gZ2VuZXJhbCBkZWZpbml0aW9uIGJsb2NrIGlzIGZvdW5kLCBubyBkZXZpY2VzIGRlZmlu ZWQuXG4iKTsKPj4gIAkJcmV0dXJuOwo+PiAgCX0KPj4gLQlpZiAocF9kZWZzLT5jaGlsZF9kZXZf c2l6ZSA8IHNpemVvZigqcF9jaGlsZCkpIHsKPj4gLQkJRFJNX0VSUk9SKCJHZW5lcmFsIGRlZmlu aXRvbiBibG9jayBjaGlsZCBkZXZpY2Ugc2l6ZSBpcyB0b28gc21hbGwuXG4iKTsKPj4gKwlpZiAo YmRiLT52ZXJzaW9uIDwgMTk1KSB7Cj4+ICsJCWV4cGVjdGVkX3NpemUgPSBzaXplb2Yoc3RydWN0 IG9sZF9jaGlsZF9kZXZfY29uZmlnKTsKPj4gKwl9IGVsc2UgaWYgKGJkYi0+dmVyc2lvbiA9PSAx OTUpIHsKPj4gKwkJZXhwZWN0ZWRfc2l6ZSA9IDM3Owo+PiArCX0gZWxzZSBpZiAoYmRiLT52ZXJz aW9uIDw9IDE5Nykgewo+PiArCQlleHBlY3RlZF9zaXplID0gMzg7Cj4+ICsJfSBlbHNlIHsKPj4g KwkJZXhwZWN0ZWRfc2l6ZSA9IDM4Owo+PiArCQlCVUlMRF9CVUdfT04oc2l6ZW9mKCpwX2NoaWxk KSA8IDM4KTsKPj4gKwkJRFJNX0RFQlVHX0RSSVZFUigiRXhwZWN0ZWQgY2hpbGQgZGV2aWNlIGNv bmZpZyBzaXplIGZvciBWQlQgdmVyc2lvbiAldSBub3Qga25vd247IGFzc3VtaW5nICV1XG4iLAo+ PiArCQkJCSBiZGItPnZlcnNpb24sIGV4cGVjdGVkX3NpemUpOwo+PiArCX0KPj4gKwo+PiArCS8q IFRoZSBsZWdhY3kgc2l6ZWQgY2hpbGQgZGV2aWNlIGNvbmZpZyBpcyB0aGUgbWluaW11bSB3ZSBu ZWVkLiAqLwo+PiArCWlmIChwX2RlZnMtPmNoaWxkX2Rldl9zaXplIDwgc2l6ZW9mKHN0cnVjdCBv bGRfY2hpbGRfZGV2X2NvbmZpZykpIHsKPj4gKwkJRFJNX0VSUk9SKCJDaGlsZCBkZXZpY2UgY29u ZmlnIHNpemUgJXUgaXMgdG9vIHNtYWxsLlxuIiwKPj4gKwkJCSAgcF9kZWZzLT5jaGlsZF9kZXZf c2l6ZSk7Cj4+ICAJCXJldHVybjsKPj4gIAl9Cj4+ICsKPj4gKwkvKiBGbGFnIGFuIGVycm9yIGZv ciB1bmV4cGVjdGVkIHNpemUsIGJ1dCBjb250aW51ZSBhbnl3YXkuICovCj4+ICsJaWYgKHBfZGVm cy0+Y2hpbGRfZGV2X3NpemUgIT0gZXhwZWN0ZWRfc2l6ZSkKPj4gKwkJRFJNX0VSUk9SKCJVbmV4 cGVjdGVkIGNoaWxkIGRldmljZSBjb25maWcgc2l6ZSAldSAoZXhwZWN0ZWQgJXUgZm9yIFZCVCB2 ZXJzaW9uICV1KVxuIiwKPj4gKwkJCSAgcF9kZWZzLT5jaGlsZF9kZXZfc2l6ZSwgZXhwZWN0ZWRf c2l6ZSwgYmRiLT52ZXJzaW9uKTsKPj4gKwo+PiAgCS8qIGdldCB0aGUgYmxvY2sgc2l6ZSBvZiBn ZW5lcmFsIGRlZmluaXRpb25zICovCj4+ICAJYmxvY2tfc2l6ZSA9IGdldF9ibG9ja3NpemUocF9k ZWZzKTsKPj4gIAkvKiBnZXQgdGhlIG51bWJlciBvZiBjaGlsZCBkZXZpY2UgKi8KPj4gQEAgLTEx MDYsNyArMTEyOCwxNCBAQCBwYXJzZV9kZXZpY2VfbWFwcGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4+ICAKPj4gIAkJY2hpbGRfZGV2X3B0ciA9IGRldl9wcml2LT52YnQu Y2hpbGRfZGV2ICsgY291bnQ7Cj4+ICAJCWNvdW50Kys7Cj4+IC0JCW1lbWNweShjaGlsZF9kZXZf cHRyLCBwX2NoaWxkLCBzaXplb2YoKnBfY2hpbGQpKTsKPj4gKwo+PiArCQkvKgo+PiArCQkgKiBD b3B5IGFzIG11Y2ggYXMgd2Uga25vdyAoc2l6ZW9mKSBhbmQgaXMgYXZhaWxhYmxlCj4+ICsJCSAq IChjaGlsZF9kZXZfc2l6ZSkgb2YgdGhlIGNoaWxkIGRldmljZS4gQWNjZXNzaW5nIHRoZSBkYXRh IG11c3QKPj4gKwkJICogZGVwZW5kIG9uIFZCVCB2ZXJzaW9uLgo+PiArCQkgKi8KPj4gKwkJbWVt Y3B5KGNoaWxkX2Rldl9wdHIsIHBfY2hpbGQsCj4+ICsJCSAgICAgICBtaW5fdChzaXplX3QsIHBf ZGVmcy0+Y2hpbGRfZGV2X3NpemUsIHNpemVvZigqcF9jaGlsZCkpKTsKPgo+IExvb2tzIGdvb2Qu IENvdWxkIG1heWJlIHVzZSBhCj4gQlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3Qgb2xkX2NoaWxk X2Rldl9jb25maWcpICE9IDMzKQo+IHNvbWV3aGVyZSB0byBtYWtlIHN1cmUgcGVvcGxlIGRvbid0 IG1ha2UgYSBtZXNzIG9mIHRoaW5ncy4KPgo+IFJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKUHVzaGVkIHRvIGRybS1pbnRlbC1uZXh0 LWZpeGVzLCB0aGFua3MgZm9yIHRoZSByZXZpZXcuCgpCUiwKSmFuaS4KCgo+Cj4+ICAJfQo+PiAg CXJldHVybjsKPj4gIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Jpb3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaAo+PiBpbmRleCA2ZDkw OWVmYmY0M2YuLjA2ZDBkYmRlMmJlNiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYmlvcy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3Mu aAo+PiBAQCAtMjAzLDkgKzIwMywxMSBAQCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZmVhdHVyZXMgewo+ PiAgI2RlZmluZSBERVZJQ0VfUE9SVF9EVk9CCTB4MDEKPj4gICNkZWZpbmUgREVWSUNFX1BPUlRf RFZPQwkweDAyCj4+ICAKPj4gLS8qIFdlIHVzZWQgdG8ga2VlcCB0aGlzIHN0cnVjdCBidXQgd2l0 aG91dCBhbnkgdmVyc2lvbiBjb250cm9sLiBXZSBzaG91bGQgYXZvaWQKPj4gKy8qCj4+ICsgKiBX ZSB1c2VkIHRvIGtlZXAgdGhpcyBzdHJ1Y3QgYnV0IHdpdGhvdXQgYW55IHZlcnNpb24gY29udHJv bC4gV2Ugc2hvdWxkIGF2b2lkCj4+ICAgKiB1c2luZyBpdCBpbiB0aGUgZnV0dXJlLCBidXQgaXQg c2hvdWxkIGJlIHNhZmUgdG8ga2VlcCB1c2luZyBpdCBpbiB0aGUgb2xkCj4+IC0gKiBjb2RlLiAq Lwo+PiArICogY29kZS4gRG8gbm90IGNoYW5nZTsgd2UgcmVseSBvbiBpdHMgc2l6ZS4KPj4gKyAq Lwo+PiAgc3RydWN0IG9sZF9jaGlsZF9kZXZfY29uZmlnIHsKPj4gIAl1MTYgaGFuZGxlOwo+PiAg CXUxNiBkZXZpY2VfdHlwZTsKPj4gLS0gCj4+IDIuMS40Cj4KPiAtLSAKPiBWaWxsZSBTeXJqw6Rs w6QKPiBJbnRlbCBPVEMKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5v bG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK