From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Calculate common rates and max lane count in Long pulse handler Date: Thu, 08 Dec 2016 00:04:21 +0200 Message-ID: <87h96fl7kq.fsf@intel.com> References: <1480651329-21578-1-git-send-email-manasi.d.navare@intel.com> <87mvg7l9di.fsf@intel.com> <20161207214404.GB5673@intel.com> 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 ABF1E6E1C7 for ; Wed, 7 Dec 2016 22:04:26 +0000 (UTC) In-Reply-To: <20161207214404.GB5673@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwNyBEZWMgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gSGkgSmFuaSwKPgo+IEFjdHVhbGx5IHRoaXMgcGF0Y2ggaXMgbm8gbG9u Z2VyIHZhbGlkLCBJIGhhdmUgaW5jbHVkZWQgYSBkaWZmZXJudCBpbnRlcmZhY2UKPiBjaGFuZ2Ug d2l0aCB0aGUgbGluayB0cmFpbmluZyBwYXRjaCBzZXJpZXMgZm9yIGNhbGN1bGF0aW5nIHRoZSBt YXhfc2lua19saW5rX3JhdGUKPiBhbmQgbWF4X3NpbmtfbGFuZV9jb3VudCBpbiB0aGUgbG9uZyBw dWxzZSBoYW5kbGVyIGFuZCBub3QgcmVjb21wdXRlCj4gaXQgZXZlcnl0aW1lIHdoZW4gdGhlIGNh bGxlciBuZWVkcyBjb21tb25fcmF0ZXMgYW5kIGxhbmVfY291bnQuIFRoZXNlIG1heCB2YWx1ZXMK PiB3aWxsIGJlIHVzZWQgaW4gdGhlIGNvbXB1dGF0aW9uIG9mIGNvbW1vbl9yYXRlcyB3aGVuIGNh bGxlciByZXF1ZXN0cyBpdCBhbmQKPiBzYW1lIGZvciBsYW5lIGNvdW50Lgo+Cj4gQ291bGQgeW91 IHBsZWFzZSByZXZpZXcgdGhlIGxhdGVzdCBwYXRjaDoKCkknbSByZWFsbHkgbm90IGFtdXNlZCBi eSB0aGUgZmlyZWhvc2UgcmF0ZSBvZiBwZXJtdXRhdGlvbnMgb2YgdGhlCnBhdGNoZXMuIEkndmUg bGl0ZXJhbGx5IGxvc3QgY291bnQgaG93IG1hbnkgdmVyc2lvbnMgYW5kIHZhcmlhdGlvbnMgSSd2 ZQpyZXZpZXdlZC4gKnNpZ2gqLgoKSWYgeW91IHJlcGVhdGVkbHkgcGluZyBtZSBvbiB0aGUgbWFp bGluZyBsaXN0IGFuZCBJUkMgdG8gcmV2aWV3LCBhbmQKc3BlY2lmaWNhbGx5IHNheSB5b3UnbGwg cmViYXNlIHRoZSBvdGhlciBzdHVmZiBvbiB0aGlzIG9uZSwgdGhlbiBwbGVhc2UKKmFsc28qIHNw ZWNpZmljYWxseSBzYXkgaWYgeW91IGRvbid0IHB1cnN1ZSBhIHBhdGNoIGFueW1vcmUuCgpKYW5p LgoKPgo+IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC8xMjU3NDQvCj4K PiBBbHNvIHRoaXMgc2ltcGxpZmllcyB0aGUgZmFsbGJhY2sgbG9naWMgb24gbGluayB0cmFpbgo+ IGZhaWx1cmUgc2luY2UgSSBjYW4gdXBkYXRlIHRoZSBtYXggc2luayBsaW5rIHJhdGUgYW5kIG1h eCBzaW5rIGxhbmUgY291bnQKPiB0byBtYXRjaCB0aGUgZmFsbGJhY2sgdmFsdWVzIHRodXMgbG93 ZXJpbmcgdGhlIG1heCBjYXBhYmlsaXRpZXMgYWR2ZXJ0aXNlZAo+IGJ5IHRoZSBzaW5rLgo+Cj4g TWFuYXNpCj4KPiBPbiBXZWQsIERlYyAwNywgMjAxNiBhdCAxMToyNToyOVBNICswMjAwLCBKYW5p IE5pa3VsYSB3cm90ZToKPj4gT24gRnJpLCAwMiBEZWMgMjAxNiwgTWFuYXNpIE5hdmFyZSA8bWFu YXNpLmQubmF2YXJlQGludGVsLmNvbT4gd3JvdGU6Cj4+ID4gU3VwcG9ydGVkIGxpbmsgcmF0ZSBj b21tb24gdG8gc291cmNlIGFuZCBzaW5rIGFzIHdlbGwgYXMgdGhlCj4+ID4gbWF4aW11bSBzdXBw b3J0ZWQgbGFuZSBjb3VudCBiYXNlZCBvbiBzb3VyY2UgYW5kIHNpbmsgY2FwYWJpbGl0aWVzIHNo b3VsZAo+PiA+IGJlIHNldCBvbmx5IG9uY2Ugb24gaG90cGx1ZyBhbmQgdGhlbiB1c2VkIGFueXRp bWUgdGhleSBhcmUgcmVxdWVzdGVkLgo+PiA+IFRoaXMgcGF0Y2ggY3JlYXRlcyBhbmQgYXJyYXkg b2YgY29tbW9uIHJhdGVzIGFuZCBtYXggbGFuZSBjb3VudCBhcyB0aGUKPj4gPiBpbnRlbF9kcCBt ZW1iZXIuIEl0IGdldHMgY2FsY3VsYXRlZCBvbmx5IG9uY2UgaW4gdGhlIGxvbmcgcHVsc2UgaGFu ZGxlcgo+PiA+IGFuZCB0aGVuIGdldHMgdXNlZCB3aGVuIHJlcXVlc3RlZCBpbiBjb21wdXRlX2Nv bmZpZyBhbmQgb3RoZXIgZnVuY3Rpb25zLgo+PiA+Cj4+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAaW50ZWwuY29tPgo+PiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPj4gPiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2ku ZC5uYXZhcmVAaW50ZWwuY29tPgo+PiA+IC0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jICB8IDM4ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDUgKysrKysKPj4gPiAgMiBm aWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPj4gPgo+PiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiA+IGluZGV4IDlkZmJkZTQuLmRlMzc4MDcgMTAwNjQ0 Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gPiBAQCAtMjc0LDggKzI3NCw3IEBAIHN0 YXRpYyBpbnQgaW50ZXJzZWN0X3JhdGVzKGNvbnN0IGludCAqc291cmNlX3JhdGVzLCBpbnQgc291 cmNlX2xlbiwKPj4gPiAgCXJldHVybiBrOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC1zdGF0aWMgaW50 IGludGVsX2RwX2NvbW1vbl9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+PiA+IC0J CQkJIGludCAqY29tbW9uX3JhdGVzKQo+PiA+ICtzdGF0aWMgaW50IGludGVsX2RwX2NvbW1vbl9y YXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAKPj4gVGhpcyBoZXJlIGlzIGEgYmFk IGludGVyZmFjZSBjaGFuZ2UuIEFmdGVyIHRoaXMsIHlvdSBjYW4gb25seSB1c2UgdGhlCj4+IGZ1 bmN0aW9uIHRvIHVwZGF0ZSBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzLiBIb3dldmVyLCB0aGlzIGRv ZXNuJ3QgZmluaXNoCj4+IHRoZSBqb2IsIGFuZCBsZWF2ZXMgaXQgdXAgdG8gdGhlIGNhbGxlciB0 byBzZXQgaW50ZWxfZHAtPmNvbW1vbl9sZW4uIFRoZQo+PiBzb2xlIHJlbWFpbmluZyBjYWxsIHNp dGUgb2YgaW50ZWxfZHBfY29tbW9uX3JhdGVzKCkgc2hvdWxkIHNldCB0aGUgYWxhcm0KPj4gYmVs bHMgcmluZ2luZy4KPj4gCj4+IFBsZWFzZSBrZWVwIGl0IGFzIGEgaGVscGVyLCBwYXNzaW5nIGlu IGNvbW1vbl9yYXRlcy4gVGhlcmUncyBmb2xsb3ctdXAKPj4gd29yayB0byBiZSBkb25lIG9uIHRv cCwgYnV0IHdlIGNhbiBsZWF2ZSB0aGF0IGZvciBsYXRlci4KPj4gCj4+ID4gIHsKPj4gPiAgCWNv bnN0IGludCAqc291cmNlX3JhdGVzLCAqc2lua19yYXRlczsKPj4gPiAgCWludCBzb3VyY2VfbGVu LCBzaW5rX2xlbjsKPj4gPiBAQCAtMjg1LDcgKzI4NCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBf Y29tbW9uX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+ID4gIAo+PiA+ICAJcmV0 dXJuIGludGVyc2VjdF9yYXRlcyhzb3VyY2VfcmF0ZXMsIHNvdXJjZV9sZW4sCj4+ID4gIAkJCSAg ICAgICBzaW5rX3JhdGVzLCBzaW5rX2xlbiwKPj4gPiAtCQkJICAgICAgIGNvbW1vbl9yYXRlcyk7 Cj4+ID4gKwkJCSAgICAgICBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzKTsKPj4gPiAgfQo+PiA+ICAK Pj4gPiAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCj4+ID4gQEAgLTMxMiw3ICszMTEsNyBA QCBzdGF0aWMgaW50IGludGVsX2RwX2NvbW1vbl9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAo+PiA+ICAJfQo+PiA+ICAKPj4gPiAgCW1heF9saW5rX2Nsb2NrID0gaW50ZWxfZHBfbWF4 X2xpbmtfcmF0ZShpbnRlbF9kcCk7Cj4+ID4gLQltYXhfbGFuZXMgPSBpbnRlbF9kcF9tYXhfbGFu ZV9jb3VudChpbnRlbF9kcCk7Cj4+ID4gKwltYXhfbGFuZXMgPSBpbnRlbF9kcC0+bWF4X2xhbmVf Y291bnQ7Cj4+ID4gIAo+PiA+ICAJbWF4X3JhdGUgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKG1h eF9saW5rX2Nsb2NrLCBtYXhfbGFuZXMpOwo+PiA+ICAJbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlu a19yZXF1aXJlZCh0YXJnZXRfY2xvY2ssIDE4KTsKPj4gPiBAQCAtMTQzMCw4ICsxNDI5LDcgQEAg c3RhdGljIHZvaWQgc25wcmludGZfaW50X2FycmF5KGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKPj4g PiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfcHJpbnRfcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPj4gPiAgewo+PiA+ICAJY29uc3QgaW50ICpzb3VyY2VfcmF0ZXMsICpzaW5rX3JhdGVz Owo+PiA+IC0JaW50IHNvdXJjZV9sZW4sIHNpbmtfbGVuLCBjb21tb25fbGVuOwo+PiA+IC0JaW50 IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXTsKPj4gPiArCWludCBzb3VyY2Vf bGVuLCBzaW5rX2xlbjsKPj4gPiAgCWNoYXIgc3RyWzEyOF07IC8qIEZJWE1FOiB0b28gYmlnIGZv ciBzdGFjaz8gKi8KPj4gPiAgCj4+ID4gIAlpZiAoKGRybV9kZWJ1ZyAmIERSTV9VVF9LTVMpID09 IDApCj4+ID4gQEAgLTE0NDUsOCArMTQ0Myw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByaW50 X3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ID4gIAlzbnByaW50Zl9pbnRfYXJy YXkoc3RyLCBzaXplb2Yoc3RyKSwgc2lua19yYXRlcywgc2lua19sZW4pOwo+PiA+ICAJRFJNX0RF QlVHX0tNUygic2luayByYXRlczogJXNcbiIsIHN0cik7Cj4+ID4gIAo+PiA+IC0JY29tbW9uX2xl biA9IGludGVsX2RwX2NvbW1vbl9yYXRlcyhpbnRlbF9kcCwgY29tbW9uX3JhdGVzKTsKPj4gPiAt CXNucHJpbnRmX2ludF9hcnJheShzdHIsIHNpemVvZihzdHIpLCBjb21tb25fcmF0ZXMsIGNvbW1v bl9sZW4pOwo+PiA+ICsJc25wcmludGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0ciksIGludGVs X2RwLT5jb21tb25fcmF0ZXMsCj4+ID4gKwkJCSAgIGludGVsX2RwLT5jb21tb25fbGVuKTsKPj4g PiAgCURSTV9ERUJVR19LTVMoImNvbW1vbiByYXRlczogJXNcbiIsIHN0cik7Cj4+ID4gIH0KPj4g PiAgCj4+ID4gQEAgLTE0OTUsMTQgKzE0OTMsMTIgQEAgc3RhdGljIGludCByYXRlX3RvX2luZGV4 KGludCBmaW5kLCBjb25zdCBpbnQgKnJhdGVzKQo+PiA+ICBpbnQKPj4gPiAgaW50ZWxfZHBfbWF4 X2xpbmtfcmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiA+ICB7Cj4+ID4gLQlpbnQg cmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU10gPSB7fTsKPj4gPiAtCWludCBsZW47Cj4+ID4g KwlpbnQgbGVuID0gaW50ZWxfZHAtPmNvbW1vbl9sZW47Cj4+ID4gIAo+PiA+IC0JbGVuID0gaW50 ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCByYXRlcyk7Cj4+ID4gIAlpZiAoV0FSTl9PTihs ZW4gPD0gMCkpCj4+ID4gIAkJcmV0dXJuIDE2MjAwMDsKPj4gPiAgCj4+ID4gLQlyZXR1cm4gcmF0 ZXNbbGVuIC0gMV07Cj4+ID4gKwlyZXR1cm4gaW50ZWxfZHAtPmNvbW1vbl9yYXRlc1tsZW4gLSAx XTsKPj4gPiAgfQo+PiA+ICAKPj4gPiAgaW50IGludGVsX2RwX3JhdGVfc2VsZWN0KHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsIGludCByYXRlKQo+PiA+IEBAIC0xNTUwLDIyICsxNTQ2LDE4IEBA IHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKPj4gPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVs X2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7Cj4+ID4gIAlpbnQgbGFuZV9jb3VudCwgY2xvY2s7Cj4+ ID4gIAlpbnQgbWluX2xhbmVfY291bnQgPSAxOwo+PiA+IC0JaW50IG1heF9sYW5lX2NvdW50ID0g aW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+PiA+ICsJaW50IG1heF9sYW5lX2Nv dW50ID0gaW50ZWxfZHAtPm1heF9sYW5lX2NvdW50Owo+PiA+ICAJLyogQ29udmVuaWVudGx5LCB0 aGUgbGluayBCVyBjb25zdGFudHMgYmVjb21lIGluZGljZXMgd2l0aCBhIHNoaWZ0Li4uKi8KPj4g PiAgCWludCBtaW5fY2xvY2sgPSAwOwo+PiA+ICAJaW50IG1heF9jbG9jazsKPj4gPiAgCWludCBi cHAsIG1vZGVfcmF0ZTsKPj4gPiAgCWludCBsaW5rX2F2YWlsLCBsaW5rX2Nsb2NrOwo+PiA+IC0J aW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXSA9IHt9Owo+PiA+IC0JaW50 IGNvbW1vbl9sZW47Cj4+ID4gIAl1aW50OF90IGxpbmtfYncsIHJhdGVfc2VsZWN0Owo+PiA+ICAK Pj4gPiAtCWNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21tb25fcmF0ZXMoaW50ZWxfZHAsIGNvbW1v bl9yYXRlcyk7Cj4+ID4gLQo+PiA+ICAJLyogTm8gY29tbW9uIGxpbmsgcmF0ZXMgYmV0d2VlbiBz b3VyY2UgYW5kIHNpbmsgKi8KPj4gPiAtCVdBUk5fT04oY29tbW9uX2xlbiA8PSAwKTsKPj4gPiAr CVdBUk5fT04oaW50ZWxfZHAtPmNvbW1vbl9sZW4gPD0gMCk7Cj4+IAo+PiBUaGlzIHdvdWxkIGJl IGJldHRlciByaWdodCBhZnRlciBzZXR0aW5nIGludGVsX2RwLT5jb21tb25fbGVuLgo+PiAKPj4g PiAgCj4+ID4gLQltYXhfY2xvY2sgPSBjb21tb25fbGVuIC0gMTsKPj4gPiArCW1heF9jbG9jayA9 IGludGVsX2RwLT5jb21tb25fbGVuIC0gMTsKPj4gPiAgCj4+ID4gIAlpZiAoSEFTX1BDSF9TUExJ VChkZXZfcHJpdikgJiYgIUhBU19EREkoZGV2X3ByaXYpICYmIHBvcnQgIT0gUE9SVF9BKQo+PiA+ ICAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+PiA+IEBAIC0xNTk3LDcg KzE1ODksNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCj4+ID4gIAo+PiA+ICAJRFJNX0RFQlVHX0tNUygiRFAgbGluayBjb21wdXRh dGlvbiB3aXRoIG1heCBsYW5lIGNvdW50ICVpICIKPj4gPiAgCQkgICAgICAibWF4IGJ3ICVkIHBp eGVsIGNsb2NrICVpS0h6XG4iLAo+PiA+IC0JCSAgICAgIG1heF9sYW5lX2NvdW50LCBjb21tb25f cmF0ZXNbbWF4X2Nsb2NrXSwKPj4gPiArCQkgICAgICBtYXhfbGFuZV9jb3VudCwgaW50ZWxfZHAt PmNvbW1vbl9yYXRlc1ttYXhfY2xvY2tdLAo+PiA+ICAJCSAgICAgIGFkanVzdGVkX21vZGUtPmNy dGNfY2xvY2spOwo+PiA+ICAKPj4gPiAgCS8qIFdhbGsgdGhyb3VnaCBhbGwgYnBwIHZhbHVlcy4g THVja2lseSB0aGV5J3JlIGFsbCBuaWNlbHkgc3BhY2VkIHdpdGggMgo+PiA+IEBAIC0xNjMzLDcg KzE2MjUsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCj4+ID4gIAkJCQlsYW5lX2NvdW50IDw9IG1heF9sYW5lX2NvdW50Owo+PiA+ ICAJCQkJbGFuZV9jb3VudCA8PD0gMSkgewo+PiA+ICAKPj4gPiAtCQkJCWxpbmtfY2xvY2sgPSBj b21tb25fcmF0ZXNbY2xvY2tdOwo+PiA+ICsJCQkJbGlua19jbG9jayA9IGludGVsX2RwLT5jb21t b25fcmF0ZXNbY2xvY2tdOwo+PiA+ICAJCQkJbGlua19hdmFpbCA9IGludGVsX2RwX21heF9kYXRh X3JhdGUobGlua19jbG9jaywKPj4gPiAgCQkJCQkJCQkgICAgbGFuZV9jb3VudCk7Cj4+ID4gIAo+ PiA+IEBAIC0xNjYzLDcgKzE2NTUsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBw KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+ID4gIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3Vu dCA9IGxhbmVfY291bnQ7Cj4+ID4gIAo+PiA+ICAJcGlwZV9jb25maWctPnBpcGVfYnBwID0gYnBw Owo+PiA+IC0JcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBjb21tb25fcmF0ZXNbY2xvY2tdOwo+ PiA+ICsJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBpbnRlbF9kcC0+Y29tbW9uX3JhdGVzW2Ns b2NrXTsKPj4gPiAgCj4+ID4gIAlpbnRlbF9kcF9jb21wdXRlX3JhdGUoaW50ZWxfZHAsIHBpcGVf Y29uZmlnLT5wb3J0X2Nsb2NrLAo+PiA+ICAJCQkgICAgICAmbGlua19idywgJnJhdGVfc2VsZWN0 KTsKPj4gPiBAQCAtNDQwMCw3ICs0MzkyLDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfZGlnaXRhbF9w b3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ID4gIAkJ ICAgICAgeWVzbm8oaW50ZWxfZHBfc291cmNlX3N1cHBvcnRzX2hicjIoaW50ZWxfZHApKSwKPj4g PiAgCQkgICAgICB5ZXNubyhkcm1fZHBfdHBzM19zdXBwb3J0ZWQoaW50ZWxfZHAtPmRwY2QpKSk7 Cj4+ID4gIAo+PiA+ICsJaW50ZWxfZHAtPmNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21tb25fcmF0 ZXMoaW50ZWxfZHApOwo+PiAKPj4gU2VlIGhvdyB0aGlzIGxvb2tzIGJhZCwgYXMgdXBkYXRpbmcg b2YgdGhlIGxlbmd0aCBhbmQgY29udGVudHMgYXJlCj4+IGRpdmlkZWQgYmV0d2VlbiBjYWxsZXIg YW5kIGNhbGxlZT8KPj4gCj4+ID4gIAlpbnRlbF9kcF9wcmludF9yYXRlcyhpbnRlbF9kcCk7Cj4+ ID4gKwlpbnRlbF9kcC0+bWF4X2xhbmVfY291bnQgPSBpbnRlbF9kcF9tYXhfbGFuZV9jb3VudChp bnRlbF9kcCk7Cj4+ID4gIAo+PiA+ICAJaW50ZWxfZHBfcmVhZF9kZXNjKGludGVsX2RwKTsKPj4g PiAgCj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gPiBpbmRleCAxZDEyNmMyLi43Yzg4 ODVlIDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gPiBAQCAtOTA2LDYg KzkwNiwxMSBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+PiA+ICAJLyogc2luayByYXRlcyBhcyByZXBv cnRlZCBieSBEUF9TVVBQT1JURURfTElOS19SQVRFUyAqLwo+PiA+ICAJdWludDhfdCBudW1fc2lu a19yYXRlczsKPj4gPiAgCWludCBzaW5rX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+ PiA+ICsJLyogc3VwcG9ydGVkIGxpbmsgcmF0ZXMgY29tbW9uIGJldHdlZW4gc291cmNlIGFuZCBz aW5rICovCj4+ID4gKwlpbnQgY29tbW9uX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+ PiA+ICsJaW50IGNvbW1vbl9sZW47Cj4+ID4gKwkvKiBNYXhpbXVtIHN1cHBvcnRlZCBsYW5lIGNv dW50IGNvbW1vbiBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luayAqLwo+PiA+ICsJdWludDhfdCBtYXhf bGFuZV9jb3VudDsKPj4gPiAgCS8qIHNpbmsgb3IgYnJhbmNoIGRlc2NyaXB0b3IgKi8KPj4gPiAg CXN0cnVjdCBpbnRlbF9kcF9kZXNjIGRlc2M7Cj4+ID4gIAlzdHJ1Y3QgZHJtX2RwX2F1eCBhdXg7 Cj4+IAo+PiAtLSAKPj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kg Q2VudGVyCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2Vu dGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=