From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Conselvan De Oliveira, Ander" Subject: Re: [PATCH] drm/i915: Simplify the way BC bifurcation state consistency is kept Date: Wed, 11 Mar 2015 13:23:33 +0000 Message-ID: <1426080213.3761.15.camel@intel.com> References: <20150310191410.GV3800@phenom.ffwll.local> <1426073743-30724-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <20150311131034.GS11371@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id A1C626E105 for ; Wed, 11 Mar 2015 06:23:36 -0700 (PDT) In-Reply-To: <20150311131034.GS11371@intel.com> Content-Language: en-US Content-ID: <2B1E071D70BB364186E9366C8F2B0781@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.syrjala@linux.intel.com" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE1LTAzLTExIGF0IDE1OjEwICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgTWFyIDExLCAyMDE1IGF0IDAxOjM1OjQzUE0gKzAyMDAsIEFuZGVyIENvbnNl bHZhbiBkZSBPbGl2ZWlyYSB3cm90ZToNCj4gPiBSZW1vdmUgdGhlIGdsb2JhbCBtb2Rlc2V0IHJl c291cmNlIGZ1bmN0aW9uIHRoYXQgd291bGQgZGlzYWJsZSB0aGUNCj4gPiBiaWZ1cmNhdGlvbiBi aXQsIGFuZCBpbnN0ZWFkIGVuYWJsZS9kaXNhYmxlIGl0IHdoZW4gZW5hYmxpbmcgdGhlIHBjaA0K PiA+IHRyYW5zY29kZXIuIFRoZSBtb2RlIHNldCBjb25zaXN0ZW5jeSBjaGVjayBzaG91bGQgcHJl dmVudCB1cyBmcm9tDQo+ID4gZGlzYWJsaW5nIHRoZSBiaXQgaWYgcGlwZSBDIGlzIGVuYWJsZWQg c28gdGhlIGNoYW5nZSBzaG91bGQgYmUgc2FmZS4NCj4gPiANCj4gPiBOb3RlIHRoYXQgdGhpcyBk b2Vucyd0IGFmZmVjdCB0aGUgbG9naWMgdGhhdCBwcmV2ZW50cyB0aGUgYml0IGJlaW5nDQo+ID4g c2V0IHdoaWxlIGEgcGlwZSBpcyBhY3RpdmUsIHNpbmNlIHRoZSBwYXRjaCByZXRhaW5zIHRoZSBi ZWhhdmlvciBvZg0KPiA+IG9ubHkgY2hhZ2luZyB0aGUgYml0IGlmIG5lY2Vzc2FyeS4gQmVjYXVz ZSBvZiB0aGUgY2hlY2tzIGR1cmluZyBtb2RlDQo+ID4gc2V0LCB0aGUgZmlyc3QgY2hhbmdlIHdv dWxkIG5lY2Vzc2FyaWx5IGhhcHBlbiB3aXRoIGJvdGggcGlwZXMgQiBhbmQNCj4gPiBDIGRpc2Fi bGVkLCBhbmQgYW55IHN1YnNlcXVlbnQgd3JpdGUgd291bGQgYmUgc2tpcHBlZC4NCj4gPiANCj4g PiB2MjogT25seSBjaGFuZ2UgdGhlIGJpdCBkdXJpbmcgcGNoIHRyYW5jb2RlciBlbmFibGUuIChW aWxsZSkNCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgNDYgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIDEgZmlsZSBj aGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jDQo+ID4gaW5kZXggNDAwOGJmNC4uYmZiZDgyOSAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gPiBAQCAtMzE1 MywzMiArMzE1Myw2IEBAIHN0YXRpYyBib29sIHBpcGVfaGFzX2VuYWJsZWRfcGNoKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQ0KPiA+ICAJcmV0dXJuIGNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSAm JiBjcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcjsNCj4gPiAgfQ0KPiA+ICANCj4gPiAtc3Rh dGljIHZvaWQgaXZiX21vZGVzZXRfZ2xvYmFsX3Jlc291cmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQ0KPiA+IC17DQo+ID4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOw0KPiA+IC0Jc3RydWN0IGludGVsX2NydGMgKnBpcGVfQl9jcnRjID0N Cj4gPiAtCQl0b19pbnRlbF9jcnRjKGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1tQSVBF X0JdKTsNCj4gPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpwaXBlX0NfY3J0YyA9DQo+ID4gLQkJdG9f aW50ZWxfY3J0YyhkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBpbmdbUElQRV9DXSk7DQo+ID4g LQl1aW50MzJfdCB0ZW1wOw0KPiA+IC0NCj4gPiAtCS8qDQo+ID4gLQkgKiBXaGVuIGV2ZXJ5dGhp bmcgaXMgb2ZmIGRpc2FibGUgZmRpIEMgc28gdGhhdCB3ZSBjb3VsZCBlbmFibGUgZmRpIEINCj4g PiAtCSAqIHdpdGggYWxsIGxhbmVzLiBOb3RlIHRoYXQgd2UgZG9uJ3QgY2FyZSBhYm91dCBlbmFi bGVkIHBpcGVzIHdpdGhvdXQNCj4gPiAtCSAqIGFuIGVuYWJsZWQgcGNoIGVuY29kZXIuDQo+ID4g LQkgKi8NCj4gPiAtCWlmICghcGlwZV9oYXNfZW5hYmxlZF9wY2gocGlwZV9CX2NydGMpICYmDQo+ ID4gLQkgICAgIXBpcGVfaGFzX2VuYWJsZWRfcGNoKHBpcGVfQ19jcnRjKSkgew0KPiA+IC0JCVdB Uk5fT04oSTkxNV9SRUFEKEZESV9SWF9DVEwoUElQRV9CKSkgJiBGRElfUlhfRU5BQkxFKTsNCj4g PiAtCQlXQVJOX09OKEk5MTVfUkVBRChGRElfUlhfQ1RMKFBJUEVfQykpICYgRkRJX1JYX0VOQUJM RSk7DQo+ID4gLQ0KPiA+IC0JCXRlbXAgPSBJOTE1X1JFQUQoU09VVEhfQ0hJQ0tFTjEpOw0KPiA+ IC0JCXRlbXAgJj0gfkZESV9CQ19CSUZVUkNBVElPTl9TRUxFQ1Q7DQo+ID4gLQkJRFJNX0RFQlVH X0tNUygiZGlzYWJsaW5nIGZkaSBDIHJ4XG4iKTsNCj4gPiAtCQlJOTE1X1dSSVRFKFNPVVRIX0NI SUNLRU4xLCB0ZW1wKTsNCj4gPiAtCX0NCj4gPiAtfQ0KPiA+IC0NCj4gPiAgLyogVGhlIEZESSBs aW5rIHRyYWluaW5nIGZ1bmN0aW9ucyBmb3IgSUxLL0liZXhwZWFrLiAqLw0KPiA+ICBzdGF0aWMg dm9pZCBpcm9ubGFrZV9mZGlfbGlua190cmFpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpDQo+ID4g IHsNCj4gPiBAQCAtMzgzNCwyMCArMzgwOCwyMyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hf dHJhbnNjb2Rlcl9zZXRfdGltaW5ncyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywNCj4gPiAgCQkg ICBJOTE1X1JFQUQoVlNZTkNTSElGVChjcHVfdHJhbnNjb2RlcikpKTsNCj4gPiAgfQ0KPiA+ICAN Cj4gPiAtc3RhdGljIHZvaWQgY3B0X2VuYWJsZV9mZGlfYmNfYmlmdXJjYXRpb24oc3RydWN0IGRy bV9kZXZpY2UgKmRldikNCj4gPiArc3RhdGljIHZvaWQgY3B0X3NldF9mZGlfYmNfYmlmdXJjYXRp b24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBlbmFibGUpDQo+ID4gIHsNCj4gPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7DQo+ID4g IAl1aW50MzJfdCB0ZW1wOw0KPiA+ICANCj4gPiAgCXRlbXAgPSBJOTE1X1JFQUQoU09VVEhfQ0hJ Q0tFTjEpOw0KPiA+IC0JaWYgKHRlbXAgJiBGRElfQkNfQklGVVJDQVRJT05fU0VMRUNUKQ0KPiA+ ICsJaWYgKCEhKHRlbXAgJiBGRElfQkNfQklGVVJDQVRJT05fU0VMRUNUKSA9PSBlbmFibGUpDQo+ ID4gIAkJcmV0dXJuOw0KPiA+ICANCj4gPiAgCVdBUk5fT04oSTkxNV9SRUFEKEZESV9SWF9DVEwo UElQRV9CKSkgJiBGRElfUlhfRU5BQkxFKTsNCj4gPiAgCVdBUk5fT04oSTkxNV9SRUFEKEZESV9S WF9DVEwoUElQRV9DKSkgJiBGRElfUlhfRU5BQkxFKTsNCj4gPiAgDQo+ID4gLQl0ZW1wIHw9IEZE SV9CQ19CSUZVUkNBVElPTl9TRUxFQ1Q7DQo+ID4gLQlEUk1fREVCVUdfS01TKCJlbmFibGluZyBm ZGkgQyByeFxuIik7DQo+ID4gKwl0ZW1wICY9IH5GRElfQkNfQklGVVJDQVRJT05fU0VMRUNUOw0K PiA+ICsJaWYgKGVuYWJsZSkNCj4gPiArCQl0ZW1wIHw9IEZESV9CQ19CSUZVUkNBVElPTl9TRUxF Q1Q7DQo+ID4gKw0KPiA+ICsJRFJNX0RFQlVHX0tNUygiJXNhYmxpbmcgZmRpIEMgcnhcbiIsIGVu YWJsZSA/ICJlbiIgOiAiZGlzIik7DQo+ID4gIAlJOTE1X1dSSVRFKFNPVVRIX0NISUNLRU4xLCB0 ZW1wKTsNCj4gPiAgCVBPU1RJTkdfUkVBRChTT1VUSF9DSElDS0VOMSk7DQo+ID4gIH0NCj4gPiBA QCAtMzg1NSwyMCArMzgzMiwxOSBAQCBzdGF0aWMgdm9pZCBjcHRfZW5hYmxlX2ZkaV9iY19iaWZ1 cmNhdGlvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQ0KPiA+ICBzdGF0aWMgdm9pZCBpdnlicmlk Z2VfdXBkYXRlX2ZkaV9iY19iaWZ1cmNhdGlvbihzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YykNCj4gPiAgew0KPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJh c2UuZGV2Ow0KPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsNCj4gPiAgDQo+ID4gIAlzd2l0Y2ggKGludGVsX2NydGMtPnBpcGUpIHsNCj4g PiAgCWNhc2UgUElQRV9BOg0KPiA+ICAJCWJyZWFrOw0KPiA+ICAJY2FzZSBQSVBFX0I6DQo+ID4g IAkJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+ZmRpX2xhbmVzID4gMikNCj4gPiAtCQkJV0FSTl9P TihJOTE1X1JFQUQoU09VVEhfQ0hJQ0tFTjEpICYgRkRJX0JDX0JJRlVSQ0FUSU9OX1NFTEVDVCk7 DQo+ID4gKwkJCWNwdF9zZXRfZmRpX2JjX2JpZnVyY2F0aW9uKGRldiwgZmFsc2UpOw0KPiANCj4g U28gd2UganVzdCByZXBsYWNlIHRoZSBnbG9ibGFfcmVzb3VyY2VzIGVuZm9yY2VkIGFzc3VtZWQg c3RhdGUgd2l0aCBhbg0KPiBleHBsaWNpdCBzdGF0ZSBjaGFuZ2UgaGVyZS4gU2hvdWxkIGJlIHBl cmZlY3RseSBmaW5lIHNpbmNlIHBpcGUgaXMgbm90DQo+IGFjdGl2ZSBhdCB0aGlzIHBvaW50Lg0K PiANCj4gDQo+IFdoYXQgcmVhbGx5IGNvbmZ1c2VzIG1lIGFib3V0IHRoZSB3aG9sZSBGREkgYmlm dXJjYXRpb24gY29kZSBpcw0KPiBpcm9ubGFrZV9jaGVja19mZGlfbGFuZXMoKS4gRmlyc3Qgb2Yg YWxsIEkgd291bGQgcmV3cml0ZSBpdCBhIGJpdCBsaWtlDQo+IHNvOg0KPiANCj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYw0KPiBAQCAtNTYxNSwxNCArNTYxNSwxMyBAQCBzdGF0aWMg Ym9vbCBpcm9ubGFrZV9jaGVja19mZGlfbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51 bSBwaXBlIHBpcGUsDQo+ICAgICAgICAgICAgICAgICB9DQo+ICAgICAgICAgICAgICAgICByZXR1 cm4gdHJ1ZTsNCj4gICAgICAgICBjYXNlIFBJUEVfQzoNCj4gLSAgICAgICAgICAgICAgIGlmICgh cGlwZV9oYXNfZW5hYmxlZF9wY2gocGlwZV9CX2NydGMpIHx8DQo+IC0gICAgICAgICAgICAgICAg ICAgcGlwZV9CX2NydGMtPmNvbmZpZy0+ZmRpX2xhbmVzIDw9IDIpIHsNCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgaWYgKHBpcGVfY29uZmlnLT5mZGlfbGFuZXMgPiAyKSB7DQo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0tNUygiaW52YWxpZCBzaGFyZWQgZmRp IGxhbmUgY29uZmlnIG9uIHBpcGUgJWM6ICVpIGxhbmVzXG4iLA0KPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZV9uYW1lKHBpcGUpLCBwaXBlX2NvbmZp Zy0+ZmRpX2xhbmVzKTsNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g ZmFsc2U7DQo+IC0gICAgICAgICAgICAgICAgICAgICAgIH0NCj4gLSAgICAgICAgICAgICAgIH0g ZWxzZSB7DQo+ICsgICAgICAgICAgICAgICBpZiAocGlwZV9jb25maWctPmZkaV9sYW5lcyA+IDIp IHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgRFJNX0RFQlVHX0tNUygib25seSAyIGxhbmVz IG9uIHBpcGUgJWM6IHJlcXVpcmVkICVpIGxhbmVzXG4iLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBpcGVfbmFtZShwaXBlKSwgcGlwZV9jb25maWctPmZkaV9sYW5l cyk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4gKyAgICAgICAg ICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgIGlmIChwaXBlX2hhc19lbmFibGVkX3BjaChwaXBl X0JfY3J0YykgJiYNCj4gKyAgICAgICAgICAgICAgICAgICBwaXBlX0JfY3J0Yy0+Y29uZmlnLT5m ZGlfbGFuZXMgPiAyKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19LTVMo ImZkaSBsaW5rIEIgdXNlcyB0b28gbWFueSBsYW5lcyB0byBlbmFibGUgbGluayBDXG4iKTsNCj4g ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiAgICAgICAgICAgICAgICAg fQ0KPiANCj4gQW5kIHRoZSBuZXh0IHRoaW5nIGNvbmZ1c2luZyBtZSBpcyB3aHkgd2UgdXNlIHBp cGVfaGFzX2VuYWJsZWRfcGNoKCkNCj4gdG8gY2hlY2sgcGlwZSBCIHN0YXRlLCBidXQganVzdCBw aXBlLT5lbmFibGVkIHRvIGNoZWNrIHBpcGUgQyBzdGF0ZT8NCj4gDQo+IENvbnNpZGVyIHRoZSBm b2xsb3dpbmcgc2NlbmFyaW86DQo+IDEuIGVuYWJsZSBwaXBlIEIgd2l0aCBQQ0ggdXNpbmcgPjIg RkRJIGxhbmVzDQo+IDIuIHNldCBwaXBlIEIgdG8gRFBNUyBvZmYNCj4gMy4gZW5hYmxlIHBpcGUg QyB3aXRoIFBDSA0KPiANCj4gVGhlIGNydGMtPmFjdGl2ZSBjaGVjayBpbiBwaXBlX2hhc19lbmFi bGVkX3BjaCgpIHdpbGwgaW5kaWNhdGUgdGhhdCBwaXBlDQo+IEIgZG9lcyBub3QgbmVlZCBGREks IHNvIHN0ZXAgMyB3aWxsIHN1Y2NlZWQuIE9yIGFtIEkgbWlzc2luZyBzb21ldGhpbmcNCj4gc3Vi dGxlIGhlcmU/DQo+IA0KPiBBbHNvIGlmIHdlIGRvIHRoaW5ncyB0aGlzIHdheToNCj4gMS4gZW5h YmxlIHBpcGUgQyB3aXRoIGVEUA0KPiAyLiBlbmFibGUgcGlwZSBCIHdpdGggUENIIHVzaW5nID4y IEZESSBsYW5lcw0KPiANCj4gTm93IHN0ZXAgMiB3aWxsIGZhaWwgZXZlbiB0aG91Z2ggcGlwZSBD IGRvZXNuJ3QgbmVlZCBhbnkgRkRJIGxhbmVzLg0KPiANCj4gU28gdG8gZml4IHRoYXQgaXQgd291 bGQgc2VlbSB0aGF0IHdlIHNob3VsZCByZW1vdmUgdGhlIGNydGMtPmFjdGl2ZQ0KPiBjaGVjayBm cm9tIHBpcGVfaGFzX2VuYWJsZWRfcGNoKCkgYW5kIHVzZSB0aGF0IHRvIGNoZWNrIGZvciBjb25s aWN0cw0KPiBpbiBib3RoIGNhc2VzLiBOb3cgdGhhdCAuZ2xvYmFsX3Jlc291cmNlcygpIGlzIG5v IGxvbmdlciBpbiB0aGUgcGljdHVyZQ0KPiB0aGUgY3J0Yy0+YWN0aXZlIGNoZWNrIG5vdCBuZWVk ZWQgYW55d2F5LCBJIHRoaW5rLg0KDQpUaGlzIGlzIGFjdHVhbGx5IHRoZSBtb3RpdmF0aW9uIGZv ciB0aGlzIHBhdGNoLiBJIHRyaWVkIHRvIGZpeCB0aGF0IGluIA0KDQogICAgaHR0cDovL3BhdGNo d29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvNDQyODEvICwNCg0KYnV0IHRoZW4gaXQgYmVjYW1l IGNsZWFyIHRoYXQgcGF0Y2ggYnJva2UgdGhlIGNhc2Ugb2YgcGlwZSBCIGdvaW5nIGZyb20NCmEg PjIgbGFuZXMgbW9kZSB0byBhIDw9MiBtb2RlLiBCdXQgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0 d28gcGF0Y2hlcw0Kd29ya3MgZm9yIGJvdGggY2FzZXMuDQoNCkkgaGF2ZW4ndCB0aG91Z2h0IGFi b3V0IHRoZSBlRFAgb24gcGlwZSBDIGNhc2UgYmVmb3JlLCBidXQgaXQgc2VlbXMgd2UNCndhbnQg dGhlIGNoYW5nZSB5b3UgbWVudGlvbmVkIGFib3ZlIHRvbyB0byBmaXggdGhhdC4NCg0KQW5kZXIN Cg0KDQo+IA0KPiA+ICAJCWVsc2UNCj4gPiAtCQkJY3B0X2VuYWJsZV9mZGlfYmNfYmlmdXJjYXRp b24oZGV2KTsNCj4gPiArCQkJY3B0X3NldF9mZGlfYmNfYmlmdXJjYXRpb24oZGV2LCB0cnVlKTsN Cj4gPiAgDQo+ID4gIAkJYnJlYWs7DQo+ID4gIAljYXNlIFBJUEVfQzoNCj4gPiAtCQljcHRfZW5h YmxlX2ZkaV9iY19iaWZ1cmNhdGlvbihkZXYpOw0KPiA+ICsJCWNwdF9zZXRfZmRpX2JjX2JpZnVy Y2F0aW9uKGRldiwgdHJ1ZSk7DQo+ID4gIA0KPiA+ICAJCWJyZWFrOw0KPiA+ICAJZGVmYXVsdDoN Cj4gPiBAQCAtMTMwNTYsOCArMTMwMzIsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Rpc3Bs YXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikNCj4gPiAgCX0gZWxzZSBpZiAoSVNfSVZZQlJJREdF KGRldikpIHsNCj4gPiAgCQkvKiBGSVhNRTogZGV0ZWN0IEIwKyBzdGVwcGluZyBhbmQgdXNlIGF1 dG8gdHJhaW5pbmcgKi8NCj4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5mZGlfbGlua190cmFpbiA9 IGl2Yl9tYW51YWxfZmRpX2xpbmtfdHJhaW47DQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubW9k ZXNldF9nbG9iYWxfcmVzb3VyY2VzID0NCj4gPiAtCQkJaXZiX21vZGVzZXRfZ2xvYmFsX3Jlc291 cmNlczsNCj4gPiAgCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChk ZXYpKSB7DQo+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuZmRpX2xpbmtfdHJhaW4gPSBoc3dfZmRp X2xpbmtfdHJhaW47DQo+ID4gIAl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgew0KPiA+ IC0tIA0KPiA+IDIuMS4wDQo+IA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW50ZWwgRmlubGFuZCBPeQpSZWdp c3RlcmVkIEFkZHJlc3M6IFBMIDI4MSwgMDAxODEgSGVsc2lua2kgCkJ1c2luZXNzIElkZW50aXR5 IENvZGU6IDAzNTc2MDYgLSA0IApEb21pY2lsZWQgaW4gSGVsc2lua2kgCgpUaGlzIGUtbWFpbCBh bmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBtYXRlcmlhbCBmb3IK dGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIEFueSByZXZpZXcgb3Ig ZGlzdHJpYnV0aW9uCmJ5IG90aGVycyBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgYXJl IG5vdCB0aGUgaW50ZW5kZWQKcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFu ZCBkZWxldGUgYWxsIGNvcGllcy4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK