From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 15/19] drm/i915: HSW cdclk support Date: Mon, 13 Apr 2015 12:43:14 +0300 Message-ID: <1428918194.3012.2.camel@sorvi> References: <1427800454-5236-1-git-send-email-mika.kahola@intel.com> <552378CB.7@intel.com> <5523814C.9070505@intel.com> <20150407082934.GG17410@intel.com> <55239722.9030505@intel.com> <20150407092925.GA3027@sorvi> <20150407135238.GI6354@phenom.ffwll.local> <1428564264.7745.14.camel@sorvi> <20150409093200.GB12038@phenom.ffwll.local> <1428586886.3155.5.camel@sorvi> <20150409135127.GO12038@phenom.ffwll.local> <1428672459.3120.6.camel@sorvi> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Takashi Iwai Cc: intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org T24gRnJpLCAyMDE1LTA0LTEwIGF0IDE2OjEwICswMjAwLCBUYWthc2hpIEl3YWkgd3JvdGU6Cj4g QXQgRnJpLCAxMCBBcHIgMjAxNSAxNjoyNzozOSArMDMwMCwKPiBNaWthIEthaG9sYSB3cm90ZToK PiA+IAo+ID4gT24gVGh1LCAyMDE1LTA0LTA5IGF0IDE3OjE3ICswMjAwLCBUYWthc2hpIEl3YWkg d3JvdGU6Cj4gPiA+IEF0IFRodSwgOSBBcHIgMjAxNSAxNTo1MToyNyArMDIwMCwKPiA+ID4gRGFu aWVsIFZldHRlciB3cm90ZToKPiA+ID4gPiAKPiA+ID4gPiBPbiBUaHUsIEFwciAwOSwgMjAxNSBh dCAwNDo0MToyNlBNICswMzAwLCBNaWthIEthaG9sYSB3cm90ZToKPiA+ID4gPiA+IE9uIFRodSwg MjAxNS0wNC0wOSBhdCAxMTozMiArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+ID4gPiA+ ID4gT24gVGh1LCBBcHIgMDksIDIwMTUgYXQgMTA6MjQ6MjRBTSArMDMwMCwgTWlrYSBLYWhvbGEg d3JvdGU6Cj4gPiA+ID4gPiA+ID4gSSBkaWQgc29tZSB0ZXN0aW5nIG9uIGF1ZGlvIHBhcnQgd2l0 aCBIRE1JLUhETUkgYW5kIERQLUhETUkgY2FibGVzCj4gPiA+ID4gPiA+ID4gY29ubmVjdGVkIHRv IG15IEhhc3dlbGwgYm94LiBCZWZvcmUgYXBwbHlpbmcgdGhlIHBhdGNoIEkgdGVzdGVkIGFzIGEK PiA+ID4gPiA+ID4gPiByZWZlcmVuY2Ugd2l0aCB0aGUgbGF0ZXN0IC1uaWdodGx5ICgwNC0wOC0y MDE1KSwgNC4wLXJjNy4gVW5mb3J0dW5hdGVseSwKPiA+ID4gPiA+ID4gPiBJIGZhaWxlZCB0byBn ZXQgYW55IGF1ZGlvIG92ZXIgSERNSSBjYWJsZS4gRm9yIGEgcmVmZXJlbmNlIEkgdGVzdGVkIHdp dGgKPiA+ID4gPiA+ID4gPiB0aGUgdmVyeSBzYW1lIHNldHVwIHRoZSB2YW5pbGxsYSBrZXJuZWwg ZnJvbSBMaW51cyB0cmVlIDQuMC1yYzcgYW5kIHdpdGgKPiA+ID4gPiA+ID4gPiB0aGF0IGtlcm5l bCB0aGUgYXVkaW8gd29ya2VkIG9rLiBUaGVuIEkgZGlkIHNvbWUgR0lUIGJpc2VjdGluZyBhbmQg aXQKPiA+ID4gPiA+ID4gPiB0dXJuZWQgb3V0IHRoYXQgdGhlIGZpcnN0IGNvbW1pdCB0aGF0IEkg ZmFpbGVkIHRvIGdldCBhdWRpbyB3b3JraW5nIHdhcwo+ID4gPiA+ID4gPiA+IGFhMmZlZTQyODZl NDNiNDc4NDk4MmIxNzY2OWIwMmNjOTljMWFlNTUuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gSSBy ZXJ1biB0aGUgYmlzZWN0aW5nIGFuZCB0aGlzIHRpbWUgdGhlIHJlc3VsdCB3YXMKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gY29tbWl0IDBhNTk5ODM4NzM3YTI1MjdjMzVlNGQ5NGY3OTRhZWZlNTlkZjE3 ODEKPiA+ID4gPiA+IE1lcmdlOiAyZDg0NmM3IGE1OWQ3MTkKPiA+ID4gPiA+IEF1dGhvcjogVGFr YXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgo+ID4gPiA+ID4gRGF0ZTogICBXZWQgQXByIDggMTE6 Mjk6NTYgMjAxNSArMDIwMAo+ID4gPiA+ID4gCj4gPiA+ID4gPiAgICAgTWVyZ2UgYnJhbmNoICdm b3ItbGludXMnIGludG8gZm9yLW5leHQKPiA+ID4gPiA+ICAgICAKPiA+ID4gPiA+ICAgICBCYWNr IG1lcmdlIEhELWF1ZGlvIHF1aXJrcyB0byBmb3ItbmV4dCBicmFuY2gsIHNvIHRoYXQgd2UgY2Fu IGFwcGx5Cj4gPiA+ID4gPiAgICAgYSBjb3VwbGUgb2YgbW9yZSBxdWlya3MuCj4gPiA+ID4gPiAg ICAgCj4gPiA+ID4gPiAgICAgU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNl LmRlPgo+ID4gPiA+IAo+ID4gPiA+IEFkZGluZyBUYWthc2hpIGFuZCBpbnRlbCBhdWRpbyBmb2xr cy4KPiA+ID4gCj4gPiA+IFRoZSBiaXNlY3RpbmcgbG9va3Mgb2RkLiAgVGhlIGNvbW1pdCB5b3Ug cG9pbnRlZCBpcyBhIGJhY2stbWVyZ2UgZnJvbQo+ID4gPiA0LjAtcmMgdG8gbmV4dCBicmFuY2gs IHNvIHRoaXMgbWVyZ2UgaXRzZWxmIHNob3VsZG4ndCBicmluZyBzbyBtYW55Cj4gPiA+IHN0dWZm IC0tIGF0IGxlYXN0IGFib3V0IHRoZSBzb3VuZCBwYXJ0Lgo+ID4gPiAKPiA+ID4gVGhlIGRpZmYg aW4gc291bmQvKiBpcyBmb3VuZCBiZWxvdy4gIEFzIHlvdSBjYW4gc2VlLCB0aGUgb25seSBjaGFu Z2UKPiA+ID4gcmVsZXZhbnQgd2l0aCBIRE1JIGlzIHRoZSBjaHVuayBpbiBzb3VuZC9wY2kvaGRh L2hkYV9pbnRlbC5jIGZvcgo+ID4gPiBIRC1hdWRpbyBjb250cm9sbGVyLCBidXQgaXQncyBzcGVj aWZpYyB0byBTa3lsYWtlLCB0aHVzIHRoaXMgbXVzdCBiZQo+ID4gPiBpcnJlbGV2YW50IHdpdGgg eW91ciBoYXJkd2FyZS4KPiA+ID4gCj4gPiA+IFBsZWFzZSBkb3VibGUtY2hlY2suCj4gPiAKPiA+ IEkgZG91YmxlLWNoZWNrZWQgdGhlIGJpc2VjdGluZyBhbmQgSSBlbmRlZCB1cCB3aXRoIHRoZSBz YW1lIHJlc3VsdC4gWW91J3JlCj4gPiByaWdodCwgaXQgZG9lcyBzZWVtcyBvZGQgd2h5IGF1ZGlv IG9uIG15IEhhc3dlbGwgYm94IHN0b3BwZWQgd29ya2luZy4KPiA+IAo+ID4gQW55IGlkZWFzIGhv dyB0byBwcm9jZWVkIGZyb20gaGVyZT8KPiAKPiBUcnkgdG8gY2hlY2sgd2hldGhlciB0aGUgcmV2 ZXJ0aW5nIHRoZSBkaWZmIG9mIHNvdW5kLyogbWFudWFsbHkgZml4ZXMKPiB0aGUgcHJvYmxlbS4g IChpLmUuIGFwcGx5IGRpZmYgLVIgZm9yIHRoZSBkaWZmIEkgc2hvd2VkIGluIHRoZQo+IHByZXZp b3VzIG1haWwuKQo+IAo+IElmIGl0IGRvZXNuJ3QgZml4IGJ1dCBzdGlsbCByZXZlcnRpbmcgdGhl IHdob2xlIGNvbW1pdCBkb2VzIGZpeCwgaXQKPiBtZWFucyB0aGF0IHNvbWV0aGluZyBlbHNlIGdv dCBicm9rZW4gYnkgdGhlIG1lcmdlLgo+IAo+IAo+IFRha2FzaGkKPiAKCkkgcmV2ZXJ0ZWQgdGhl IGRpZmYgYnV0IHVuZm9ydHVuYXRlbHkgdGhlcmUgd2VyZSBubyBkaWZmZXJlbmNlLiAKCkZvciBj dXJpb3NpdHksIEkgdGVzdGVkIHRoZSBhdWRpbyB3aXRoIHRoZSBsYXRlc3QgLW5pZ2h0bHkgYW5k IEkgZ290CnRoZSBhdWRpbyB3b3JraW5nIGFnYWluLiBJIHdvbmRlciB3aGF0IGhhcyBjaGFuZ2Vk IGJ1dCBpdCBzZWVtcyB0aGF0CnRoZSBwcm9ibGVtIGlzIG5vdyBzb2x2ZWQuCgotTWlrYS0KCj4g Cj4gPiAKPiA+IENoZWVycywKPiA+IE1pa2EKPiA+IAo+ID4gCj4gPiA+IHRoYW5rcywKPiA+ID4g Cj4gPiA+IFRha2FzaGkKPiA+ID4gCj4gPiA+ID09PQo+ID4gPiAlIGdpdCBkaWZmIDBhNTk5ODM4 NzM3YTI1MjdjMzVlNGQ5NGY3OTRhZWZlNTlkZjE3ODFeLi4wYTU5OTgzODczN2EyNTI3YzM1ZTRk OTRmNzk0YWVmZTU5ZGYxNzgxIHNvdW5kCj4gPiA+IGRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRh L2hkYV9pbnRlbC5jIGIvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwo+ID4gPiBpbmRleCA5YmNj NTQ1N2E4M2UuLmUxYzIxMDUxNTU4MSAxMDA2NDQKPiA+ID4gLS0tIGEvc291bmQvcGNpL2hkYS9o ZGFfaW50ZWwuYwo+ID4gPiArKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCj4gPiA+IEBA IC0xOTY3LDcgKzE5NjcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgYXp4 X2lkc1tdID0gewo+ID4gPiAgCSAgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9QQ0ggfCBBWlhf RENBUFNfSU5URUxfUENIIH0sCj4gPiA+ICAJLyogU3VucmlzZSBQb2ludCAqLwo+ID4gPiAgCXsg UENJX0RFVklDRSgweDgwODYsIDB4YTE3MCksCj4gPiA+IC0JICAuZHJpdmVyX2RhdGEgPSBBWlhf RFJJVkVSX1BDSCB8IEFaWF9EQ0FQU19JTlRFTF9QQ0ggfSwKPiA+ID4gKwkgIC5kcml2ZXJfZGF0 YSA9IEFaWF9EUklWRVJfUENIIHwgQVpYX0RDQVBTX0lOVEVMX1NLWUxBS0UgfSwKPiA+ID4gIAkv KiBTdW5yaXNlIFBvaW50LUxQICovCj4gPiA+ICAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHg5ZDcw KSwKPiA+ID4gIAkgIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfUENIIHwgQVpYX0RDQVBTX0lO VEVMX1NLWUxBS0UgfSwKPiA+ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVh bHRlay5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKPiA+ID4gaW5kZXggZTBjMDZm OWEwZTgwLi43ZjQ2ZDA2M2FmNTcgMTAwNjQ0Cj4gPiA+IC0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0 Y2hfcmVhbHRlay5jCj4gPiA+ICsrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jCj4g PiA+IEBAIC0zOTYsNyArMzk2LDcgQEAgc3RhdGljIHZvaWQgYWxjX2F1dG9fc2V0dXBfZWFwZChz dHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywgYm9vbCBvbikKPiA+ID4gIHsKPiA+ID4gIAkvKiBXZSBj dXJyZW50bHkgb25seSBoYW5kbGUgZnJvbnQsIEhQICovCj4gPiA+ICAJc3RhdGljIGhkYV9uaWRf dCBwaW5zW10gPSB7Cj4gPiA+IC0JCTB4MGYsIDB4MTAsIDB4MTQsIDB4MTUsIDAKPiA+ID4gKwkJ MHgwZiwgMHgxMCwgMHgxNCwgMHgxNSwgMHgxNywgMAo+ID4gPiAgCX07Cj4gPiA+ICAJaGRhX25p ZF90ICpwOwo+ID4gPiAgCWZvciAocCA9IHBpbnM7ICpwOyBwKyspCj4gPiA+IEBAIC0yODcwLDYg KzI4NzAsOCBAQCBzdGF0aWMgdm9pZCBhbGMyODNfaW5pdChzdHJ1Y3QgaGRhX2NvZGVjICpjb2Rl YykKPiA+ID4gIAo+ID4gPiAgCWlmICghaHBfcGluKQo+ID4gPiAgCQlyZXR1cm47Cj4gPiA+ICsK PiA+ID4gKwltc2xlZXAoMzApOwo+ID4gPiAgCWhwX3Bpbl9zZW5zZSA9IHNuZF9oZGFfamFja19k ZXRlY3QoY29kZWMsIGhwX3Bpbik7Cj4gPiA+ICAKPiA+ID4gIAkvKiBJbmRleCAweDQzIERpcmVj dCBEcml2ZSBIUCBBTVAgTFBNIENvbnRyb2wgMSAqLwo+ID4gPiBAQCAtMzU2NCw2ICszNTY2LDcg QEAgc3RhdGljIHZvaWQgYWxjX2hlYWRzZXRfbW9kZV91bnBsdWdnZWQoc3RydWN0IGhkYV9jb2Rl YyAqY29kZWMpCj4gPiA+ICAKPiA+ID4gIAlzd2l0Y2ggKGNvZGVjLT5jb3JlLnZlbmRvcl9pZCkg ewo+ID4gPiAgCWNhc2UgMHgxMGVjMDI1NToKPiA+ID4gKwljYXNlIDB4MTBlYzAyNTY6Cj4gPiA+ ICAJCWFsY19wcm9jZXNzX2NvZWZfZncoY29kZWMsIGNvZWYwMjU1KTsKPiA+ID4gIAkJYnJlYWs7 Cj4gPiA+ICAJY2FzZSAweDEwZWMwMjMzOgo+ID4gPiBAQCAtMzYxOSw2ICszNjIyLDcgQEAgc3Rh dGljIHZvaWQgYWxjX2hlYWRzZXRfbW9kZV9taWNfaW4oc3RydWN0IGhkYV9jb2RlYyAqY29kZWMs IGhkYV9uaWRfdCBocF9waW4sCj4gPiA+ICAKPiA+ID4gIAlzd2l0Y2ggKGNvZGVjLT5jb3JlLnZl bmRvcl9pZCkgewo+ID4gPiAgCWNhc2UgMHgxMGVjMDI1NToKPiA+ID4gKwljYXNlIDB4MTBlYzAy NTY6Cj4gPiA+ICAJCWFsY193cml0ZV9jb2VmX2lkeChjb2RlYywgMHg0NSwgMHhjNDg5KTsKPiA+ ID4gIAkJc25kX2hkYV9zZXRfcGluX2N0bF9jYWNoZShjb2RlYywgaHBfcGluLCAwKTsKPiA+ID4g IAkJYWxjX3Byb2Nlc3NfY29lZl9mdyhjb2RlYywgY29lZjAyNTUpOwo+ID4gPiBAQCAtMzY4OCw2 ICszNjkyLDcgQEAgc3RhdGljIHZvaWQgYWxjX2hlYWRzZXRfbW9kZV9kZWZhdWx0KHN0cnVjdCBo ZGFfY29kZWMgKmNvZGVjKQo+ID4gPiAgCj4gPiA+ICAJc3dpdGNoIChjb2RlYy0+Y29yZS52ZW5k b3JfaWQpIHsKPiA+ID4gIAljYXNlIDB4MTBlYzAyNTU6Cj4gPiA+ICsJY2FzZSAweDEwZWMwMjU2 Ogo+ID4gPiAgCQlhbGNfcHJvY2Vzc19jb2VmX2Z3KGNvZGVjLCBjb2VmMDI1NSk7Cj4gPiA+ICAJ CWJyZWFrOwo+ID4gPiAgCWNhc2UgMHgxMGVjMDIzMzoKPiA+ID4gQEAgLTM3NDIsNiArMzc0Nyw3 IEBAIHN0YXRpYyB2b2lkIGFsY19oZWFkc2V0X21vZGVfY3RpYShzdHJ1Y3QgaGRhX2NvZGVjICpj b2RlYykKPiA+ID4gIAo+ID4gPiAgCXN3aXRjaCAoY29kZWMtPmNvcmUudmVuZG9yX2lkKSB7Cj4g PiA+ICAJY2FzZSAweDEwZWMwMjU1Ogo+ID4gPiArCWNhc2UgMHgxMGVjMDI1NjoKPiA+ID4gIAkJ YWxjX3Byb2Nlc3NfY29lZl9mdyhjb2RlYywgY29lZjAyNTUpOwo+ID4gPiAgCQlicmVhazsKPiA+ ID4gIAljYXNlIDB4MTBlYzAyMzM6Cj4gPiA+IEBAIC0zNzk2LDYgKzM4MDIsNyBAQCBzdGF0aWMg dm9pZCBhbGNfaGVhZHNldF9tb2RlX29tdHAoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCj4gPiA+ ICAKPiA+ID4gIAlzd2l0Y2ggKGNvZGVjLT5jb3JlLnZlbmRvcl9pZCkgewo+ID4gPiAgCWNhc2Ug MHgxMGVjMDI1NToKPiA+ID4gKwljYXNlIDB4MTBlYzAyNTY6Cj4gPiA+ICAJCWFsY19wcm9jZXNz X2NvZWZfZncoY29kZWMsIGNvZWYwMjU1KTsKPiA+ID4gIAkJYnJlYWs7Cj4gPiA+ICAJY2FzZSAw eDEwZWMwMjMzOgo+ID4gPiBAQCAtMzg0MSw2ICszODQ4LDcgQEAgc3RhdGljIHZvaWQgYWxjX2Rl dGVybWluZV9oZWFkc2V0X3R5cGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCj4gPiA+ICAKPiA+ ID4gIAlzd2l0Y2ggKGNvZGVjLT5jb3JlLnZlbmRvcl9pZCkgewo+ID4gPiAgCWNhc2UgMHgxMGVj MDI1NToKPiA+ID4gKwljYXNlIDB4MTBlYzAyNTY6Cj4gPiA+ICAJCWFsY19wcm9jZXNzX2NvZWZf ZncoY29kZWMsIGNvZWYwMjU1KTsKPiA+ID4gIAkJbXNsZWVwKDMwMCk7Cj4gPiA+ICAJCXZhbCA9 IGFsY19yZWFkX2NvZWZfaWR4KGNvZGVjLCAweDQ2KTsKPiA+ID4gQEAgLTQ5OTMsNiArNTAwMSw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBhbGMyNjlfZml4dXBfdGJsW10g PSB7Cj4gPiA+ICAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4NTAxYSwgIlRoaW5rcGFkIiwgQUxD MjgzX0ZJWFVQX0lOVF9NSUMpLAo+ID4gPiAgCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDUwMWUs ICJUaGlua3BhZCBMNDQwIiwgQUxDMjkyX0ZJWFVQX1RQVDQ0MF9ET0NLKSwKPiA+ID4gIAlTTkRf UENJX1FVSVJLKDB4MTdhYSwgMHg1MDI2LCAiVGhpbmtwYWQiLCBBTEMyNjlfRklYVVBfTElNSVRf SU5UX01JQ19CT09TVCksCj4gPiA+ICsJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4NTAzNiwgIlRo aW5rcGFkIFQ0NTBzIiwgQUxDMjkyX0ZJWFVQX1RQVDQ0MF9ET0NLKSwKPiA+ID4gIAlTTkRfUENJ X1FVSVJLKDB4MTdhYSwgMHg1MTA5LCAiVGhpbmtwYWQiLCBBTEMyNjlfRklYVVBfTElNSVRfSU5U X01JQ19CT09TVCksCj4gPiA+ICAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4M2JmOCwgIlF1YW50 YSBGTDEiLCBBTEMyNjlfRklYVVBfUENNXzQ0SyksCj4gPiA+ICAJU05EX1BDSV9RVUlSSygweDE3 YWEsIDB4OWU1NCwgIkxFTk9WTyBOQiIsIEFMQzI2OV9GSVhVUF9MRU5PVk9fRUFQRCksCj4gPiA+ IEBAIC01MTczLDYgKzUxODIsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfaGRhX3Bpbl9x dWlyayBhbGMyNjlfcGluX2ZpeHVwX3RibFtdID0gewo+ID4gPiAgCQl7MHgxNywgMHg0MDAwMDAw MH0sCj4gPiA+ICAJCXsweDFkLCAweDQwNzAwMDAxfSwKPiA+ID4gIAkJezB4MjEsIDB4MDIyMTEw NTB9KSwKPiA+ID4gKwlTTkRfSERBX1BJTl9RVUlSSygweDEwZWMwMjU2LCAweDEwMjgsICJEZWxs IiwgQUxDMjU1X0ZJWFVQX0RFTEwxX01JQ19OT19QUkVTRU5DRSwKPiA+ID4gKwkJezB4MTIsIDB4 OTBhNjAxNDB9LAo+ID4gPiArCQl7MHgxMywgMHg0MDAwMDAwMH0sCj4gPiA+ICsJCXsweDE0LCAw eDkwMTcwMTEwfSwKPiA+ID4gKwkJezB4MTksIDB4NDExMTExZjB9LAo+ID4gPiArCQl7MHgxYSwg MHg0MTExMTFmMH0sCj4gPiA+ICsJCXsweDFiLCAweDQxMTExMWYwfSwKPiA+ID4gKwkJezB4MWQs IDB4NDA3MDAwMDF9LAo+ID4gPiArCQl7MHgxZSwgMHg0MTExMTFmMH0sCj4gPiA+ICsJCXsweDIx LCAweDAyMjExMDIwfSksCj4gPiA+ICAJU05EX0hEQV9QSU5fUVVJUksoMHgxMGVjMDI4MCwgMHgx MDNjLCAiSFAiLCBBTEMyODBfRklYVVBfSFBfR1BJTzQsCj4gPiA+ICAJCXsweDEyLCAweDkwYTYw MTMwfSwKPiA+ID4gIAkJezB4MTMsIDB4NDAwMDAwMDB9LAo+ID4gPiBkaWZmIC0tZ2l0IGEvc291 bmQvdXNiL3F1aXJrcy5jIGIvc291bmQvdXNiL3F1aXJrcy5jCj4gPiA+IGluZGV4IDM1MzUzMmI4 YWVlNC4uOGY2M2U4YzhiNDZjIDEwMDY0NAo+ID4gPiAtLS0gYS9zb3VuZC91c2IvcXVpcmtzLmMK PiA+ID4gKysrIGIvc291bmQvdXNiL3F1aXJrcy5jCj4gPiA+IEBAIC0xMTEzLDggKzExMTMsMTMg QEAgdm9pZCBzbmRfdXNiX3NldF9mb3JtYXRfcXVpcmsoc3RydWN0IHNuZF91c2Jfc3Vic3RyZWFt ICpzdWJzLAo+ID4gPiAgCj4gPiA+ICBib29sIHNuZF91c2JfZ2V0X3NhbXBsZV9yYXRlX3F1aXJr KHN0cnVjdCBzbmRfdXNiX2F1ZGlvICpjaGlwKQo+ID4gPiAgewo+ID4gPiAtCS8qIE1TIExpZmVj YW0gSEQtNTAwMCBkb2Vzbid0IHN1cHBvcnQgcmVhZGluZyB0aGUgc2FtcGxlIHJhdGUuICovCj4g PiA+IC0JcmV0dXJuIGNoaXAtPnVzYl9pZCA9PSBVU0JfSUQoMHgwNDVFLCAweDA3NkQpOwo+ID4g PiArCS8qIGRldmljZXMgd2hpY2ggZG8gbm90IHN1cHBvcnQgcmVhZGluZyB0aGUgc2FtcGxlIHJh dGUuICovCj4gPiA+ICsJc3dpdGNoIChjaGlwLT51c2JfaWQpIHsKPiA+ID4gKwljYXNlIFVTQl9J RCgweDA0NUUsIDB4MDc2RCk6IC8qIE1TIExpZmVjYW0gSEQtNTAwMCAqLwo+ID4gPiArCWNhc2Ug VVNCX0lEKDB4MDREOCwgMHhGRUVBKTogLyogQmVuY2htYXJrIERBQzEgUHJlICovCj4gPiA+ICsJ CXJldHVybiB0cnVlOwo+ID4gPiArCX0KPiA+ID4gKwlyZXR1cm4gZmFsc2U7Cj4gPiA+ICB9Cj4g PiA+ICAKPiA+ID4gIC8qIE1hcmFudHovRGVub24gVVNCIERBQ3MgbmVlZCBhIHZlbmRvciBjbWQg dG8gc3dpdGNoCj4gPiA+IAo+ID4gCj4gPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=