From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/11] drm/i915: refactor VBT validation Date: Mon, 14 Dec 2015 16:42:36 +0200 Message-ID: <20151214144236.GM4437@intel.com> References: <068ea5809a2ebe1e79aef85bc91d05ef69041f1d.1450089383.git.jani.nikula@intel.com> <20151214134141.GI4437@intel.com> <87oadtt7xx.fsf@intel.com> 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 2BCFC6E11C for ; Mon, 14 Dec 2015 06:43:46 -0800 (PST) Content-Disposition: inline In-Reply-To: <87oadtt7xx.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Deepak M , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBEZWMgMTQsIDIwMTUgYXQgMDQ6MzQ6NTBQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gTW9uLCAxNCBEZWMgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBNb24sIERlYyAxNCwgMjAxNSBhdCAxMjo1 MDo1MFBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+PiBNYWtlIHRoZSB2YWxpZGF0aW9u IGZ1bmN0aW9uIGEgYm9vbGVhbiBvcGVyYXRpbmcgb24gYSBidWZmZXIgb2YgZ2l2ZW4KPiA+PiBz aXplLCByZW1vdmluZyB0aGUgZXh0cmEgcG9pbnRlciBkYW5jZXMuCj4gPj4gCj4gPj4gTW92ZSB0 aGUgT3BSZWdpb24gYmFzZWQgVkJUIHZhbGlkYXRpb24gdG8gaW50ZWxfb3ByZWdpb25fc2V0dXAo KSwgb25seQo+ID4+IGluaXRpYWxpemluZyBvcHJlZ2lvbi0+dmJ0IGlmIGl0J3MgdmFsaWQuCj4g Pj4gCj4gPj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KPiA+PiAtLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICB8 ICAxICsKPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jICAgICB8IDYzICsr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX29wcmVnaW9uLmMgfCAgOSArKystLQo+ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDQw IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQo+ID4+IAo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+ID4+IGluZGV4IGEyYmQ0YzZhODZhMS4uZWYxNWYxNzEwYjUwIDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj4gQEAgLTMzNTQsNiArMzM1NCw3IEBAIGV4dGVy biB2b2lkIGludGVsX2kyY19yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiAgCj4g Pj4gIC8qIGludGVsX2Jpb3MuYyAqLwo+ID4+ICBpbnQgaW50ZWxfYmlvc19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ID4+ICtib29sIGludGVsX2Jpb3NfaXNfdmFsaWRfdmJ0KGNvbnN0 IHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpOwo+ID4+ICAKPiA+PiAgLyogaW50ZWxfb3ByZWdpb24u YyAqLwo+ID4+ICAjaWZkZWYgQ09ORklHX0FDUEkKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlv cy5jCj4gPj4gaW5kZXggZjJiNzliN2QxMmI4Li4wMDdiMmI3NTk2MDAgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPj4gQEAgLTEyMjEsMzcgKzEyMjEsNDAgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpnZXRfYmRiX2hlYWRlcihjb25zdCBzdHJ1Y3Qg dmJ0X2hlYWRlciAqdmJ0KQo+ID4+ICAJcmV0dXJuIF92YnQgKyB2YnQtPmJkYl9vZmZzZXQ7Cj4g Pj4gIH0KPiA+PiAgCj4gPj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAqdmFsaWRh dGVfdmJ0KGNvbnN0IHZvaWQgKmJhc2UsCj4gPj4gLQkJCQkJICAgICBzaXplX3Qgc2l6ZSwKPiA+ PiAtCQkJCQkgICAgIGNvbnN0IHZvaWQgKl92YnQpCj4gPj4gKy8qKgo+ID4+ICsgKiBpbnRlbF9i aW9zX2lzX3ZhbGlkX3ZidCAtIGRvZXMgdGhlIGdpdmVuIGJ1ZmZlciBjb250YWluIGEgdmFsaWQg VkJUCj4gPj4gKyAqIEBidWY6CXBvaW50ZXIgdG8gYSBidWZmZXIgdG8gdmFsaWRhdGUKPiA+PiAr ICogQHNpemU6CXNpemUgb2YgdGhlIGJ1ZmZlcgo+ID4+ICsgKgo+ID4+ICsgKiBSZXR1cm5zIHRy dWUgb24gdmFsaWQgVkJULgo+ID4+ICsgKi8KPiA+PiArYm9vbCBpbnRlbF9iaW9zX2lzX3ZhbGlk X3ZidChjb25zdCB2b2lkICpidWYsIHNpemVfdCBzaXplKQo+ID4+ICB7Cj4gPj4gLQlzaXplX3Qg b2Zmc2V0ID0gX3ZidCAtIGJhc2U7Cj4gPj4gLQljb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAqdmJ0 ID0gX3ZidDsKPiA+PiArCWNvbnN0IHN0cnVjdCB2YnRfaGVhZGVyICp2YnQgPSBidWY7Cj4gPj4g IAljb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiOwo+ID4+ICAKPiA+PiAgCWlmICghdmJ0KQo+ ID4+IC0JCXJldHVybiBOVUxMOwo+ID4+ICsJCXJldHVybiBmYWxzZTsKPiA+PiAgCj4gPj4gLQlp ZiAob2Zmc2V0ICsgc2l6ZW9mKHN0cnVjdCB2YnRfaGVhZGVyKSA+IHNpemUpIHsKPiA+PiArCWlm IChzaXplb2Yoc3RydWN0IHZidF9oZWFkZXIpID4gc2l6ZSkgewo+ID4+ICAJCURSTV9ERUJVR19E UklWRVIoIlZCVCBoZWFkZXIgaW5jb21wbGV0ZVxuIik7Cj4gPj4gLQkJcmV0dXJuIE5VTEw7Cj4g Pj4gKwkJcmV0dXJuIGZhbHNlOwo+ID4+ICAJfQo+ID4+ICAKPiA+PiAgCWlmIChtZW1jbXAodmJ0 LT5zaWduYXR1cmUsICIkVkJUIiwgNCkpIHsKPiA+PiAgCQlEUk1fREVCVUdfRFJJVkVSKCJWQlQg aW52YWxpZCBzaWduYXR1cmVcbiIpOwo+ID4+IC0JCXJldHVybiBOVUxMOwo+ID4+ICsJCXJldHVy biBmYWxzZTsKPiA+PiAgCX0KPiA+PiAgCj4gPj4gLQlvZmZzZXQgKz0gdmJ0LT5iZGJfb2Zmc2V0 Owo+ID4+IC0JaWYgKG9mZnNldCArIHNpemVvZihzdHJ1Y3QgYmRiX2hlYWRlcikgPiBzaXplKSB7 Cj4gPj4gKwlpZiAodmJ0LT5iZGJfb2Zmc2V0ICsgc2l6ZW9mKHN0cnVjdCBiZGJfaGVhZGVyKSA+ IHNpemUpIHsKPiA+PiAgCQlEUk1fREVCVUdfRFJJVkVSKCJCREIgaGVhZGVyIGluY29tcGxldGVc biIpOwo+ID4+IC0JCXJldHVybiBOVUxMOwo+ID4+ICsJCXJldHVybiBmYWxzZTsKPiA+PiAgCX0K PiA+PiAgCj4gPj4gIAliZGIgPSBnZXRfYmRiX2hlYWRlcih2YnQpOwo+ID4+IC0JaWYgKG9mZnNl dCArIGJkYi0+YmRiX3NpemUgPiBzaXplKSB7Cj4gPj4gKwlpZiAodmJ0LT5iZGJfb2Zmc2V0ICsg YmRiLT5iZGJfc2l6ZSA+IHNpemUpIHsKPiA+PiAgCQlEUk1fREVCVUdfRFJJVkVSKCJCREIgaW5j b21wbGV0ZVxuIik7Cj4gPj4gLQkJcmV0dXJuIE5VTEw7Cj4gPj4gKwkJcmV0dXJuIGZhbHNlOwo+ ID4+ICAJfQo+ID4+ICAKPiA+PiAgCXJldHVybiB2YnQ7Cj4gPj4gQEAgLTEyNTksMjYgKzEyNjIs MjcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2YnRfaGVhZGVyICp2YWxpZGF0ZV92YnQoY29uc3Qg dm9pZCAqYmFzZSwKPiA+PiAgCj4gPj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAq ZmluZF92YnQodm9pZCBfX2lvbWVtICpiaW9zLCBzaXplX3Qgc2l6ZSkKPiA+PiAgewo+ID4+IC0J Y29uc3Qgc3RydWN0IHZidF9oZWFkZXIgKnZidCA9IE5VTEw7Cj4gPj4gIAlzaXplX3QgaTsKPiA+ PiAgCj4gPj4gIAkvKiBTY291ciBtZW1vcnkgbG9va2luZyBmb3IgdGhlIFZCVCBzaWduYXR1cmUu ICovCj4gPj4gIAlmb3IgKGkgPSAwOyBpICsgNCA8IHNpemU7IGkrKykgewo+ID4+IC0JCWlmIChp b3JlYWQzMihiaW9zICsgaSkgPT0gKigoY29uc3QgdTMyICopICIkVkJUIikpIHsKPiA+PiAtCQkJ LyoKPiA+PiAtCQkJICogVGhpcyBpcyB0aGUgb25lIHBsYWNlIHdoZXJlIHdlIGV4cGxpY2l0bHkg ZGlzY2FyZCB0aGUKPiA+PiAtCQkJICogYWRkcmVzcyBzcGFjZSAoX19pb21lbSkgb2YgdGhlIEJJ T1MvVkJULiBGcm9tIG5vdyBvbgo+ID4+IC0JCQkgKiBldmVyeXRoaW5nIGlzIGJhc2VkIG9uICdi YXNlJywgYW5kIHRyZWF0ZWQgYXMgcmVndWxhcgo+ID4+IC0JCQkgKiBtZW1vcnkuCj4gPj4gLQkJ CSAqLwo+ID4+IC0JCQl2b2lkICpfYmlvcyA9ICh2b2lkIF9fZm9yY2UgKikgYmlvczsKPiA+PiAr CQl2b2lkICp2YnQ7Cj4gPj4gIAo+ID4+IC0JCQl2YnQgPSB2YWxpZGF0ZV92YnQoX2Jpb3MsIHNp emUsIF9iaW9zICsgaSk7Cj4gPj4gLQkJCWJyZWFrOwo+ID4+IC0JCX0KPiA+PiArCQlpZiAoaW9y ZWFkMzIoYmlvcyArIGkpICE9ICooKGNvbnN0IHUzMiAqKSAiJFZCVCIpKQo+ID4+ICsJCQljb250 aW51ZTsKPiA+PiArCj4gPj4gKwkJLyoKPiA+PiArCQkgKiBUaGlzIGlzIHRoZSBvbmUgcGxhY2Ug d2hlcmUgd2UgZXhwbGljaXRseSBkaXNjYXJkIHRoZSBhZGRyZXNzCj4gPj4gKwkJICogc3BhY2Ug KF9faW9tZW0pIG9mIHRoZSBCSU9TL1ZCVC4KPiA+PiArCQkgKi8KPiA+PiArCQl2YnQgPSAodm9p ZCBfX2ZvcmNlICopIGJpb3MgKyBpOwo+ID4+ICsJCWlmIChpbnRlbF9iaW9zX2lzX3ZhbGlkX3Zi dCh2YnQsIHNpemUgLSBpKSkKPiA+PiArCQkJcmV0dXJuIHZidDsKPiA+PiArCj4gPj4gKwkJYnJl YWs7Cj4gPj4gIAl9Cj4gPj4gIAo+ID4+IC0JcmV0dXJuIHZidDsKPiA+PiArCXJldHVybiBOVUxM Owo+ID4+ICB9Cj4gPj4gIAo+ID4+ICAvKioKPiA+PiBAQCAtMTI5NSw3ICsxMjk5LDcgQEAgaW50 ZWxfYmlvc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4gIHsKPiA+PiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPj4gIAlz dHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldi0+cGRldjsKPiA+PiAtCWNvbnN0IHN0cnVjdCB2YnRf aGVhZGVyICp2YnQ7Cj4gPj4gKwljb25zdCBzdHJ1Y3QgdmJ0X2hlYWRlciAqdmJ0ID0gZGV2X3By aXYtPm9wcmVnaW9uLnZidDsKPiA+PiAgCWNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpiZGI7Cj4g Pj4gIAl1OCBfX2lvbWVtICpiaW9zID0gTlVMTDsKPiA+PiAgCj4gPj4gQEAgLTEzMDQsOSArMTMw OCw2IEBAIGludGVsX2Jpb3NfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ICAKPiA+ PiAgCWluaXRfdmJ0X2RlZmF1bHRzKGRldl9wcml2KTsKPiA+PiAgCj4gPj4gLQkvKiBYWFggU2hv dWxkIHRoaXMgdmFsaWRhdGlvbiBiZSBtb3ZlZCB0byBpbnRlbF9vcHJlZ2lvbi5jPyAqLwo+ID4+ IC0JdmJ0ID0gdmFsaWRhdGVfdmJ0KGRldl9wcml2LT5vcHJlZ2lvbi5oZWFkZXIsIE9QUkVHSU9O X1NJWkUsCj4gPj4gLQkJCSAgIGRldl9wcml2LT5vcHJlZ2lvbi52YnQpOwo+ID4+ICAJaWYgKHZi dCkgewo+ID4+ICAJCURSTV9ERUJVR19LTVMoIlVzaW5nIFZCVCBmcm9tIEFDUEkgT3BSZWdpb246 ICUyMHNcbiIsCj4gPj4gIAkJCSAgICAgIHZidC0+c2lnbmF0dXJlKTsKPiA+Cj4gPiBNYXliZSB0 aGUgZGVidWcgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgdG9vPyBJdCBsb29rcyBhIGJpdCBvdXQg b2YgcGxhY2UKPiA+IGFmdGVyIHRoZSB2YWxpZGF0aW9uIGdldHMgbW92ZWQuCj4gCj4gVGhpcyBp cyBpbnRlbnRpb25hbCAoc2VlIHBhdGNoIDQpLiBJbiBhIHdheSB0aGlzIGlzIHdoZXJlIHRoZSBk ZWNpc2lvbgo+IGlzIG1hZGUgdG8gdXNlIHRoZSBvcHJlZ2lvbiBWQlQuIFRoZSBvcHJlZ2lvbiBj b2RlIGp1c3QgdmFsaWRhdGVzIGl0LAo+IGJ1dCBkb2Vzbid0IGFjdHVhbGx5ICp1c2UqIGl0LgoK QnV0IHdoZW4geW91IGFkZCB0aGUgUlZEQSB0aGluZywgdGhlIGRlYnVnIHByaW50IGZvciB0aGF0 IGlzIGluIHRoZQpvcHJlZ2lvbiBjb2RlLCBzbyB3aXRoIHRoYXQgd2UgZ2V0IHR3byBkZWJ1ZyBw cmludHM/Cgo+IAo+IEJSLAo+IEphbmkuCj4gCj4gCj4gCj4gPgo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfb3ByZWdpb24uYwo+ID4+IGluZGV4IDViOWZjNzkwZDMwMC4uOWY5OTJlN2M2MTg1 IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMK PiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCj4gPj4gQEAg LTk4Niw4ICs5ODYsMTMgQEAgaW50IGludGVsX29wcmVnaW9uX3NldHVwKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gPj4gIAlpZiAobWJveGVzICYgTUJPWF9BU0xFX0VYVCkKPiA+PiAgCQlEUk1f REVCVUdfRFJJVkVSKCJBU0xFIGV4dGVuc2lvbiBzdXBwb3J0ZWRcbiIpOwo+ID4+ICAKPiA+PiAt CWlmICghZG1pX2NoZWNrX3N5c3RlbShpbnRlbF9ub19vcHJlZ2lvbl92YnQpKQo+ID4+IC0JCW9w cmVnaW9uLT52YnQgPSBiYXNlICsgT1BSRUdJT05fVkJUX09GRlNFVDsKPiA+PiArCWlmICghZG1p X2NoZWNrX3N5c3RlbShpbnRlbF9ub19vcHJlZ2lvbl92YnQpKSB7Cj4gPj4gKwkJdm9pZCAqdmJ0 ID0gYmFzZSArIE9QUkVHSU9OX1ZCVF9PRkZTRVQ7Cj4gPj4gKwkJdTMyIHZidF9zaXplID0gT1BS RUdJT05fU0laRSAtIE9QUkVHSU9OX1ZCVF9PRkZTRVQ7Cj4gPj4gKwo+ID4+ICsJCWlmIChpbnRl bF9iaW9zX2lzX3ZhbGlkX3ZidCh2YnQsIHZidF9zaXplKSkKPiA+PiArCQkJb3ByZWdpb24tPnZi dCA9IHZidDsKPiA+PiArCX0KPiA+PiAgCj4gPj4gIAlyZXR1cm4gMDsKPiA+PiAgCj4gPj4gLS0g Cj4gPj4gMi4xLjQKPiA+PiAKPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+PiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+IEphbmkgTmlrdWxhLCBJbnRlbCBP cGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBP VEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK