RE: [Intel-gfx] [PATCH v7 06/18] drm/i915/dp: Read out DP SDPs
From: Shankar, Uma <hidden>
Date: 2020-03-16 05:11:32
Also in:
dri-devel, intel-gfx
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSW50ZWwtZ2Z4IDxpbnRl bC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZiBHd2FuLQ0K PiBneWVvbmcgTXVuDQo+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDExLCAyMDIwIDE6MTcgUE0N Cj4gVG86IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gQ2M6IGxpbnV4LWZiZGV2 QHZnZXIua2VybmVsLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBTdWJq ZWN0OiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggdjcgMDYvMThdIGRybS9pOTE1L2RwOiBSZWFkIG91dCBE UCBTRFBzDQo+IA0KPiBJdCBhZGRzIGNvZGUgdG8gcmVhZCB0aGUgRFAgU0RQcyBmcm9tIHRoZSB2 aWRlbyBESVAgYW5kIHVucGFjayB0aGVtIGludG8gdGhlIGNydGMNCj4gc3RhdGUuDQo+IA0KPiBJ dCBhZGRzIHJvdXRpbmVzIHRoYXQgcmVhZCBvdXQgRFAgVlNDIFNEUCBhbmQgRFAgSERSIE1ldGFk YXRhIEluZm9mcmFtZSBTRFAgSW4NCj4gb3JkZXIgdG8gdW5wYWNrIERQIFZTQyBTRFAsIGl0IGFk ZHMgaW50ZWxfZHBfdnNjX3NkcF91bnBhY2soKSBmdW5jdGlvbi4NCj4gSXQgZm9sbG93cyBEUCAx LjRhIHNwZWMuIFtUYWJsZSAyLTExNjogVlNDIFNEUCBIZWFkZXIgQnl0ZXNdIGFuZCBbVGFibGUg Mi0xMTc6IFZTQw0KPiBTRFAgUGF5bG9hZCBmb3IgREIxNiB0aHJvdWdoIERCMThdDQo+IA0KPiBJ biBvcmRlciB0byB1bnBhY2sgRFAgSERSIE1ldGFkYXRhIEluZm9mcmFtZSBTRFAsIGl0IGFkZHMN Cj4gaW50ZWxfZHBfaGRyX21ldGFkYXRhX2luZm9mcmFtZV9zZHBfdW5wYWNrKCkuIEFuZCBpdCBm b2xsb3dzIERQIDEuNGEgc3BlYy4NCj4gKFtUYWJsZSAyLTEyNTogSU5GT0ZSQU1FIFNEUCB2MS4y IEhlYWRlciBCeXRlc10gYW5kIFtUYWJsZSAyLTEyNjogSU5GT0ZSQU1FDQo+IFNEUCB2MS4yIFBh eWxvYWQgRGF0YSBCeXRlcyAtIERCMCB0aHJvdWdoIERCMzFdKSBhbmQgQ1RBLTg2MS1HIHNwZWMu IFtUYWJsZS00Mg0KPiBEeW5hbWljIFJhbmdlIGFuZCBNYXN0ZXJpbmcgSW5mb0ZyYW1lXS4NCj4g DQo+IEEgbmFtaW5nIHJ1bGUgYW5kIHN0eWxlIG9mIGludGVsX3JlYWRfZHBfc2RwKCkgZnVuY3Rp b24gcmVmZXJlbmNlcw0KPiBpbnRlbF9yZWFkX2luZm9mcmFtZSgpIGZ1bmN0aW9uIG9mIGludGVs X2hkbWkuYw0KPiANCj4gdjI6IE1pbm9yIHN0eWxlIGZpeA0KPiB2MzogUmVwbGFjZSBhIHN0cnVj dHVyZSBuYW1lIHRvIGRybV9kcF92c2Nfc2RwIGZyb20gaW50ZWxfZHBfdnNjX3NkcA0KPiB2NDog VXNlIHN0cnVjdCBkcm1fZGV2aWNlIGxvZ2dpbmcgbWFjcm9zDQo+IHY1OiBBZGRyZXNzZWQgcmV2 aWV3IGNvbW1lbnRzIGZyb20gVW1hDQo+ICAgLSBQb2xpc2ggY29tbWl0IG1lc3NhZ2UgYW5kIGNv bW1lbnRzDQo+ICAgLSBDb21iaW5lIHRoZSBpZiBjaGVja3Mgb2Ygc2RwLkhCMiBhbmQgc2RwLkhC Mw0KPiAgIC0gQWRkIDZicGMgdG8gdW5wYWNraW5nIG9mIFZTQyBTRFANCg0KTG9va3MgZ29vZCB0 byBtZS4NClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPg0K DQo+IFNpZ25lZC1vZmYtYnk6IEd3YW4tZ3llb25nIE11biA8Z3dhbi1neWVvbmcubXVuQGludGVs LmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMg fCAxODcgKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwLmggfCAgIDMgKw0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAxOTAgaW5zZXJ0 aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHAuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYw0K PiBpbmRleCA1YmJjNTUxMTMzMjUuLjNkZjM1MzNhMTc2OCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYw0KPiBAQCAtNDk0MCw2ICs0OTQwLDE5MyBAQCB2b2lk IGludGVsX2RwX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyDQo+ICplbmNvZGVy LA0KPiAgCWludGVsX3dyaXRlX2RwX3NkcChlbmNvZGVyLCBjcnRjX3N0YXRlLA0KPiBIRE1JX1BB Q0tFVF9UWVBFX0dBTVVUX01FVEFEQVRBKTsgIH0NCj4gDQo+ICtzdGF0aWMgaW50IGludGVsX2Rw X3ZzY19zZHBfdW5wYWNrKHN0cnVjdCBkcm1fZHBfdnNjX3NkcCAqdnNjLA0KPiArCQkJCSAgIGNv bnN0IHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpIHsNCj4gKwljb25zdCBzdHJ1Y3QgZHBfc2Rw ICpzZHAgPSBidWZmZXI7DQo+ICsNCj4gKwlpZiAoc2l6ZSA8IHNpemVvZihzdHJ1Y3QgZHBfc2Rw KSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwltZW1zZXQodnNjLCAwLCBzaXplKTsN Cj4gKw0KPiArCWlmIChzZHAtPnNkcF9oZWFkZXIuSEIwICE9IDApDQo+ICsJCXJldHVybiAtRUlO VkFMOw0KPiArDQo+ICsJaWYgKHNkcC0+c2RwX2hlYWRlci5IQjEgIT0gRFBfU0RQX1ZTQykNCj4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwl2c2MtPnNkcF90eXBlID0gc2RwLT5zZHBfaGVh ZGVyLkhCMTsNCj4gKwl2c2MtPnJldmlzaW9uID0gc2RwLT5zZHBfaGVhZGVyLkhCMjsNCj4gKwl2 c2MtPmxlbmd0aCA9IHNkcC0+c2RwX2hlYWRlci5IQjM7DQo+ICsNCj4gKwlpZiAoKHNkcC0+c2Rw X2hlYWRlci5IQjIgPT0gMHgyICYmIHNkcC0+c2RwX2hlYWRlci5IQjMgPT0gMHg4KSB8fA0KPiAr CSAgICAoc2RwLT5zZHBfaGVhZGVyLkhCMiA9PSAweDQgJiYgc2RwLT5zZHBfaGVhZGVyLkhCMyA9 PSAweGUpKSB7DQo+ICsJCS8qDQo+ICsJCSAqIC0gSEIyID0gMHgyLCBIQjMgPSAweDgNCj4gKwkJ ICogICBWU0MgU0RQIHN1cHBvcnRpbmcgM0Qgc3RlcmVvICsgUFNSDQo+ICsJCSAqIC0gSEIyID0g MHg0LCBIQjMgPSAweGUNCj4gKwkJICogICBWU0MgU0RQIHN1cHBvcnRpbmcgM0Qgc3RlcmVvICsg UFNSMiB3aXRoIFktY29vcmRpbmF0ZSBvZg0KPiArCQkgKiAgIGZpcnN0IHNjYW4gbGluZSBvZiB0 aGUgU1UgcmVnaW9uIChhcHBsaWVzIHRvIGVEUCB2MS40Yg0KPiArCQkgKiAgIGFuZCBoaWdoZXIp Lg0KPiArCQkgKi8NCj4gKwkJcmV0dXJuIDA7DQo+ICsJfSBlbHNlIGlmIChzZHAtPnNkcF9oZWFk ZXIuSEIyID09IDB4NSAmJiBzZHAtPnNkcF9oZWFkZXIuSEIzID09IDB4MTMpIHsNCj4gKwkJLyoN Cj4gKwkJICogLSBIQjIgPSAweDUsIEhCMyA9IDB4MTMNCj4gKwkJICogICBWU0MgU0RQIHN1cHBv cnRpbmcgM0Qgc3RlcmVvICsgUFNSMiArIFBpeGVsDQo+IEVuY29kaW5nL0NvbG9yaW1ldHJ5DQo+ ICsJCSAqICAgRm9ybWF0Lg0KPiArCQkgKi8NCj4gKwkJdnNjLT5waXhlbGZvcm1hdCA9IChzZHAt PmRiWzE2XSA+PiA0KSAmIDB4ZjsNCj4gKwkJdnNjLT5jb2xvcmltZXRyeSA9IHNkcC0+ZGJbMTZd ICYgMHhmOw0KPiArCQl2c2MtPmR5bmFtaWNfcmFuZ2UgPSAoc2RwLT5kYlsxN10gPj4gNykgJiAw eDE7DQo+ICsNCj4gKwkJc3dpdGNoIChzZHAtPmRiWzE3XSAmIDB4Nykgew0KPiArCQljYXNlIDB4 MDoNCj4gKwkJCXZzYy0+YnBjID0gNjsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNlIDB4MToNCj4g KwkJCXZzYy0+YnBjID0gODsNCj4gKwkJCWJyZWFrOw0KPiArCQljYXNlIDB4MjoNCj4gKwkJCXZz Yy0+YnBjID0gMTA7DQo+ICsJCQlicmVhazsNCj4gKwkJY2FzZSAweDM6DQo+ICsJCQl2c2MtPmJw YyA9IDEyOw0KPiArCQkJYnJlYWs7DQo+ICsJCWNhc2UgMHg0Og0KPiArCQkJdnNjLT5icGMgPSAx NjsNCj4gKwkJCWJyZWFrOw0KPiArCQlkZWZhdWx0Og0KPiArCQkJTUlTU0lOR19DQVNFKHNkcC0+ ZGJbMTddICYgMHg3KTsNCj4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiArCQl9DQo+ICsNCj4gKwkJ dnNjLT5jb250ZW50X3R5cGUgPSBzZHAtPmRiWzE4XSAmIDB4NzsNCj4gKwl9IGVsc2Ugew0KPiAr CQlyZXR1cm4gLUVJTlZBTDsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0K PiArc3RhdGljIGludA0KPiAraW50ZWxfZHBfaGRyX21ldGFkYXRhX2luZm9mcmFtZV9zZHBfdW5w YWNrKHN0cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUNCj4gKmRybV9pbmZvZnJhbWUsDQo+ICsJCQkJ CSAgIGNvbnN0IHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpIHsNCj4gKwlpbnQgcmV0Ow0KPiAr DQo+ICsJY29uc3Qgc3RydWN0IGRwX3NkcCAqc2RwID0gYnVmZmVyOw0KPiArDQo+ICsJaWYgKHNp emUgPCBzaXplb2Yoc3RydWN0IGRwX3NkcCkpDQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArDQo+ ICsJaWYgKHNkcC0+c2RwX2hlYWRlci5IQjAgIT0gMCkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ ICsNCj4gKwlpZiAoc2RwLT5zZHBfaGVhZGVyLkhCMSAhPSBIRE1JX0lORk9GUkFNRV9UWVBFX0RS TSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwkvKg0KPiArCSAqIExlYXN0IFNpZ25p ZmljYW50IEVpZ2h0IEJpdHMgb2YgKERhdGEgQnl0ZSBDb3VudCDigJMgMSkNCj4gKwkgKiAxRGgg KGkuZS4sIERhdGEgQnl0ZSBDb3VudCA9IDMwIGJ5dGVzKS4NCj4gKwkgKi8NCj4gKwlpZiAoc2Rw LT5zZHBfaGVhZGVyLkhCMiAhPSAweDFEKQ0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiAr CS8qIE1vc3QgU2lnbmlmaWNhbnQgVHdvIEJpdHMgb2YgKERhdGEgQnl0ZSBDb3VudCDigJMgMSks IENsZWFyIHRvIDAwYi4gKi8NCj4gKwlpZiAoKHNkcC0+c2RwX2hlYWRlci5IQjMgJiAweDMpICE9 IDApDQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArDQo+ICsJLyogSU5GT0ZSQU1FIFNEUCBWZXJz aW9uIE51bWJlciAqLw0KPiArCWlmICgoKHNkcC0+c2RwX2hlYWRlci5IQjMgPj4gMikgJiAweDNm KSAhPSAweDEzKQ0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArCS8qIENUQSBIZWFkZXIg Qnl0ZSAyIChJTkZPRlJBTUUgVmVyc2lvbiBOdW1iZXIpICovDQo+ICsJaWYgKHNkcC0+ZGJbMF0g IT0gMSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwkvKiBDVEEgSGVhZGVyIEJ5dGUg MyAoTGVuZ3RoIG9mIElORk9GUkFNRSk6DQo+IEhETUlfRFJNX0lORk9GUkFNRV9TSVpFICovDQo+ ICsJaWYgKHNkcC0+ZGJbMV0gIT0gSERNSV9EUk1fSU5GT0ZSQU1FX1NJWkUpDQo+ICsJCXJldHVy biAtRUlOVkFMOw0KPiArDQo+ICsJcmV0ID0gaGRtaV9kcm1faW5mb2ZyYW1lX3VucGFja19vbmx5 KGRybV9pbmZvZnJhbWUsICZzZHAtPmRiWzJdLA0KPiArCQkJCQkgICAgIEhETUlfRFJNX0lORk9G UkFNRV9TSVpFKTsNCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2 b2lkIGludGVsX3JlYWRfZHBfdnNjX3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwN Cj4gKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLA0KPiArCQkJCSAg c3RydWN0IGRybV9kcF92c2Nfc2RwICp2c2MpDQo+ICt7DQo+ICsJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7DQo+ICsJ c3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsNCj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsNCj4gKwl1bnNpZ25lZCBpbnQgdHlwZSA9IERQX1NEUF9WU0M7DQo+ICsJc3RydWN0 IGRwX3NkcCBzZHAgPSB7fTsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJLyogV2hlbiBQU1IgaXMg ZW5hYmxlZCwgVlNDIFNEUCBpcyBoYW5kbGVkIGJ5IFBTUiByb3V0aW5lICovDQo+ICsJaWYgKGlu dGVsX3Bzcl9lbmFibGVkKGludGVsX2RwKSkNCj4gKwkJcmV0dXJuOw0KPiArDQo+ICsJaWYgKChj cnRjX3N0YXRlLT5pbmZvZnJhbWVzLmVuYWJsZSAmDQo+ICsJICAgICBpbnRlbF9oZG1pX2luZm9m cmFtZV9lbmFibGUodHlwZSkpID09IDApDQo+ICsJCXJldHVybjsNCj4gKw0KPiArCWludGVsX2Rp Z19wb3J0LT5yZWFkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCB0eXBlLCAmc2RwLA0K PiArc2l6ZW9mKHNkcCkpOw0KPiArDQo+ICsJcmV0ID0gaW50ZWxfZHBfdnNjX3NkcF91bnBhY2so dnNjLCAmc2RwLCBzaXplb2Yoc2RwKSk7DQo+ICsNCj4gKwlpZiAocmV0KQ0KPiArCQlkcm1fZGJn X2ttcygmZGV2X3ByaXYtPmRybSwgIkZhaWxlZCB0byB1bnBhY2sgRFAgVlNDIFNEUFxuIik7IH0N Cj4gKw0KPiArc3RhdGljIHZvaWQgaW50ZWxfcmVhZF9kcF9oZHJfbWV0YWRhdGFfaW5mb2ZyYW1l X3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2Rlcg0KPiAqZW5jb2RlciwNCj4gKwkJCQkJCSAgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNydGNfc3RhdGUsDQo+ICsJCQkJCQkgICAgIHN0cnVj dCBoZG1pX2RybV9pbmZvZnJhbWUNCj4gKmRybV9pbmZvZnJhbWUpIHsNCj4gKwlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVy KTsNCj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsNCj4gKwl1bnNpZ25lZCBpbnQgdHlwZSA9IEhETUlfUEFDS0VUX1RZUEVf R0FNVVRfTUVUQURBVEE7DQo+ICsJc3RydWN0IGRwX3NkcCBzZHAgPSB7fTsNCj4gKwlpbnQgcmV0 Ow0KPiArDQo+ICsJaWYgKChjcnRjX3N0YXRlLT5pbmZvZnJhbWVzLmVuYWJsZSAmDQo+ICsJICAg IGludGVsX2hkbWlfaW5mb2ZyYW1lX2VuYWJsZSh0eXBlKSkgPT0gMCkNCj4gKwkJcmV0dXJuOw0K PiArDQo+ICsJaW50ZWxfZGlnX3BvcnQtPnJlYWRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3Rh dGUsIHR5cGUsICZzZHAsDQo+ICsJCQkJICAgICAgIHNpemVvZihzZHApKTsNCj4gKw0KPiArCXJl dCA9IGludGVsX2RwX2hkcl9tZXRhZGF0YV9pbmZvZnJhbWVfc2RwX3VucGFjayhkcm1faW5mb2Zy YW1lLCAmc2RwLA0KPiArCQkJCQkJCSBzaXplb2Yoc2RwKSk7DQo+ICsNCj4gKwlpZiAocmV0KQ0K PiArCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwNCj4gKwkJCSAgICAiRmFpbGVkIHRvIHVu cGFjayBEUCBIRFIgTWV0YWRhdGEgSW5mb2ZyYW1lIFNEUFxuIik7IH0NCj4gKw0KPiArdm9pZCBp bnRlbF9yZWFkX2RwX3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwNCj4gKwkJICAg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLA0KPiArCQkgICAgICAgdW5z aWduZWQgaW50IHR5cGUpDQo+ICt7DQo+ICsJc3dpdGNoICh0eXBlKSB7DQo+ICsJY2FzZSBEUF9T RFBfVlNDOg0KPiArCQlpbnRlbF9yZWFkX2RwX3ZzY19zZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwN Cj4gKwkJCQkgICAgICAmY3J0Y19zdGF0ZS0+aW5mb2ZyYW1lcy52c2MpOw0KPiArCQlicmVhazsN Cj4gKwljYXNlIEhETUlfUEFDS0VUX1RZUEVfR0FNVVRfTUVUQURBVEE6DQo+ICsJCWludGVsX3Jl YWRfZHBfaGRyX21ldGFkYXRhX2luZm9mcmFtZV9zZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwNCj4g KwkJCQkJCQkgJmNydGNfc3RhdGUtDQo+ID5pbmZvZnJhbWVzLmRybS5kcm0pOw0KPiArCQlicmVh azsNCj4gKwlkZWZhdWx0Og0KPiArCQlNSVNTSU5HX0NBU0UodHlwZSk7DQo+ICsJCWJyZWFrOw0K PiArCX0NCj4gK30NCj4gKw0KPiAgc3RhdGljIHZvaWQNCj4gIGludGVsX2RwX3NldHVwX3ZzY19z ZHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4gIAkJICAgICAgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5oDQo+IGluZGV4IDBkYzA5YTQ2M2VlMS4uZThmOWJhOTYyZDA5IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmgNCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5oDQo+IEBAIC0xMTksNiAr MTE5LDkgQEAgdm9pZCBpbnRlbF9kcF9oZHJfbWV0YWRhdGFfZW5hYmxlKHN0cnVjdCBpbnRlbF9k cA0KPiAqaW50ZWxfZHAsICB2b2lkIGludGVsX2RwX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLCBib29sDQo+IGVuYWJsZSwNCj4gIAkJCSAgICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsDQo+ICAJCQkgICAgIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsNCj4gK3ZvaWQgaW50ZWxfcmVhZF9k cF9zZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ICsJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwNCj4gKwkJICAgICAgIHVuc2lnbmVkIGludCB0 eXBlKTsNCj4gIGJvb2wgaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2Rlcik7DQo+IA0KPiAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaW50 ZWxfZHBfdW51c2VkX2xhbmVfbWFzayhpbnQgbGFuZV9jb3VudCkNCj4gLS0NCj4gMi4yNS4wDQo+ IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0DQo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcN Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngNCg=