From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH v2 1/1] drm/i915: Add and enable DP AUX CH mutex Date: Thu, 22 Feb 2018 19:57:03 +0000 Message-ID: <1519330831.10195.6.camel@dk-H97M-D3H> References: <20180221022347.16405-1-jose.souza@intel.com> <20180221022347.16405-2-jose.souza@intel.com> <20180222185948.GC5453@intel.com> <20180222193403.GB19951@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id CFF676E1A6 for ; Thu, 22 Feb 2018 19:57:05 +0000 (UTC) In-Reply-To: <20180222193403.GB19951@intel.com> Content-Language: en-US Content-ID: <861178888478E640AED542C40BC75BFD@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Vivi, Rodrigo" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE4LTAyLTIyIGF0IDExOjM0IC0wODAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+ IE9uIFRodSwgRmViIDIyLCAyMDE4IGF0IDA4OjU5OjQ5UE0gKzAyMDAsIFZpbGxlIFN5cmrDpGzD pCB3cm90ZToNCj4gPiBPbiBUdWUsIEZlYiAyMCwgMjAxOCBhdCAwNjoyMzo0N1BNIC0wODAwLCBK b3PDqSBSb2JlcnRvIGRlIFNvdXphIHdyb3RlOg0KPiA+ID4gV2hlbiBQU1IvUFNSMi9HVEMgaXMg ZW5hYmxlZCBoYXJkd2FyZSBjYW4gZG8gQVVYIHRyYW5zYWN0aW9ucyBieSBpdA0KPiA+ID4gc2Vs Ziwgc28gbGV0cyB1c2UgdGhlIG11dGV4IHJlZ2lzdGVyIHRoYXQgaXMgYXZhaWxhYmxlIGluIGdl bjkrIHRvDQo+ID4gPiBhdm9pZCBjb25jdXJyZW50IGFjY2VzcyBieSBoYXJkd2FyZSBhbmQgZHJp dmVyLg0KPiA+ID4gDQo+ID4gPiBSZWZlcmVuY2U6IGh0dHBzOi8vMDEub3JnL3NpdGVzL2RlZmF1 bHQvZmlsZXMvZG9jdW1lbnRhdGlvbi9pbnRlbC1nZngtcHJtLW9zcmMtc2tsLXZvbDEyLWRpc3Bs YXkucGRmDQo+ID4gPiBQYWdlIDE5OCAtIEFVWCBwcm9ncmFtbWluZyBzZXF1ZW5jZQ0KPiA+IA0K PiA+IEJUVyBzaW5jZSBIU1cvQkRXIGRvbid0IGhhdmUgdGhlIG11dGV4IHdlIHNob3VsZCByZWFs bHkgYmUgZGlzYWJsaW5nIFBTUg0KPiA+IGFyb3VuZCBhdXggY2ggdXNhZ2Ugb24gdGhvc2UgcGxh dGZvcm1zLiBOb3Qgc3VyZSBob3cgYmlnIG9mIGEgbG9ja2luZw0KPiA+IGludmVyc2lvbiBleGVy Y2lzZSBpdCB3b3VsZCBiZSB0byBtYWtlIHRoYXQgaGFwcGVuIHRob3VnaC4NCj4gDQo+IFRydWUu IEJ1dCBJIGJlbGlldmUgdGhhdCBjYW4gYmUgaGFuZGxlZCBkaWZmZXJlbnRseS4NCj4gUHJvYmFi bHkgd2l0aCBBdXggcG93ZXIgZG9tYWlucyBibG9ja2luZyBQU1Igb2ZmICJkb21haW4iLg0KPiBT b21ldGhpbmcgc2ltaWxhciB0byBEQyBvZmYuDQo+IA0KPiBJIGFjdHVhbGx5IGhhZCBwYXRjaGVz IGZvciB0aGF0IGxvc3Qgc29tZXdoZXJlLi4uIDooDQo+IA0KDQpKdXN0IGEgbm90ZSwgdGhlIHNw ZWMgZXhwbGljaXRseSBzYXlzIHdlIHNob3VsZCBkaXNhYmxlIFBTUiBhcm91bmQgQVVYDQp0cmFu c2FjdGlvbnMgZm9yIEJEVyAoYW5kIEhTVyBpaXJjKS4NCg0KQWJvdXQgdXNpbmcgdGhlIHBvd2Vy IGRvbWFpbiBpbmZyYSwgSSBhbSBub3QgcXVpdGUgc3VyZS4gVGhlIF9nZXQoKSBhbmQNCl9wdXQo KSBpZGlvbSBtYWtlcyBzZW5zZSB3aGVuIHdlIHdhbnQgcmVmZXJlbmNlIGNvdW50aW5nIHRvIGhh bmRsZQ0KbXVsdGlwbGUgY29uc3VtZXJzIHRoYXQgd2FudCBQU1IgdG8gYmUgZGlzYWJsZWQuIERv ZXMgYW55dGhpbmcgZWxzZSBuZWVkDQp0byBlbmFibGUvZGlzYWJsZSBQU1I/DQoNCg0KPiA+IA0K PiA+ID4gDQo+ID4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0K PiA+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+DQo+ID4g PiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVs LmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg IHwgIDkgKysrKysrKysNCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICB8 IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsNCj4gPiA+ICAzIGZpbGVzIGNoYW5n ZWQsIDYwIGluc2VydGlvbnMoKykNCj4gPiA+IA0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o DQo+ID4gPiBpbmRleCAxNDEyYWJjYjI3ZDQuLmE2MmUzYzFiYWRhYiAxMDA2NDQNCj4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+IEBAIC01MzE4LDYgKzUzMTgsNyBAQCBlbnVt IHsNCj4gPiA+ICAjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2NDAxYykNCj4gPiA+ICAjZGVmaW5lIF9EUEFfQVVYX0NIX0RB VEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAyMCkNCj4gPiA+ ICAjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDAyNCkNCj4gPiA+ICsjZGVmaW5lIF9EUEFfQVVYX0NIX01VVEVYCShkZXZf cHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAyQykNCj4gPiA+ICANCj4gPiA+ ICAjZGVmaW5lIF9EUEJfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDY0MTEwKQ0KPiA+ID4gICNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTEJKGRldl9w cml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTE0KQ0KPiA+ID4gQEAgLTUzMjUs NiArNTMyNiw3IEBAIGVudW0gew0KPiA+ID4gICNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTMJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTFjKQ0KPiA+ID4gICNkZWZp bmUgX0RQQl9BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0MTIwKQ0KPiA+ID4gICNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTUJKGRldl9wcml2LT5p bmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTI0KQ0KPiA+ID4gKyNkZWZpbmUgX0RQQl9B VVhfQ0hfTVVURVgJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTJD KQ0KPiA+ID4gIA0KPiA+ID4gICNkZWZpbmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTApDQo+ID4gPiAgI2RlZmluZSBfRFBDX0FV WF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTQp DQo+ID4gPiBAQCAtNTMzMiw2ICs1MzM0LDcgQEAgZW51bSB7DQo+ID4gPiAgI2RlZmluZSBfRFBD X0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQy MWMpDQo+ID4gPiAgI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQyMjApDQo+ID4gPiAgI2RlZmluZSBfRFBDX0FVWF9DSF9E QVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMjQpDQo+ID4g PiArI2RlZmluZSBfRFBDX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQyMkMpDQo+ID4gPiAgDQo+ID4gPiAgI2RlZmluZSBfRFBEX0FVWF9DSF9D VEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxMCkNCj4gPiA+ ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDMxNCkNCj4gPiA+IEBAIC01MzM5LDYgKzUzNDIsNyBAQCBlbnVtIHsNCj4g PiA+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDMxYykNCj4gPiA+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEE0CShk ZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyMCkNCj4gPiA+ICAjZGVm aW5lIF9EUERfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDMyNCkNCj4gPiA+ICsjZGVmaW5lIF9EUERfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyQykNCj4gPiA+ICANCj4gPiA+ICAjZGVm aW5lIF9EUEZfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0NTEwKQ0KPiA+ID4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5p bmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTE0KQ0KPiA+ID4gQEAgLTUzNDYsNiArNTM1 MCw3IEBAIGVudW0gew0KPiA+ID4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTMJKGRldl9wcml2 LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTFjKQ0KPiA+ID4gICNkZWZpbmUgX0RQ Rl9BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NTIwKQ0KPiA+ID4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTI0KQ0KPiA+ID4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hf TVVURVgJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTJDKQ0KPiA+ ID4gIA0KPiA+ID4gICNkZWZpbmUgRFBfQVVYX0NIX0NUTChwb3J0KQlfTU1JT19QT1JUKHBvcnQs IF9EUEFfQVVYX0NIX0NUTCwgX0RQQl9BVVhfQ0hfQ1RMKQ0KPiA+ID4gICNkZWZpbmUgRFBfQVVY X0NIX0RBVEEocG9ydCwgaSkJX01NSU8oX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfREFUQTEsIF9E UEJfQVVYX0NIX0RBVEExKSArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovDQo+ID4gPiBAQCAt NTM3OCw2ICs1MzgzLDEwIEBAIGVudW0gew0KPiA+ID4gICNkZWZpbmUgICBEUF9BVVhfQ0hfQ1RM X0ZXX1NZTkNfUFVMU0VfU0tMKGMpICgoKGMpIC0gMSkgPDwgNSkNCj4gPiA+ICAjZGVmaW5lICAg RFBfQVVYX0NIX0NUTF9TWU5DX1BVTFNFX1NLTChjKSAgICgoYykgLSAxKQ0KPiA+ID4gIA0KPiA+ ID4gKyNkZWZpbmUgRFBfQVVYX0NIX01VVEVYKHBvcnQpCV9NTUlPX1BPUlQocG9ydCwgX0RQQV9B VVhfQ0hfTVVURVgsIF9EUEJfQVVYX0NIX01VVEVYKQ0KPiA+ID4gKyNkZWZpbmUgICBEUF9BVVhf Q0hfTVVURVhfRU5BQkxFCQkoMSA8PCAzMSkNCj4gPiA+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01V VEVYX1NUQVRVUwkJKDEgPDwgMzApDQo+ID4gPiArDQo+ID4gPiAgLyoNCj4gPiA+ICAgKiBDb21w dXRpbmcgR01DSCBNIGFuZCBOIHZhbHVlcyBmb3IgdGhlIERpc3BsYXkgUG9ydCBsaW5rDQo+ID4g PiAgICoNCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+ID4gaW5kZXggZjIwYjI1Zjk4 ZTVhLi5hZjA3NTYzYmFmYmEgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j DQo+ID4gPiBAQCAtMTA4MSw2ICsxMDgxLDQ1IEBAIHN0YXRpYyB1aW50MzJfdCBpbnRlbF9kcF9n ZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiAgCQkJCQkJ YXV4X2Nsb2NrX2RpdmlkZXIpOw0KPiA+ID4gIH0NCj4gPiA+ICANCj4gPiA+ICtzdGF0aWMgYm9v bCBpbnRlbF9kcF9hdXhfY2hfdHJ5bG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ ID4gK3sNCj4gPiA+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQg PSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7DQo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9DQo+ID4gPiArCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5i YXNlLmRldik7DQo+ID4gPiArDQo+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkN Cj4gPiA+ICsJCXJldHVybiB0cnVlOw0KPiA+ID4gKw0KPiA+ID4gKwlJOTE1X1dSSVRFKGludGVs X2RwLT5hdXhfY2hfbXV0ZXhfcmVnLCBEUF9BVVhfQ0hfTVVURVhfRU5BQkxFKTsNCj4gPiA+ICsN Cj4gPiA+ICsJLyogU3BlYyBzYXlzIHRoYXQgbXV0ZXggaXMgYWNxdWlyZWQgd2hlbiBzdGF0dXMg Yml0IGlzIHJlYWQgYXMgdW5zZXQsDQo+ID4gPiArCSAqIGlmIHNldCBpdCBzaG91bGQgYmUgcmVh ZCBhZ2FpbiBhZnRlciA1MDB1c2VjLiBIZXJlIHdhaXRpbmcgZm9yDQo+ID4gPiArCSAqIDJtc2Vj IG9yIDQgdHJpZXMgYmVmb3JlIGdpdmUgdXAuDQo+ID4gPiArCSAqLw0KPiA+ID4gKwlpZiAoX19p bnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9y ZWcsDQo+ID4gPiArCQkJCSAgICAgIERQX0FVWF9DSF9NVVRFWF9TVEFUVVMsIDAsIDUwMCwgMiwN Cj4gPiA+ICsJCQkJICAgICAgTlVMTCkpIHsNCj4gPiA+ICsJCURSTV9XQVJOKCJkcF9hdXhfY2gg cG9ydCBsb2NrZWQgZm9yIHRvbyBsb25nIik7DQo+ID4gPiArCQlyZXR1cm4gZmFsc2U7DQo+ID4g PiArCX0NCj4gPiA+ICsNCj4gPiA+ICsJcmV0dXJuIHRydWU7DQo+ID4gPiArfQ0KPiA+ID4gKw0K PiA+ID4gK3N0YXRpYyB2b2lkIGludGVsX2RwX2F1eF9jaF91bmxvY2soc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkNCj4gPiA+ICt7DQo+ID4gPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOw0KPiA+ID4gKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQ0KPiA+ID4gKwkJCXRvX2k5MTUoaW50ZWxf ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOw0KPiA+ID4gKw0KPiA+ID4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA8IDkpDQo+ID4gPiArCQlyZXR1cm47DQo+ID4gPiArDQo+ID4gPiArCS8qIHNl dHRpbmcgdGhlIHN0YXR1cyBiaXQgcmVsZWFzZXMgdGhlIG11dGV4ICsga2VlcCBtdXRleCBlbmFi bGVkICovDQo+ID4gPiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsIERQ X0FVWF9DSF9NVVRFWF9FTkFCTEUgfA0KPiA+ID4gKwkJICAgRFBfQVVYX0NIX01VVEVYX1NUQVRV Uyk7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyBpbnQNCj4gPiA+ICBpbnRlbF9k cF9hdXhfY2goc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4gPiA+ICAJCWNvbnN0IHVpbnQ4 X3QgKnNlbmQsIGludCBzZW5kX2J5dGVzLA0KPiA+ID4gQEAgLTExMTUsNiArMTE1NCwxMSBAQCBp bnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4gPiA+ICANCj4gPiA+ ICAJaW50ZWxfZHBfY2hlY2tfZWRwKGludGVsX2RwKTsNCj4gPiA+ICANCj4gPiA+ICsJaWYgKCFp bnRlbF9kcF9hdXhfY2hfdHJ5bG9jayhpbnRlbF9kcCkpIHsNCj4gPiA+ICsJCXJldCA9IC1FQlVT WTsNCj4gPiA+ICsJCWdvdG8gb3V0X2xvY2tlZDsNCj4gPiA+ICsJfQ0KPiA+ID4gKw0KPiA+ID4g IAkvKiBUcnkgdG8gd2FpdCBmb3IgYW55IHByZXZpb3VzIEFVWCBjaGFubmVsIGFjdGl2aXR5ICov DQo+ID4gPiAgCWZvciAodHJ5ID0gMDsgdHJ5IDwgMzsgdHJ5KyspIHsNCj4gPiA+ICAJCXN0YXR1 cyA9IEk5MTVfUkVBRF9OT1RSQUNFKGNoX2N0bCk7DQo+ID4gPiBAQCAtMTI0NCw2ICsxMjg4LDgg QEAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiAgDQo+ ID4gPiAgCXJldCA9IHJlY3ZfYnl0ZXM7DQo+ID4gPiAgb3V0Og0KPiA+ID4gKwlpbnRlbF9kcF9h dXhfY2hfdW5sb2NrKGludGVsX2RwKTsNCj4gPiA+ICtvdXRfbG9ja2VkOg0KPiA+ID4gIAlwbV9x b3NfdXBkYXRlX3JlcXVlc3QoJmRldl9wcml2LT5wbV9xb3MsIFBNX1FPU19ERUZBVUxUX1ZBTFVF KTsNCj4gPiA+ICANCj4gPiA+ICAJaWYgKHZkZCkNCj4gPiA+IEBAIC0xNDk2LDYgKzE1NDIsMTAg QEAgc3RhdGljIHZvaWQgaW50ZWxfYXV4X3JlZ19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApDQo+ID4gPiAgCWludGVsX2RwLT5hdXhfY2hfY3RsX3JlZyA9IGludGVsX2F1eF9jdGxfcmVn KGRldl9wcml2LCBwb3J0KTsNCj4gPiA+ICAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW50 ZWxfZHAtPmF1eF9jaF9kYXRhX3JlZyk7IGkrKykNCj4gPiA+ICAJCWludGVsX2RwLT5hdXhfY2hf ZGF0YV9yZWdbaV0gPSBpbnRlbF9hdXhfZGF0YV9yZWcoZGV2X3ByaXYsIHBvcnQsIGkpOw0KPiA+ ID4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KSB7DQo+ID4gPiArCQlpbnRl bF9kcC0+YXV4X2NoX211dGV4X3JlZyA9IERQX0FVWF9DSF9NVVRFWChwb3J0KTsNCj4gPiA+ICsJ CUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsIERQX0FVWF9DSF9NVVRFWF9F TkFCTEUpOw0KPiA+ID4gKwl9DQo+ID4gPiAgfQ0KPiA+ID4gIA0KPiA+ID4gIHN0YXRpYyB2b2lk DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+ID4gaW5kZXggNTA4NzRmNDAzNWNm Li4wYzg4NjU3ZDYwNjYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaA0KPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgN Cj4gPiA+IEBAIC0xMDQzLDYgKzEwNDMsNyBAQCBzdHJ1Y3QgaW50ZWxfZHAgew0KPiA+ID4gIAlp OTE1X3JlZ190IG91dHB1dF9yZWc7DQo+ID4gPiAgCWk5MTVfcmVnX3QgYXV4X2NoX2N0bF9yZWc7 DQo+ID4gPiAgCWk5MTVfcmVnX3QgYXV4X2NoX2RhdGFfcmVnWzVdOw0KPiA+ID4gKwlpOTE1X3Jl Z190IGF1eF9jaF9tdXRleF9yZWc7DQo+ID4gPiAgCXVpbnQzMl90IERQOw0KPiA+ID4gIAlpbnQg bGlua19yYXRlOw0KPiA+ID4gIAl1aW50OF90IGxhbmVfY291bnQ7DQo+ID4gPiAtLSANCj4gPiA+ IDIuMTYuMg0KPiA+ID4gDQo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXw0KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+ID4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngNCj4gPiANCj4gPiAtLSANCj4gPiBWaWxs ZSBTeXJqw6Rsw6QNCj4gPiBJbnRlbCBPVEMNCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK