From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH v7 4/4] drm/dp: Track MST link bandwidth Date: Fri, 28 Apr 2017 00:32:15 +0000 Message-ID: <1493340707.26491.125.camel@dk-H97M-D3H> References: <1492753893-3748-1-git-send-email-dhinakaran.pandiyan@intel.com> <1492753893-3748-5-git-send-email-dhinakaran.pandiyan@intel.com> <6d679d9d-8f51-486d-c01e-8ba9e816c66d@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <6d679d9d-8f51-486d-c01e-8ba9e816c66d@linux.intel.com> Content-Language: en-US Content-ID: <06ACDE1B3C9E9D4CAC8E52D1D77A1913@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "maarten.lankhorst@linux.intel.com" Cc: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , "Harry.wentland@amd.com" , "architt@codeaurora.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAyMDE3LTA0LTI1IGF0IDA5OjUxICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToNCj4gT24gMjEtMDQtMTcgMDc6NTEsIERoaW5ha2FyYW4gUGFuZGl5YW4gd3JvdGU6DQo+ID4g RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+DQo+ID4NCj4gPiBVc2UgdGhlIGFkZGVkIGhlbHBlcnMgdG8gdHJhY2sgTVNUIGxpbmsgYmFu ZHdpZHRoIGZvciBhdG9taWMgbW9kZXNldHMuDQo+ID4gTGluayBidyBpcyBhY3F1aXJlZCBpbiB0 aGUgLT5hdG9taWNfY2hlY2soKSBwaGFzZSB3aGVuIENSVENzIGFyZSBiZWluZw0KPiA+IGVuYWJs ZWQgd2l0aCBkcm1fYXRvbWljX2ZpbmRfdmNwaV9zbG90cygpIGluc3RlYWQgb2YgZHJtX2ZpbmRf dmNwaV9zbG90cygpLg0KPiA+IFNpbWlsYXJseSwgbGluayBidyBpcyByZWxlYXNlZCBkdXJpbmcg LT5hdG9taWNfY2hlY2soKSB3aXRoIHRoZSBjb25uZWN0b3INCj4gPiBoZWxwZXIgY2FsbGJhY2sg LT5hdG9taWNfcmVsZWFzZSgpIHdoZW4gQ1JUQ3MgYXJlIGRpc2FibGVkLg0KPiA+DQo+ID4gdjU6 IEltcGxlbWVudCBjb25uZWN0b3ItPmF0b21pY19jaGVjaygpIGluIHBsYWNlIG9mIGF0b21pY19y ZWxlYXNlKCkNCj4gPiB2NDogUmV0dXJuIGFuIGludCBmcm9tIGludGVsX2RwX21zdF9hdG9taWNf cmVsZWFzZSgpIChNYWFydGVuKQ0KPiA+IHYzOg0KPiA+ICBIYW5kbGVkIHRoZSBjYXNlIHdoZXJl IC0+YXRvbWljX3JlbGVhc2UoKSBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UNCj4gPiAgZHVyaW5n IGFuIGF0b21pY19jaGVjaygpIGZvciB0aGUgc2FtZSBzdGF0ZS4NCj4gPiB2MjoNCj4gPiAgU3F1 YXNoZWQgYXRvbWljX3JlbGVhc2UoKSBpbXBsZW1lbnRhdGlvbiBhbmQgY2FsbGVyIChEYW5pZWwp DQo+ID4gIEZpeGVkIGxvZ2ljIGZvciBjb25uZWN0b3ItY3J0YyBzd2l0Y2hpbmcgY2FzZSAoRGFu aWVsKQ0KPiA+ICBGaXhlZCBsb2dpYyBmb3Igc3VzcGVuZC1yZXN1bWUgY2FzZS4NCj4gPg0KPiA+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPg0KPiA+IENjOiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0KPiA+IENj OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPg0KPiA+IENjOiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4NCj4gPiBDYzogSGFycnkgV2VudGxhbmQg PEhhcnJ5LndlbnRsYW5kQGFtZC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogRGhpbmFrYXJhbiBQ YW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIHwgNTcgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5j DQo+ID4gaW5kZXggNWFmMjJhNy4uMjBjNTU3YyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwX21zdC5jDQo+ID4gQEAgLTM5LDkgKzM5LDkgQEAgc3RhdGljIGJvb2wgaW50ZWxf ZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLA0KPiA+ ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7DQo+ID4g IAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPQ0KPiA+ICAJCXRvX2ludGVsX2Nv bm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpOw0KPiA+IC0Jc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlOw0KPiA+ICsJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gcGlw ZV9jb25maWctPmJhc2Uuc3RhdGU7DQo+ID4gIAlpbnQgYnBwOw0KPiA+IC0JaW50IGxhbmVfY291 bnQsIHNsb3RzOw0KPiA+ICsJaW50IGxhbmVfY291bnQsIHNsb3RzID0gMDsNCj4gPiAgCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5i YXNlLmFkanVzdGVkX21vZGU7DQo+ID4gIAlpbnQgbXN0X3BibjsNCj4gPiAgDQo+ID4gQEAgLTYz LDI0ICs2Myw2OCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ID4gIAlwaXBlX2NvbmZpZy0+cGlwZV9icHAg PSBicHA7DQo+ID4gIAlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IGludGVsX2RwX21heF9saW5r X3JhdGUoaW50ZWxfZHApOw0KPiA+ICANCj4gPiAtCXN0YXRlID0gcGlwZV9jb25maWctPmJhc2Uu c3RhdGU7DQo+ID4gLQ0KPiA+ICAJaWYgKGRybV9kcF9tc3RfcG9ydF9oYXNfYXVkaW8oJmludGVs X2RwLT5tc3RfbWdyLCBjb25uZWN0b3ItPnBvcnQpKQ0KPiA+ICAJCXBpcGVfY29uZmlnLT5oYXNf YXVkaW8gPSB0cnVlOw0KPiA+IC0JbXN0X3BibiA9IGRybV9kcF9jYWxjX3Bibl9tb2RlKGFkanVz dGVkX21vZGUtPmNydGNfY2xvY2ssIGJwcCk7DQo+ID4gIA0KPiA+ICsJbXN0X3BibiA9IGRybV9k cF9jYWxjX3Bibl9tb2RlKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssIGJwcCk7DQo+ID4gIAlw aXBlX2NvbmZpZy0+cGJuID0gbXN0X3BibjsNCj4gPiAtCXNsb3RzID0gZHJtX2RwX2ZpbmRfdmNw aV9zbG90cygmaW50ZWxfZHAtPm1zdF9tZ3IsIG1zdF9wYm4pOw0KPiA+ICANCj4gPiAgCWludGVs X2xpbmtfY29tcHV0ZV9tX24oYnBwLCBsYW5lX2NvdW50LA0KPiA+ICAJCQkgICAgICAgYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19jbG9jaywNCj4gPiAgCQkJICAgICAgIHBpcGVfY29uZmlnLT5wb3J0X2Ns b2NrLA0KPiA+ICAJCQkgICAgICAgJnBpcGVfY29uZmlnLT5kcF9tX24pOw0KPiA+ICANCj4gPiAr CWlmIChwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpIHsNCj4gSXMgdGhpcyBjaGVjayBuZWVkZWQ/ IElmIHNvIGl0IG5lZWRzIGEgY29tbWVudCBhcyB0byB3aHkuDQo+IA0KPiBJIGtub3cgdGhhdCB0 aGUgb3V0cHV0IHdvbid0IGFjdHVhbGx5IHR1cm4gb24sIGJ1dCBpZiB0aGUgY3J0YyBpcyBjb25m aWd1cmVkIHZjcGkgc2xvdHMgc2hvdWxkIGJlIGFsbG9jYXRlZCBpZiBwb3NzaWJsZS4NCj4gDQo+ IEVsc2UgdGhlIGZvbGxvd2luZyB3aWxsIGZhaWwgaW4gdGhlIHdyb25nIHBsYWNlOg0KPiAxLiBD b25maWd1cmUgQ1JUQyB3aXRoIGEgdmFsaWQgbW9kZSBhbmQgRFAtTVNUIGNvbm5lY3RvciwgYnV0 IHNldCBhY3RpdmU9ZmFsc2UuIGNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWUsIG1vZGVfY2hhbmdl ZCA9IHRydWUuIE5vdCBlbm91Z2ggVkNQSSBzbG90cyB0byBlbmFibGUgYWxsIGNydGMncyBhdCB0 aGUgc2FtZSB0aW1lIG5vdywgYnV0IHRoaXMgcmV0dXJucyBPSy4NCj4gMi4gQ29tbWl0IHdpdGgg YWN0aXZlIHByb3BlcnR5IHNldCB0byB0cnVlLiBUaGVyZSBhcmUgdG9vIGZldyB2Y3BpIHNsb3Rz IHRvIG1ha2UgdGhpcyB3b3JrLCB0aGlzIGF0b21pYyBjb21taXQgcmV0dXJucyAtRUlOVkFMLiBU aGlzIG1pZ2h0IGhhcHBlbiBvbiBhIGRpZmZlcmVudCBjcnRjIHRoYW4gdGhlIG5ld2x5IGNvbmZp Z3VyZWQgb25lIGluIHN0YXAgMSwgaWYgdGhleSB3ZXJlIGFsbCBwcmV2aW91c2x5IHNldCB0byAh YWN0aXZlLg0KPiANCg0KSSBnYXZlIHRoaXMgbW9yZSB0aG91Z2h0LCB3aGF0IHlvdSBhcmUgcmVj b21tZW5kaW5nIGlzIG5vdCBhbGxvY2F0aW5nDQp2Y3BpIGZvciBhY3RpdmUgZmFsc2UtPnRydWUg YnV0IGluc3RlYWQgZG9pbmcgaXQgb25seSBmb3IgZW5hYmxlDQpmYWxzZS0+dHJ1ZS4gVGhlIHBy b2JsZW0gSSBzZWUgaXMgZW5jb2Rlci0+Y29tcHV0ZV9jb25maWcoKSBpcyBjYWxsZWQgdG8NCmNv bmZpZ3VyZSB0aGUgbGluayBmb3IgYSBtb2Rlc2V0IHdpdGggYWN0aXZlPWZhbHNlLT50cnVlIHRy YW5zaXRpb24uIElmDQp3ZSBkb24ndCB3YW50IHRvIGFsbG9jYXRlIHZjcGkgc2xvdHMgaW4gdGhp cyBjYXNlLCB3ZSBzaG91bGQgbm90IGJlDQpkb2luZyBvdGhlciBjb25maWcuIGNvbXB1dGF0aW9u cyBhcyB3ZWxsIGkuZS4sIG5vdCBjYWxsDQplbmNvZGVyLT5jb21wdXRlX2NvbmZpZygpIGF0IGFs bCBmb3IgYWN0aXZlX2NoYW5nZWQuIFRoaXMgbWVhbnMgd2UNCnNob3VsZCBjb21wbGV0ZSB0aGlz IEZJWE1FIGluIGludGVsX2F0b21pY19jaGVjaygpDQoNCiAvKiBGSVhNRTogRm9yIG9ubHkgYWN0 aXZlX2NoYW5nZWQgd2Ugc2hvdWxkbid0IG5lZWQgdG8gZG8gYW55DQogICAgICAgICAgICAgICAg ICogc3RhdGUgcmVjb21wdXRhdGlvbiBhdCBhbGwuICovIA0KDQpPdG9oIGlmIHlvdSB3YW50IG1l IHRvIHJlbW92ZSAnaWYgKHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSknLCB3ZSBjYW4gZG8NCnRo aXMgLSANCg0KYSkgYWxsb2NhdGUgc2xvdHMgdW5jb25kaXRpb25hbGx5IGluIGNvbXB1dGVfY29u ZmlnKCkNCiAgICAgICAgaW50ZWxfbGlua19jb21wdXRlX21fbihicHAsIGxhbmVfY291bnQsDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlwZV9jb25maWctPmRwX21fbik7DQoN CisgICAgICAgc2xvdHMgPSBkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwgJmlu dGVsX2RwLT5tc3RfbWdyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbm5lY3Rvci0+cG9ydCwgbXN0X3Bibik7DQorICAgICAgIGlmIChzbG90cyA8IDAp IHsNCisgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJmYWlsZWQgZmluZGluZyB2Y3BpIHNs b3RzOiVkXG4iLCBzbG90cyk7DQorICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICAg ICB9DQogICAgICAgIHBpcGVfY29uZmlnLT5kcF9tX24udHUgPSBzbG90czsNCg0KYikgcmVsZWFz ZSBzbG90cyBvbiBjb25uZWN0b3JzX2NoYW5nZWR8fG1vZGVfY2hhbmdlZHx8YWN0aXZlX2NoYW5n ZWQuIA0KIA0KKyAgICAgICBpZiAoZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY3J0Y19z dGF0ZSkgJiYgc2xvdHMgPiAwKSB7DQorICAgICAgICAgICAgICAgc3RydWN0IGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyICptZ3I7DQorICAgICAgICAgICAgICAgc3RydWN0IGRybV9lbmNvZGVyICpv bGRfZW5jb2RlcjsNCisNCisgICAgICAgICAgICAgICBvbGRfZW5jb2RlciA9IG9sZF9jb25uX3N0 YXRlLT5iZXN0X2VuY29kZXI7DQorICAgICAgICAgICAgICAgbWdyID0gJmVuY190b19tc3Qob2xk X2VuY29kZXIpLT5wcmltYXJ5LT5kcC5tc3RfbWdyOw0KKw0KKyAgICAgICAgICAgICAgIHJldCA9 IGRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKHN0YXRlLCBtZ3IsDQpzbG90cyk7DQoN CkZ1bGwgcGF0Y2ggLSBodHRwczovL3Bhc3RlYmluLnVidW50dS5jb20vMjQ0Njk5ODgvDQpUaGlz IGFzc3VtZXMgZW5jb2Rlci0+Y29tcHV0ZV9jb25maWcoKSB3aWxsIGJlIGNhbGxlZCBvbmx5IG9u Y2UgZm9yIGENCnN0YXRlLg0KDQotREsNCg0KDQoNCj4gPiArCQlzbG90cyA9IGRybV9kcF9hdG9t aWNfZmluZF92Y3BpX3Nsb3RzKHN0YXRlLCAmaW50ZWxfZHAtPm1zdF9tZ3IsDQo+ID4gKwkJCQkJ ICAgICAgY29ubmVjdG9yLT5wb3J0LCBtc3RfcGJuKTsNCj4gPiArCQlpZiAoc2xvdHMgPCAwKSB7 DQo+ID4gKwkJCURSTV9ERUJVR19LTVMoImZhaWxlZCBmaW5kaW5nIHZjcGkgc2xvdHM6JWRcbiIs IHNsb3RzKTsNCj4gPiArCQkJcmV0dXJuIGZhbHNlOw0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiAg CXBpcGVfY29uZmlnLT5kcF9tX24udHUgPSBzbG90czsNCj4gPiAgDQo+ID4gIAlyZXR1cm4gdHJ1 ZTsNCj4gPiArfQ0KPiA+ICANCj4gPiArc3RhdGljIGlubGluZSBib29sIHJlbGVhc2VfcmVzb3Vy Y2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkNCj4gPiArew0KPiA+ICsJcmV0 dXJuIChjcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgfHwNCj4gPiArCQljcnRjX3N0YXRl LT5tb2RlX2NoYW5nZWQgfHwNCj4gPiArCQkoY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5nZWQgJiYg IWNydGNfc3RhdGUtPmFjdGl2ZSkpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IGlu dGVsX2RwX21zdF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwN Cj4gPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUpDQo+ID4g K3sNCj4gPiArCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRl LT5zdGF0ZTsNCj4gPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0 ZTsNCj4gPiArCXN0cnVjdCBkcm1fY3J0YyAqb2xkX2NydGM7DQo+ID4gKwlzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGU7DQo+ID4gKwlpbnQgc2xvdHMsIHJldCA9IDA7DQo+ID4gKw0K PiA+ICsJb2xkX2Nvbm5fc3RhdGUgPSBkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0YXRl KHN0YXRlLCBjb25uZWN0b3IpOw0KPiA+ICsJb2xkX2NydGMgPSBvbGRfY29ubl9zdGF0ZS0+Y3J0 YzsNCj4gPiArCWlmICghb2xkX2NydGMpDQo+ID4gKwkJcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICsJ Y3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0YXRlLCBvbGRfY3J0 Yyk7DQo+ID4gKwlzbG90cyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmRwX21f bi50dTsNCj4gPiArDQo+ID4gKwlpZiAocmVsZWFzZV9yZXNvdXJjZXMoY3J0Y19zdGF0ZSkgJiYg c2xvdHMgPiAwKSB7DQo+ID4gKwkJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3I7 DQo+ID4gKwkJc3RydWN0IGRybV9lbmNvZGVyICpvbGRfZW5jb2RlcjsNCj4gPiArDQo+ID4gKwkJ b2xkX2VuY29kZXIgPSBvbGRfY29ubl9zdGF0ZS0+YmVzdF9lbmNvZGVyOw0KPiA+ICsJCW1nciA9 ICZlbmNfdG9fbXN0KG9sZF9lbmNvZGVyKS0+cHJpbWFyeS0+ZHAubXN0X21ncjsNCj4gPiArDQo+ ID4gKwkJcmV0ID0gZHJtX2RwX2F0b21pY19yZWxlYXNlX3ZjcGlfc2xvdHMoc3RhdGUsIG1nciwg c2xvdHMpOw0KPiA+ICsJCWlmIChyZXQpDQo+ID4gKwkJCURSTV9ERUJVR19LTVMoImZhaWxlZCBy ZWxlYXNpbmcgJWQgdmNwaSBzbG90czolZFxuIiwgc2xvdHMsIHJldCk7DQo+ID4gKwkJZWxzZQ0K PiA+ICsJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLT5kcF9tX24udHUgPSAwOw0K PiA+ICsJfQ0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiAgfQ0KPiA+ICANCj4gPiAgc3RhdGljIHZv aWQgaW50ZWxfbXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ ID4gQEAgLTM3OCw2ICs0MjIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf aGVscGVyX2Z1bmNzIGludGVsX2RwX21zdF9jb25uZWN0b3JfaGVscGVyX2Z1bg0KPiA+ICAJLm1v ZGVfdmFsaWQgPSBpbnRlbF9kcF9tc3RfbW9kZV92YWxpZCwNCj4gPiAgCS5hdG9taWNfYmVzdF9l bmNvZGVyID0gaW50ZWxfbXN0X2F0b21pY19iZXN0X2VuY29kZXIsDQo+ID4gIAkuYmVzdF9lbmNv ZGVyID0gaW50ZWxfbXN0X2Jlc3RfZW5jb2RlciwNCj4gPiArCS5hdG9taWNfY2hlY2sgPSBpbnRl bF9kcF9tc3RfYXRvbWljX2NoZWNrLA0KPiA+ICB9Ow0KPiA+ICANCj4gPiAgc3RhdGljIHZvaWQg aW50ZWxfZHBfbXN0X2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp DQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=