From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Souza, Jose" Subject: Re: [PATCH 1/5] drm/i915: add and enable DP AUX CH mutex Date: Wed, 14 Feb 2018 02:30:09 +0000 Message-ID: <1518575347.9046.50.camel@intel.com> References: <20180214002917.31252-1-jose.souza@intel.com> <878tbwe4sq.fsf@rdvivi-vienna.i-did-not-set--mail-host-address--so-tickle-me> 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 ESMTPS id 83CB66E05B for ; Wed, 14 Feb 2018 02:30:11 +0000 (UTC) In-Reply-To: <878tbwe4sq.fsf@rdvivi-vienna.i-did-not-set--mail-host-address--so-tickle-me> Content-Language: en-US Content-ID: <74AAD6EE75BAD94DAEE6E9430DAC2920@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "intel-gfx@lists.freedesktop.org" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE4LTAyLTEzIGF0IDE3OjMwIC0wODAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+ IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPiB3cml0ZXM6DQo+ IA0KPiA+IFdoZW4gUFNSL1BTUjIgaXMgZW5hYmxlZCBoYXJkd2FyZSBjYW4gZG8gQVVYIHRyYW5z YWN0aW9ucyBieSBpdA0KPiA+IHNlbGYsIHNvDQo+ID4gbGV0cyB1c2UgdGhlIG11dGV4IHJlZ2lz dGVyIHRoYXQgaXMgYXZhaWxhYmxlIGluIGdlbjkrIHRvIGF2b2lkDQo+ID4gY29uY3VycmVudA0K PiA+IGFjY2VzcyBieSBoYXJkd2FyZSBhbmQgZHJpdmVyLg0KPiA+IA0KPiA+IFJlZmVyZW5jZTog aHR0cHM6Ly8wMS5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9kb2N1bWVudGF0aW9uL2ludGVsLWcN Cj4gPiBmeC1wcm0tb3NyYy1za2wtdm9sMTItZGlzcGxheS5wZGYNCj4gPiBQYWdlIDE5OCAtIEFV WCBwcm9ncmFtbWluZyBzZXF1ZW5jZQ0KPiA+IA0KPiA+IEFzIGdlbiA8IDkgZG9uJ3QgaGF2ZSB0 aGUgbXV0ZXggUFNSIG5lZWRzIHRvIGJlIGRpc2FibGVkLCB0aGF0IGlzDQo+ID4gd2h5IHRoZQ0K PiA+ICdlbHNlIFRPRE8nIHdhcyBhZGRlZC4gVGhpcyBpcyBhbHNvIGJhY2tlZCBieSBzcGVjOg0K PiA+ICJEREkgQSBBVVggY2hhbm5lbCB0cmFuc2FjdGlvbnMgbXVzdCBub3QgYmUgc2VudCB3aGls ZSBTUkQgaXMNCj4gPiBlbmFibGVkLg0KPiA+IFNSRCBtdXN0IGJlIGNvbXBsZXRlbHkgZGlzYWJs ZWQgYmVmb3JlIGEgRERJIEEgQVVYIGNoYW5uZWwNCj4gPiB0cmFuc2FjdGlvbiBjYW4NCj4gPiBi ZSBzZW50LiIgQlNwZWM6IDc1MzANCj4gPiANCj4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdv LnZpdmlAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291 emEgPGpvc2Uuc291emFAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oICB8ICA5ICsrKysrKysrDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgIHwgNDgNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDEgKw0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8ICA2ICsrKysrDQo+ID4gIDQgZmls ZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oDQo+ID4gaW5kZXggZjZhZmE1ZTVlN2MxLi41ZDc3MzYxMTdjYjkgMTAwNjQ0DQo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiBAQCAtNTMxOCw2ICs1MzE4LDcgQEAgZW51 bSB7DQo+ID4gICNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTMJKGRldl9wcml2LQ0KPiA+ID5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDFjKQ0KPiA+ICAjZGVmaW5lIF9EUEFfQVVYX0NI X0RBVEE0CShkZXZfcHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDAy MCkNCj4gPiAgI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtDQo+ID4gPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjQpDQo+ID4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hf TVVURVgJKGRldl9wcml2LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDJD KQ0KPiA+ICANCj4gPiAgI2RlZmluZSBfRFBCX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0NCj4gPiA+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExMCkNCj4gPiAgI2RlZmluZSBfRFBCX0FV WF9DSF9EQVRBMQkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjQxMTQpDQo+ID4gQEAgLTUzMjUsNiArNTMyNiw3IEBAIGVudW0gew0KPiA+ICAjZGVmaW5lIF9E UEJfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0 ICsgMHg2NDExYykNCj4gPiAgI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtDQo+ ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMjApDQo+ID4gICNkZWZpbmUgX0RQ Ql9BVVhfQ0hfREFUQTUJKGRldl9wcml2LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0MTI0KQ0KPiA+ICsjZGVmaW5lIF9EUEJfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0NCj4g PiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDEyQykNCj4gPiAgDQo+ID4gICNkZWZp bmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQyMTApDQo+ID4gICNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTEJKGRldl9wcml2 LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MjE0KQ0KPiA+IEBAIC01MzMy LDYgKzUzMzQsNyBAQCBlbnVtIHsNCj4gPiAgI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMwkoZGV2 X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMWMpDQo+ID4gICNk ZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTQJKGRldl9wcml2LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0MjIwKQ0KPiA+ICAjZGVmaW5lIF9EUENfQVVYX0NIX0RBVEE1CShkZXZf cHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIyNCkNCj4gPiArI2Rl ZmluZSBfRFBDX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlv X29mZnNldCArIDB4NjQyMkMpDQo+ID4gIA0KPiA+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0NUTAkJ KGRldl9wcml2LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzEwKQ0KPiA+ ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDMxNCkNCj4gPiBAQCAtNTMzOSw2ICs1MzQyLDcgQEAgZW51bSB7 DQo+ID4gICNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTMJKGRldl9wcml2LQ0KPiA+ID5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFjKQ0KPiA+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RB VEE0CShkZXZfcHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyMCkN Cj4gPiAgI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQzMjQpDQo+ID4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfTVVU RVgJKGRldl9wcml2LQ0KPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzJDKQ0K PiA+ICANCj4gPiAgI2RlZmluZSBfRFBGX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0NCj4gPiA+aW5m by5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxMCkNCj4gPiAgI2RlZmluZSBfRFBGX0FVWF9D SF9EQVRBMQkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1 MTQpDQo+ID4gQEAgLTUzNDYsOSArNTM1MCwxMSBAQCBlbnVtIHsNCj4gPiAgI2RlZmluZSBfRFBG X0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYtDQo+ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQ1MWMpDQo+ID4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTQJKGRldl9wcml2LQ0KPiA+ ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTIwKQ0KPiA+ICAjZGVmaW5lIF9EUEZf QVVYX0NIX0RBVEE1CShkZXZfcHJpdi0NCj4gPiA+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDUyNCkNCj4gPiArI2RlZmluZSBfRFBGX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtDQo+ID4g PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MkMpDQo+ID4gIA0KPiA+ICAjZGVmaW5l IERQX0FVWF9DSF9DVEwocG9ydCkJX01NSU9fUE9SVChwb3J0LA0KPiA+IF9EUEFfQVVYX0NIX0NU TCwgX0RQQl9BVVhfQ0hfQ1RMKQ0KPiA+ICAjZGVmaW5lIERQX0FVWF9DSF9EQVRBKHBvcnQsIGkp CV9NTUlPKF9QT1JUKHBvcnQsDQo+ID4gX0RQQV9BVVhfQ0hfREFUQTEsIF9EUEJfQVVYX0NIX0RB VEExKSArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovDQo+ID4gKyNkZWZpbmUgRFBfQVVYX0NI X01VVEVYKHBvcnQpCV9NTUlPX1BPUlQocG9ydCwNCj4gPiBfRFBBX0FVWF9DSF9NVVRFWCwgX0RQ Ql9BVVhfQ0hfTVVURVgpDQo+ID4gIA0KPiA+ICAjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9TRU5E X0JVU1kJICAgICgxIDw8IDMxKQ0KPiA+ICAjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9ET05FCQkg ICAgKDEgPDwgMzApDQo+ID4gQEAgLTUzNzgsNiArNTM4NCw5IEBAIGVudW0gew0KPiA+ICAjZGVm aW5lICAgRFBfQVVYX0NIX0NUTF9GV19TWU5DX1BVTFNFX1NLTChjKSAoKChjKSAtIDEpIDw8IDUp DQo+ID4gICNkZWZpbmUgICBEUF9BVVhfQ0hfQ1RMX1NZTkNfUFVMU0VfU0tMKGMpICAgKChjKSAt IDEpDQo+ID4gIA0KPiA+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRQkJKDEgPDwg MzEpDQo+ID4gKyNkZWZpbmUgICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTCQkoMSA8PCAzMCkNCj4g PiArDQo+ID4gIC8qDQo+ID4gICAqIENvbXB1dGluZyBHTUNIIE0gYW5kIE4gdmFsdWVzIGZvciB0 aGUgRGlzcGxheSBQb3J0IGxpbmsNCj4gPiAgICoNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYw0KPiA+IGluZGV4IGYyMGIyNWY5OGU1YS4uYmQ1ZjFiYjczMGZmIDEwMDY0NA0KPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gQEAgLTEwODEsNiArMTA4MSwyOCBAQCBzdGF0aWMg dWludDMyX3QNCj4gPiBpbnRlbF9kcF9nZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsDQo+ID4gIAkJCQkJCWF1eF9jbG9ja19kaXZpZGVyKQ0KPiA+IDsNCj4gPiAgfQ0K PiA+ICANCj4gPiArc3RhdGljIGJvb2wgaW50ZWxfZHBfYXV4X2dldChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsDQo+ID4gKwkJCSAgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkNCj4gPiArew0KPiA+ICsJaW50IHRyeSwgcmV0Ow0KPiANCj4gSGVyZSB5b3UgYXJlIG5vdCBn ZXR0aW5nIHRoZSBhdXguIFlvdSBhcmUgb25seSBnZXR0aW5nIGNoZWNraW5nIGlmDQo+IGF1eA0K PiBpcyBhdmFpbGFibGUuDQo+IE15IHVuZGVyc3RhbmRpbmcgb2YgdGhlIHNwZWMgaXMgdGhhdCB0 aGUgYWN0dWFsIGdldCBpcyBzZXQgRW5hYmxlDQo+IGJpdC4NCg0KVGhlIHNwZWMgaXMgbm90IGNs ZWFyIGJ1dCBiZWNhdXNlIG9mIHRoaXMgMiBzdGF0ZW1lbnRzIEkgdGhpbmsgdGhpcyBpcw0KY29y cmVjdDoNCg0KLSBzdGF0ZW1lbnQgMToNClJlbGVhc2Ugd2l0aCAoaXMgb3B0aW9uYWwpIG9yIHdp dGhvdXQgZGlzYWJsaW5nIE1VVEVYIGZ1bmN0aW9uLg0KRERJX0FVWF9NVVRFWFszMTozMF09ICIx MSINCk9SDQpERElfQVVYX01VVEVYWzMxOjMwXT0iMDEiDQoNClNvIGhlcmUgeW91IHJlbGVhc2Ug dGhlIG11dGV4IGJ5IGFsd2F5cyBzZXRpbmcgdGhlIGJpdCAzMChzdGF0dXMpIGFuZA0KaXMgb3B0 aW5hbCBkaXNhYmxlIHRoZSBtdXRleC4NCg0KLSBzdGF0ZW1lbnQgMjoNCkVuYWJsZSBNVVRFWCB3 aXRob3V0IGNoYW5naW5nIE1VVEVYIHN0YXR1cw0KRERJX0FVWF9NVVRFWFszMV09JzEnDQoNCkFs c28gYWRkaW5nIGEgZmV3IGF1eCB0cmFuc2FjdGlvbnMgYmVmb3JlIGFuZCBhZnRlciBQU1IgZXhp dC9lbmFibGUgSQ0Kd2FzIGFibGUgdG8gY29uZmlybSB0aGF0IHRoZSBoYXJkd2FyZSBnb3QgdGhl IG11dGV4IGFzIHRoZSBzdGF0dXMgYml0DQp3YXMgc2V0IGFuZCBhZnRlciBzbGVlcCBmb3IgNTAw dXNlYyBpdCB3YXMgcmVsZWFzZWQuDQoNCj4gDQo+ID4gKw0KPiA+ICsJZm9yICh0cnkgPSAwLCBy ZXQgPSAtMTsgdHJ5IDwgMyAmJiByZXQ7IHRyeSsrKQ0KPiA+ICsJCXJldCA9IHdhaXRfZm9yKCEo STkxNV9SRUFEX05PVFJBQ0UoaW50ZWxfZHAtDQo+ID4gPmF1eF9jaF9tdXRleF9yZWcpDQo+ID4g KwkJCQkgJiBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTKSwgMC41KTsNCj4gDQo+IHdoYXQgYWJvdXQN Cj4gaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfY2hfbXV0 ZXhfcmVnLA0KPiAJCQkJICAgIERQX0FVWF9DSF9NVVRFWF9TVEFUVVMsIDAsDQo+IAkJCQkgICAg NTAwKQ0KPiA/DQoNClRoaXMgZGlmZmVyZW5jZSB0aGF0IEkgY2FuIHNlZSBiZXR3ZWVuIHdhaXRf Zm9yKCkgYW5kDQppbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigpIGlzIHRoYXQgaW50ZWxfd2FpdF9m b3JfcmVnaXN0ZXIoKSB3aWxsIGNhbGwNCmludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0X19sb2Nr ZWQoKS9wdXRfbG9ja2VkKCkgaXMgdXNlZCB0byBrZXB0IHRoZQ0KaGFyZHdhcmUgZG9tYWluIHdh a2U/DQpJJ20gZmluZSB3aXRoIGJvdGggYnV0IGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCkgaGF2 ZSBhIG1zZWMgcGFyYW1ldGVyDQpzbyB0aGUgdGltZW91dCB3b3VsZCBuZWVkIHRvIGJlIDJtc2Vj IG9yIDNtZXNjKHNvbWV0aGluZyBiZXR3ZWVuIHRoZQ0KYWN0dWFsIDEuNW1zZWMpLg0KDQo+IA0K PiA+ICsNCj4gPiArCXJldHVybiByZXQgPT0gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGlj IHZvaWQgaW50ZWxfZHBfYXV4X3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs DQo+ID4gKwkJCSAgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiArew0KPiA+ICsJ Lyogc2V0dGluZyB0aGUgc3RhdHVzIGJpdCByZWxlYXNlcyB0aGUgbXV0ZXggKyBrZWVwIHNldA0K PiA+IHRoZSBiaXQNCj4gPiArCSAqIHRvIGtlZXAgdGhlIG11dGV4IGVuYWJsZWQuDQo+ID4gKwkg Ki8NCj4gPiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsDQo+ID4gRFBf QVVYX0NIX01VVEVYX0VOQUJMRSB8DQo+IA0KPiBUaGUgZW5hYmxlIGJpdCBpcyBvcHRpb25hbCBo ZXJlLg0KPiBJIGJlbGlldmUgaXQgZ2V0cyBjbGVhbmVyIHdpdGhvdXQgaXQgYnV0IHdpdGggUk1X Lg0KDQpTZWUgd2h5IEkgYmVsaXZlIHRoaXMgaXMgY29ycmVjdCBhYm92ZS4NCg0KPiANCj4gPiAr CQkgICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgc3RhdGlj IGludA0KPiA+ICBpbnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4g PiAgCQljb25zdCB1aW50OF90ICpzZW5kLCBpbnQgc2VuZF9ieXRlcywNCj4gPiBAQCAtMTExNSw2 ICsxMTM3LDIxIEBAIGludGVsX2RwX2F1eF9jaChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLA0K PiA+ICANCj4gPiAgCWludGVsX2RwX2NoZWNrX2VkcChpbnRlbF9kcCk7DQo+ID4gIA0KPiA+ICsJ LyogR2V0IGhhcmR3YXJlIG11dGV4IHdoZW4gUFNSIGlzIGVuYWJsZWQgKi8NCj4gPiArCWlmIChk ZXZfcHJpdi0+cHNyLmVuYWJsZWQgPT0gaW50ZWxfZHApIHsNCj4gPiArCQlpZiAoaW50ZWxfZHAt PmF1eF9jaF9tdXRleF9yZWcucmVnKSB7DQo+IA0KPiB0aGVzZSBjaGVja3MgY291bGQgYmUgaW5z aWRlIGdldCBmdW5jdGlvbi4NCg0KSHV1bSBhbmQgaW4gY2FzZSBvZiBnZW4gPCA5LCBleGl0IFBT UiBpbnNpZGUgb2YgdGhpcyBmdW5jdGlvbj8NCg0KPiANCj4gPiArCQkJaWYgKGludGVsX2RwX2F1 eF9nZXQoZGV2X3ByaXYsIGludGVsX2RwKSkNCj4gPiB7DQo+ID4gKwkJCQlEUk1fV0FSTigiZHBf YXV4X2NoIHBvcnQgbG9ja2VkDQo+ID4gZm9yIHRvbw0KPiA+IGxvbmciKTsNCj4gDQo+IGFzIHdl bGwgdGhlIG1lc3NhZ2UgRFJNX0VSUk9SIGlzIGVub3VnaCBJIHRoaW5nLg0KDQphY2sNCg0KPiAN Cj4gPiArCQkJCXJldCA9IC1FQlVTWTsNCj4gDQo+IGFsc28gc3BlY2lmaWMgZXJybm8NCg0KYWNr DQoNCj4gDQo+ID4gKwkJCQlnb3RvIG91dF9sb2NrZWQ7DQo+ID4gKwkJCX0NCj4gPiArCQl9IGVs c2Ugew0KPiA+ICsJCQkvKiBUT0RPOiBnbyB0byBQU1IgZXhpdCBzdGF0ZSB3YWl0aW5nIGZvcg0K PiA+IGNoYW5nZSBiZWZvcmUNCj4gPiArCQkJICogZG8gYSBhdXggY2ggdHJhbnNhY3Rpb24uDQo+ ID4gKwkJCSAqLw0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArDQo+ID4gIAkvKiBUcnkgdG8gd2Fp dCBmb3IgYW55IHByZXZpb3VzIEFVWCBjaGFubmVsIGFjdGl2aXR5ICovDQo+ID4gIAlmb3IgKHRy eSA9IDA7IHRyeSA8IDM7IHRyeSsrKSB7DQo+ID4gIAkJc3RhdHVzID0gSTkxNV9SRUFEX05PVFJB Q0UoY2hfY3RsKTsNCj4gPiBAQCAtMTI0Myw3ICsxMjgwLDE2IEBAIGludGVsX2RwX2F1eF9jaChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLA0KPiA+ICAJCQkJICAgIHJlY3YgKyBpLCByZWN2X2J5 dGVzIC0gaSk7DQo+ID4gIA0KPiA+ICAJcmV0ID0gcmVjdl9ieXRlczsNCj4gPiArDQo+ID4gIG91 dDoNCj4gPiArCWlmIChkZXZfcHJpdi0+cHNyLmVuYWJsZWQgPT0gaW50ZWxfZHApIHsNCj4gDQo+ IHdlIGFyZSBjaGVja2luZyBwc3IuZW5hYmxlIG91dCBvZiBwc3IgbXV0ZXhlcy4uLg0KPiBwcm9i YWJseSBiZXR0ZXIgdG8gb25seSBkbyB0aGlzIG9uY2Ugb24gZ2V0IHBhcnQNCj4gYW5kIGlmIHlv dSBnb3QgeW91IHB1dC4uLg0KDQphY2sNCg0KPiANCj4gPiArCQlpZiAoaW50ZWxfZHAtPmF1eF9j aF9tdXRleF9yZWcucmVnKQ0KPiA+ICsJCQlpbnRlbF9kcF9hdXhfcHV0KGRldl9wcml2LCBpbnRl bF9kcCk7DQo+ID4gKwkJZWxzZQ0KPiA+ICsJCQkvKiBUT0RPOiBzY2hlZHVsZSBQU1Igd29yayB0 byBhY3RpdmUgUFNSDQo+ID4gYWdhaW4gKi8NCj4gPiArCX0NCj4gPiArDQo+ID4gK291dF9sb2Nr ZWQ6DQo+ID4gIAlwbV9xb3NfdXBkYXRlX3JlcXVlc3QoJmRldl9wcml2LT5wbV9xb3MsDQo+ID4g UE1fUU9TX0RFRkFVTFRfVkFMVUUpOw0KPiA+ICANCj4gPiAgCWlmICh2ZGQpDQo+ID4gQEAgLTE0 OTYsNiArMTU0Miw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2F1eF9yZWdfaW5pdChzdHJ1Y3QNCj4g PiBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gIAlpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWcgPSBp bnRlbF9hdXhfY3RsX3JlZyhkZXZfcHJpdiwNCj4gPiBwb3J0KTsNCj4gPiAgCWZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKGludGVsX2RwLT5hdXhfY2hfZGF0YV9yZWcpOw0KPiA+IGkrKykNCj4g PiAgCQlpbnRlbF9kcC0+YXV4X2NoX2RhdGFfcmVnW2ldID0NCj4gPiBpbnRlbF9hdXhfZGF0YV9y ZWcoZGV2X3ByaXYsIHBvcnQsIGkpOw0KPiA+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5n ZW4gPj0gOSkNCj4gPiArCQlpbnRlbF9kcC0+YXV4X2NoX211dGV4X3JlZyA9DQo+ID4gRFBfQVVY X0NIX01VVEVYKHBvcnQpOw0KPiA+ICB9DQo+ID4gIA0KPiA+ICBzdGF0aWMgdm9pZA0KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgNCj4gPiBpbmRleCA4OTgwNjRlOGJlYTcuLjBkMjM1 YjdkYWIyMSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gQEAgLTEw NDAsNiArMTA0MCw3IEBAIHN0cnVjdCBpbnRlbF9kcCB7DQo+ID4gIAlpOTE1X3JlZ190IG91dHB1 dF9yZWc7DQo+ID4gIAlpOTE1X3JlZ190IGF1eF9jaF9jdGxfcmVnOw0KPiA+ICAJaTkxNV9yZWdf dCBhdXhfY2hfZGF0YV9yZWdbNV07DQo+ID4gKwlpOTE1X3JlZ190IGF1eF9jaF9tdXRleF9yZWc7 DQo+ID4gIAl1aW50MzJfdCBEUDsNCj4gPiAgCWludCBsaW5rX3JhdGU7DQo+ID4gIAl1aW50OF90 IGxhbmVfY291bnQ7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYw0KPiA+IGluZGV4 IDJlZjM3NGY5MzZiOS4uOGI0NTZlNGUxYjQ3IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Bzci5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMNCj4gPiBAQCAtNDg0LDYgKzQ4NCw5IEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfZW5h YmxlX3NvdXJjZShzdHJ1Y3QNCj4gPiBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gIAkJCSAgIEVE UF9QU1JfREVCVUdfTUFTS19IUEQgfA0KPiA+ICAJCQkgICBFRFBfUFNSX0RFQlVHX01BU0tfTFBT UCk7DQo+ID4gIAl9DQo+ID4gKw0KPiA+ICsJaWYgKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVn LnJlZykNCj4gPiArCQlJOTE1X1dSSVRFKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnLA0KPiA+ IERQX0FVWF9DSF9NVVRFWF9FTkFCTEUpOw0KPiANCj4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0 IHNldCBFbmFibGUgaXMgdGhlIGFjdHVhbCBnZXQgaHcgbXV0ZXgsDQo+IHNvIEkgZG9uJ3QgYmVs aWV2ZSB5b3Ugd2FudCBkbyBkbyB0aGlzIGhlcmUuDQo+IA0KPiBBbHNvIHlvdSBhbHJlYWR5IGNo ZWNrIGZvciBwc3IuZW5hYmxlIGluc2lkZSB0aGUgYXV4IHRyYW5zYWN0aW9uLg0KPiBzZXR0aW5n IHRoZXJlIHNob3VsZCBiZSBlbm91Z2guDQoNClNlZSBhYm92ZS4NCg0KPiANCj4gPiAgfQ0KPiA+ ICANCj4gPiAgLyoqDQo+ID4gQEAgLTYxNyw2ICs2MjAsOSBAQCBzdGF0aWMgdm9pZCBoc3dfcHNy X2Rpc2FibGUoc3RydWN0IGludGVsX2RwDQo+ID4gKmludGVsX2RwLA0KPiA+ICAJCWVsc2UNCj4g PiAgCQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYNCj4gPiBFRFBfUFNSX0VOQUJM RSk7DQo+ID4gIAl9DQo+ID4gKw0KPiA+ICsJaWYgKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVn LnJlZykNCj4gPiArCQlJOTE1X1dSSVRFKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnLA0KPiA+ IH5EUF9BVVhfQ0hfTVVURVhfRU5BQkxFKTsNCj4gPiAgfQ0KPiA+ICANCj4gPiAgLyoqDQo+ID4g LS0gDQo+ID4gMi4xNi4xDQo+ID4gDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0DQo+ID4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=