From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH] drm/i915: Calculate common rates and max lane count in Long pulse handler Date: Wed, 7 Dec 2016 15:10:47 -0800 Message-ID: <20161207231046.GA25908@intel.com> References: <1480651329-21578-1-git-send-email-manasi.d.navare@intel.com> <87mvg7l9di.fsf@intel.com> <20161207214404.GB5673@intel.com> <87h96fl7kq.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id B9F9D6E5A9 for ; Wed, 7 Dec 2016 23:07:53 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87h96fl7kq.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMDgsIDIwMTYgYXQgMTI6MDQ6MjFBTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gV2VkLCAwNyBEZWMgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJl QGludGVsLmNvbT4gd3JvdGU6Cj4gPiBIaSBKYW5pLAo+ID4KPiA+IEFjdHVhbGx5IHRoaXMgcGF0 Y2ggaXMgbm8gbG9uZ2VyIHZhbGlkLCBJIGhhdmUgaW5jbHVkZWQgYSBkaWZmZXJudCBpbnRlcmZh Y2UKPiA+IGNoYW5nZSB3aXRoIHRoZSBsaW5rIHRyYWluaW5nIHBhdGNoIHNlcmllcyBmb3IgY2Fs Y3VsYXRpbmcgdGhlIG1heF9zaW5rX2xpbmtfcmF0ZQo+ID4gYW5kIG1heF9zaW5rX2xhbmVfY291 bnQgaW4gdGhlIGxvbmcgcHVsc2UgaGFuZGxlciBhbmQgbm90IHJlY29tcHV0ZQo+ID4gaXQgZXZl cnl0aW1lIHdoZW4gdGhlIGNhbGxlciBuZWVkcyBjb21tb25fcmF0ZXMgYW5kIGxhbmVfY291bnQu IFRoZXNlIG1heCB2YWx1ZXMKPiA+IHdpbGwgYmUgdXNlZCBpbiB0aGUgY29tcHV0YXRpb24gb2Yg Y29tbW9uX3JhdGVzIHdoZW4gY2FsbGVyIHJlcXVlc3RzIGl0IGFuZAo+ID4gc2FtZSBmb3IgbGFu ZSBjb3VudC4KPiA+Cj4gPiBDb3VsZCB5b3UgcGxlYXNlIHJldmlldyB0aGUgbGF0ZXN0IHBhdGNo Ogo+IAo+IEknbSByZWFsbHkgbm90IGFtdXNlZCBieSB0aGUgZmlyZWhvc2UgcmF0ZSBvZiBwZXJt dXRhdGlvbnMgb2YgdGhlCj4gcGF0Y2hlcy4gSSd2ZSBsaXRlcmFsbHkgbG9zdCBjb3VudCBob3cg bWFueSB2ZXJzaW9ucyBhbmQgdmFyaWF0aW9ucyBJJ3ZlCj4gcmV2aWV3ZWQuICpzaWdoKi4KPiAK PiBJZiB5b3UgcmVwZWF0ZWRseSBwaW5nIG1lIG9uIHRoZSBtYWlsaW5nIGxpc3QgYW5kIElSQyB0 byByZXZpZXcsIGFuZAo+IHNwZWNpZmljYWxseSBzYXkgeW91J2xsIHJlYmFzZSB0aGUgb3RoZXIg c3R1ZmYgb24gdGhpcyBvbmUsIHRoZW4gcGxlYXNlCj4gKmFsc28qIHNwZWNpZmljYWxseSBzYXkg aWYgeW91IGRvbid0IHB1cnN1ZSBhIHBhdGNoIGFueW1vcmUuCj4gCj4gSmFuaS4KPgoKU29ycnkg YWJvdXQgdGhhdCBKYW5pLiBJIG1vdmVkIGl0IHRvIGJlY29tZSBwYXJ0IG9mIHRoZSBsaW5rIHRy YWluaW5nIHBhdGNoIHNlcmllcwppbnN0ZWFkIGJlY2F1c2Ugb2YgdGhlIGZlZWRiYWNrIEkgcmVj ZWl2ZWQgZnJvbSBEYW5pZWwgb24gSVJDIGFuZCBJIGp1c3QgYXNzdW1lZCB0aGF0IHlvdQptdXN0 IGhhdmUgc2VlbiBpdC4gQnV0IEkgd2lsbCBzcGVjaWZpY2FsbHkgY2FsbCBpdCBvdXQgbmV4dCB0 aW1lLApTbyBub3cgY291bGQgeW91IHJldmlldyB0aGUgcGF0Y2ggYXMgbWVudGlvbmVkIGJlbG93 PwoKUmVnYXJkcwpNYW5hc2kKIAo+ID4KPiA+IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9w Lm9yZy9wYXRjaC8xMjU3NDQvCj4gPgo+ID4gQWxzbyB0aGlzIHNpbXBsaWZpZXMgdGhlIGZhbGxi YWNrIGxvZ2ljIG9uIGxpbmsgdHJhaW4KPiA+IGZhaWx1cmUgc2luY2UgSSBjYW4gdXBkYXRlIHRo ZSBtYXggc2luayBsaW5rIHJhdGUgYW5kIG1heCBzaW5rIGxhbmUgY291bnQKPiA+IHRvIG1hdGNo IHRoZSBmYWxsYmFjayB2YWx1ZXMgdGh1cyBsb3dlcmluZyB0aGUgbWF4IGNhcGFiaWxpdGllcyBh ZHZlcnRpc2VkCj4gPiBieSB0aGUgc2luay4KPiA+Cj4gPiBNYW5hc2kKPiA+Cj4gPiBPbiBXZWQs IERlYyAwNywgMjAxNiBhdCAxMToyNToyOVBNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+ PiBPbiBGcmksIDAyIERlYyAyMDE2LCBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50 ZWwuY29tPiB3cm90ZToKPiA+PiA+IFN1cHBvcnRlZCBsaW5rIHJhdGUgY29tbW9uIHRvIHNvdXJj ZSBhbmQgc2luayBhcyB3ZWxsIGFzIHRoZQo+ID4+ID4gbWF4aW11bSBzdXBwb3J0ZWQgbGFuZSBj b3VudCBiYXNlZCBvbiBzb3VyY2UgYW5kIHNpbmsgY2FwYWJpbGl0aWVzIHNob3VsZAo+ID4+ID4g YmUgc2V0IG9ubHkgb25jZSBvbiBob3RwbHVnIGFuZCB0aGVuIHVzZWQgYW55dGltZSB0aGV5IGFy ZSByZXF1ZXN0ZWQuCj4gPj4gPiBUaGlzIHBhdGNoIGNyZWF0ZXMgYW5kIGFycmF5IG9mIGNvbW1v biByYXRlcyBhbmQgbWF4IGxhbmUgY291bnQgYXMgdGhlCj4gPj4gPiBpbnRlbF9kcCBtZW1iZXIu IEl0IGdldHMgY2FsY3VsYXRlZCBvbmx5IG9uY2UgaW4gdGhlIGxvbmcgcHVsc2UgaGFuZGxlcgo+ ID4+ID4gYW5kIHRoZW4gZ2V0cyB1c2VkIHdoZW4gcmVxdWVzdGVkIGluIGNvbXB1dGVfY29uZmln IGFuZCBvdGhlciBmdW5jdGlvbnMuCj4gPj4gPgo+ID4+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBpbnRlbC5jb20+Cj4gPj4gPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4+ID4gLS0tCj4gPj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYyAgfCAzOCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ID4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDUgKysr KysKPiA+PiA+ICAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9u cygtKQo+ID4+ID4KPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4+ID4gaW5kZXggOWRm YmRlNC4uZGUzNzgwNyAxMDA2NDQKPiA+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiA+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ PiA+IEBAIC0yNzQsOCArMjc0LDcgQEAgc3RhdGljIGludCBpbnRlcnNlY3RfcmF0ZXMoY29uc3Qg aW50ICpzb3VyY2VfcmF0ZXMsIGludCBzb3VyY2VfbGVuLAo+ID4+ID4gIAlyZXR1cm4gazsKPiA+ PiA+ICB9Cj4gPj4gPiAgCj4gPj4gPiAtc3RhdGljIGludCBpbnRlbF9kcF9jb21tb25fcmF0ZXMo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+PiA+IC0JCQkJIGludCAqY29tbW9uX3JhdGVz KQo+ID4+ID4gK3N0YXRpYyBpbnQgaW50ZWxfZHBfY29tbW9uX3JhdGVzKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gPj4gCj4gPj4gVGhpcyBoZXJlIGlzIGEgYmFkIGludGVyZmFjZSBjaGFu Z2UuIEFmdGVyIHRoaXMsIHlvdSBjYW4gb25seSB1c2UgdGhlCj4gPj4gZnVuY3Rpb24gdG8gdXBk YXRlIGludGVsX2RwLT5jb21tb25fcmF0ZXMuIEhvd2V2ZXIsIHRoaXMgZG9lc24ndCBmaW5pc2gK PiA+PiB0aGUgam9iLCBhbmQgbGVhdmVzIGl0IHVwIHRvIHRoZSBjYWxsZXIgdG8gc2V0IGludGVs X2RwLT5jb21tb25fbGVuLiBUaGUKPiA+PiBzb2xlIHJlbWFpbmluZyBjYWxsIHNpdGUgb2YgaW50 ZWxfZHBfY29tbW9uX3JhdGVzKCkgc2hvdWxkIHNldCB0aGUgYWxhcm0KPiA+PiBiZWxscyByaW5n aW5nLgo+ID4+IAo+ID4+IFBsZWFzZSBrZWVwIGl0IGFzIGEgaGVscGVyLCBwYXNzaW5nIGluIGNv bW1vbl9yYXRlcy4gVGhlcmUncyBmb2xsb3ctdXAKPiA+PiB3b3JrIHRvIGJlIGRvbmUgb24gdG9w LCBidXQgd2UgY2FuIGxlYXZlIHRoYXQgZm9yIGxhdGVyLgo+ID4+IAo+ID4+ID4gIHsKPiA+PiA+ ICAJY29uc3QgaW50ICpzb3VyY2VfcmF0ZXMsICpzaW5rX3JhdGVzOwo+ID4+ID4gIAlpbnQgc291 cmNlX2xlbiwgc2lua19sZW47Cj4gPj4gPiBAQCAtMjg1LDcgKzI4NCw3IEBAIHN0YXRpYyBpbnQg aW50ZWxfZHBfY29tbW9uX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPj4gPiAg Cj4gPj4gPiAgCXJldHVybiBpbnRlcnNlY3RfcmF0ZXMoc291cmNlX3JhdGVzLCBzb3VyY2VfbGVu LAo+ID4+ID4gIAkJCSAgICAgICBzaW5rX3JhdGVzLCBzaW5rX2xlbiwKPiA+PiA+IC0JCQkgICAg ICAgY29tbW9uX3JhdGVzKTsKPiA+PiA+ICsJCQkgICAgICAgaW50ZWxfZHAtPmNvbW1vbl9yYXRl cyk7Cj4gPj4gPiAgfQo+ID4+ID4gIAo+ID4+ID4gIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1 cwo+ID4+ID4gQEAgLTMxMiw3ICszMTEsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbW1vbl9y YXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ID4+ID4gIAl9Cj4gPj4gPiAgCj4gPj4g PiAgCW1heF9saW5rX2Nsb2NrID0gaW50ZWxfZHBfbWF4X2xpbmtfcmF0ZShpbnRlbF9kcCk7Cj4g Pj4gPiAtCW1heF9sYW5lcyA9IGludGVsX2RwX21heF9sYW5lX2NvdW50KGludGVsX2RwKTsKPiA+ PiA+ICsJbWF4X2xhbmVzID0gaW50ZWxfZHAtPm1heF9sYW5lX2NvdW50Owo+ID4+ID4gIAo+ID4+ ID4gIAltYXhfcmF0ZSA9IGludGVsX2RwX21heF9kYXRhX3JhdGUobWF4X2xpbmtfY2xvY2ssIG1h eF9sYW5lcyk7Cj4gPj4gPiAgCW1vZGVfcmF0ZSA9IGludGVsX2RwX2xpbmtfcmVxdWlyZWQodGFy Z2V0X2Nsb2NrLCAxOCk7Cj4gPj4gPiBAQCAtMTQzMCw4ICsxNDI5LDcgQEAgc3RhdGljIHZvaWQg c25wcmludGZfaW50X2FycmF5KGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKPiA+PiA+ICBzdGF0aWMg dm9pZCBpbnRlbF9kcF9wcmludF9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4+ ID4gIHsKPiA+PiA+ICAJY29uc3QgaW50ICpzb3VyY2VfcmF0ZXMsICpzaW5rX3JhdGVzOwo+ID4+ ID4gLQlpbnQgc291cmNlX2xlbiwgc2lua19sZW4sIGNvbW1vbl9sZW47Cj4gPj4gPiAtCWludCBj b21tb25fcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU107Cj4gPj4gPiArCWludCBzb3VyY2Vf bGVuLCBzaW5rX2xlbjsKPiA+PiA+ICAJY2hhciBzdHJbMTI4XTsgLyogRklYTUU6IHRvbyBiaWcg Zm9yIHN0YWNrPyAqLwo+ID4+ID4gIAo+ID4+ID4gIAlpZiAoKGRybV9kZWJ1ZyAmIERSTV9VVF9L TVMpID09IDApCj4gPj4gPiBAQCAtMTQ0NSw4ICsxNDQzLDggQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHBfcHJpbnRfcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+PiA+ICAJc25wcmlu dGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0ciksIHNpbmtfcmF0ZXMsIHNpbmtfbGVuKTsKPiA+ PiA+ICAJRFJNX0RFQlVHX0tNUygic2luayByYXRlczogJXNcbiIsIHN0cik7Cj4gPj4gPiAgCj4g Pj4gPiAtCWNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21tb25fcmF0ZXMoaW50ZWxfZHAsIGNvbW1v bl9yYXRlcyk7Cj4gPj4gPiAtCXNucHJpbnRmX2ludF9hcnJheShzdHIsIHNpemVvZihzdHIpLCBj b21tb25fcmF0ZXMsIGNvbW1vbl9sZW4pOwo+ID4+ID4gKwlzbnByaW50Zl9pbnRfYXJyYXkoc3Ry LCBzaXplb2Yoc3RyKSwgaW50ZWxfZHAtPmNvbW1vbl9yYXRlcywKPiA+PiA+ICsJCQkgICBpbnRl bF9kcC0+Y29tbW9uX2xlbik7Cj4gPj4gPiAgCURSTV9ERUJVR19LTVMoImNvbW1vbiByYXRlczog JXNcbiIsIHN0cik7Cj4gPj4gPiAgfQo+ID4+ID4gIAo+ID4+ID4gQEAgLTE0OTUsMTQgKzE0OTMs MTIgQEAgc3RhdGljIGludCByYXRlX3RvX2luZGV4KGludCBmaW5kLCBjb25zdCBpbnQgKnJhdGVz KQo+ID4+ID4gIGludAo+ID4+ID4gIGludGVsX2RwX21heF9saW5rX3JhdGUoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiA+PiA+ICB7Cj4gPj4gPiAtCWludCByYXRlc1tEUF9NQVhfU1VQUE9S VEVEX1JBVEVTXSA9IHt9Owo+ID4+ID4gLQlpbnQgbGVuOwo+ID4+ID4gKwlpbnQgbGVuID0gaW50 ZWxfZHAtPmNvbW1vbl9sZW47Cj4gPj4gPiAgCj4gPj4gPiAtCWxlbiA9IGludGVsX2RwX2NvbW1v bl9yYXRlcyhpbnRlbF9kcCwgcmF0ZXMpOwo+ID4+ID4gIAlpZiAoV0FSTl9PTihsZW4gPD0gMCkp Cj4gPj4gPiAgCQlyZXR1cm4gMTYyMDAwOwo+ID4+ID4gIAo+ID4+ID4gLQlyZXR1cm4gcmF0ZXNb bGVuIC0gMV07Cj4gPj4gPiArCXJldHVybiBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2xlbiAtIDFd Owo+ID4+ID4gIH0KPiA+PiA+ICAKPiA+PiA+ICBpbnQgaW50ZWxfZHBfcmF0ZV9zZWxlY3Qoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IHJhdGUpCj4gPj4gPiBAQCAtMTU1MCwyMiArMTU0 NiwxOCBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCj4gPj4gPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rv ciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7Cj4gPj4gPiAgCWludCBsYW5lX2NvdW50 LCBjbG9jazsKPiA+PiA+ICAJaW50IG1pbl9sYW5lX2NvdW50ID0gMTsKPiA+PiA+IC0JaW50IG1h eF9sYW5lX2NvdW50ID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ID4+ID4g KwlpbnQgbWF4X2xhbmVfY291bnQgPSBpbnRlbF9kcC0+bWF4X2xhbmVfY291bnQ7Cj4gPj4gPiAg CS8qIENvbnZlbmllbnRseSwgdGhlIGxpbmsgQlcgY29uc3RhbnRzIGJlY29tZSBpbmRpY2VzIHdp dGggYSBzaGlmdC4uLiovCj4gPj4gPiAgCWludCBtaW5fY2xvY2sgPSAwOwo+ID4+ID4gIAlpbnQg bWF4X2Nsb2NrOwo+ID4+ID4gIAlpbnQgYnBwLCBtb2RlX3JhdGU7Cj4gPj4gPiAgCWludCBsaW5r X2F2YWlsLCBsaW5rX2Nsb2NrOwo+ID4+ID4gLQlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQ T1JURURfUkFURVNdID0ge307Cj4gPj4gPiAtCWludCBjb21tb25fbGVuOwo+ID4+ID4gIAl1aW50 OF90IGxpbmtfYncsIHJhdGVfc2VsZWN0Owo+ID4+ID4gIAo+ID4+ID4gLQljb21tb25fbGVuID0g aW50ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCBjb21tb25fcmF0ZXMpOwo+ID4+ID4gLQo+ ID4+ID4gIAkvKiBObyBjb21tb24gbGluayByYXRlcyBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luayAq Lwo+ID4+ID4gLQlXQVJOX09OKGNvbW1vbl9sZW4gPD0gMCk7Cj4gPj4gPiArCVdBUk5fT04oaW50 ZWxfZHAtPmNvbW1vbl9sZW4gPD0gMCk7Cj4gPj4gCj4gPj4gVGhpcyB3b3VsZCBiZSBiZXR0ZXIg cmlnaHQgYWZ0ZXIgc2V0dGluZyBpbnRlbF9kcC0+Y29tbW9uX2xlbi4KPiA+PiAKPiA+PiA+ICAK PiA+PiA+IC0JbWF4X2Nsb2NrID0gY29tbW9uX2xlbiAtIDE7Cj4gPj4gPiArCW1heF9jbG9jayA9 IGludGVsX2RwLT5jb21tb25fbGVuIC0gMTsKPiA+PiA+ICAKPiA+PiA+ICAJaWYgKEhBU19QQ0hf U1BMSVQoZGV2X3ByaXYpICYmICFIQVNfRERJKGRldl9wcml2KSAmJiBwb3J0ICE9IFBPUlRfQSkK PiA+PiA+ICAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+ID4+ID4gQEAg LTE1OTcsNyArMTU4OSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKPiA+PiA+ICAKPiA+PiA+ICAJRFJNX0RFQlVHX0tNUygiRFAg bGluayBjb21wdXRhdGlvbiB3aXRoIG1heCBsYW5lIGNvdW50ICVpICIKPiA+PiA+ICAJCSAgICAg ICJtYXggYncgJWQgcGl4ZWwgY2xvY2sgJWlLSHpcbiIsCj4gPj4gPiAtCQkgICAgICBtYXhfbGFu ZV9jb3VudCwgY29tbW9uX3JhdGVzW21heF9jbG9ja10sCj4gPj4gPiArCQkgICAgICBtYXhfbGFu ZV9jb3VudCwgaW50ZWxfZHAtPmNvbW1vbl9yYXRlc1ttYXhfY2xvY2tdLAo+ID4+ID4gIAkJICAg ICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayk7Cj4gPj4gPiAgCj4gPj4gPiAgCS8qIFdhbGsg dGhyb3VnaCBhbGwgYnBwIHZhbHVlcy4gTHVja2lseSB0aGV5J3JlIGFsbCBuaWNlbHkgc3BhY2Vk IHdpdGggMgo+ID4+ID4gQEAgLTE2MzMsNyArMTYyNSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBf Y29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+PiA+ICAJCQkJbGFuZV9j b3VudCA8PSBtYXhfbGFuZV9jb3VudDsKPiA+PiA+ICAJCQkJbGFuZV9jb3VudCA8PD0gMSkgewo+ ID4+ID4gIAo+ID4+ID4gLQkJCQlsaW5rX2Nsb2NrID0gY29tbW9uX3JhdGVzW2Nsb2NrXTsKPiA+ PiA+ICsJCQkJbGlua19jbG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbY2xvY2tdOwo+ID4+ ID4gIAkJCQlsaW5rX2F2YWlsID0gaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShsaW5rX2Nsb2NrLAo+ ID4+ID4gIAkJCQkJCQkJICAgIGxhbmVfY291bnQpOwo+ID4+ID4gIAo+ID4+ID4gQEAgLTE2NjMs NyArMTY1NSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKPiA+PiA+ICAJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSBsYW5lX2Nv dW50Owo+ID4+ID4gIAo+ID4+ID4gIAlwaXBlX2NvbmZpZy0+cGlwZV9icHAgPSBicHA7Cj4gPj4g PiAtCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY29tbW9uX3JhdGVzW2Nsb2NrXTsKPiA+PiA+ ICsJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2Nsb2Nr XTsKPiA+PiA+ICAKPiA+PiA+ICAJaW50ZWxfZHBfY29tcHV0ZV9yYXRlKGludGVsX2RwLCBwaXBl X2NvbmZpZy0+cG9ydF9jbG9jaywKPiA+PiA+ICAJCQkgICAgICAmbGlua19idywgJnJhdGVfc2Vs ZWN0KTsKPiA+PiA+IEBAIC00NDAwLDcgKzQzOTIsOSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kaWdp dGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ PiA+ICAJCSAgICAgIHllc25vKGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIyKGludGVsX2Rw KSksCj4gPj4gPiAgCQkgICAgICB5ZXNubyhkcm1fZHBfdHBzM19zdXBwb3J0ZWQoaW50ZWxfZHAt PmRwY2QpKSk7Cj4gPj4gPiAgCj4gPj4gPiArCWludGVsX2RwLT5jb21tb25fbGVuID0gaW50ZWxf ZHBfY29tbW9uX3JhdGVzKGludGVsX2RwKTsKPiA+PiAKPiA+PiBTZWUgaG93IHRoaXMgbG9va3Mg YmFkLCBhcyB1cGRhdGluZyBvZiB0aGUgbGVuZ3RoIGFuZCBjb250ZW50cyBhcmUKPiA+PiBkaXZp ZGVkIGJldHdlZW4gY2FsbGVyIGFuZCBjYWxsZWU/Cj4gPj4gCj4gPj4gPiAgCWludGVsX2RwX3By aW50X3JhdGVzKGludGVsX2RwKTsKPiA+PiA+ICsJaW50ZWxfZHAtPm1heF9sYW5lX2NvdW50ID0g aW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ID4+ID4gIAo+ID4+ID4gIAlpbnRl bF9kcF9yZWFkX2Rlc2MoaW50ZWxfZHApOwo+ID4+ID4gIAo+ID4+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+PiA+IGluZGV4IDFkMTI2YzIuLjdjODg4NWUgMTAwNjQ0Cj4gPj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+IEBAIC05MDYsNiArOTA2LDExIEBAIHN0cnVj dCBpbnRlbF9kcCB7Cj4gPj4gPiAgCS8qIHNpbmsgcmF0ZXMgYXMgcmVwb3J0ZWQgYnkgRFBfU1VQ UE9SVEVEX0xJTktfUkFURVMgKi8KPiA+PiA+ICAJdWludDhfdCBudW1fc2lua19yYXRlczsKPiA+ PiA+ICAJaW50IHNpbmtfcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU107Cj4gPj4gPiArCS8q IHN1cHBvcnRlZCBsaW5rIHJhdGVzIGNvbW1vbiBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luayAqLwo+ ID4+ID4gKwlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+ID4+ID4g KwlpbnQgY29tbW9uX2xlbjsKPiA+PiA+ICsJLyogTWF4aW11bSBzdXBwb3J0ZWQgbGFuZSBjb3Vu dCBjb21tb24gYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsgKi8KPiA+PiA+ICsJdWludDhfdCBtYXhf bGFuZV9jb3VudDsKPiA+PiA+ICAJLyogc2luayBvciBicmFuY2ggZGVzY3JpcHRvciAqLwo+ID4+ ID4gIAlzdHJ1Y3QgaW50ZWxfZHBfZGVzYyBkZXNjOwo+ID4+ID4gIAlzdHJ1Y3QgZHJtX2RwX2F1 eCBhdXg7Cj4gPj4gCj4gPj4gLS0gCj4gPj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNl IFRlY2hub2xvZ3kgQ2VudGVyCj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=