From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [Intel-gfx] [PATCH 11/18] drm/i915: Return the mask of enabled infoframes from ->inforame_enabled() Date: Mon, 24 Sep 2018 19:36:08 +0300 Message-ID: <20180924163608.GR5565@intel.com> References: <20180920185145.1912-1-ville.syrjala@linux.intel.com> <20180920185145.1912-12-ville.syrjala@linux.intel.com> <20180924155116.GX11082@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180924155116.GX11082@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMjQsIDIwMTggYXQgMDU6NTE6MTZQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUaHUsIFNlcCAyMCwgMjAxOCBhdCAwOTo1MTozOFBNICswMzAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+IAo+ID4gV2Ugd2FudCB0byBzdGFydCB0cmFja2luZyB3aGljaCBp bmZvZnJhbWVzIGFyZSBlbmFibGVkLCBzbyBsZXQncyByZXBsYWNlCj4gPiB0aGUgYm9vbGVhbiBm bGFnIHdpdGggYSBiaXRtYXNrLgo+ID4gCj4gPiBXZSdsbCBhYnN0cmFjdCB0aGUgYml0bWFzayBz byB0aGF0IGl0J3Mgbm90IHBsYXRmb3JtIGRlcGVuZGVudC4gVGhhdAo+ID4gd2lsbCBhbGxvdyB1 cyB0byBleGFtaW5lIHRoZSBiaXRtYXNrIGxhdGVyIGluIHBsYXRmb3JtIGluZGVwZW5kZW50IGNv ZGUuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyAgfCAgMiArLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8 ICA0ICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwgODcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA2 OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKPiA+IGluZGV4IDA4NmUzZjk0MDU4Ni4uMDk4YTBlNGVkZjJhIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBAQCAtMzM5MCw3ICszMzkwLDcgQEAgdm9pZCBp bnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJ CXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPiA+ICAJCWludGVsX2RpZ19wb3J0 ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiA+ICAKPiA+IC0JCWlmIChpbnRl bF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQoZW5jb2RlciwgcGlwZV9jb25maWcpKQo+ID4g KwkJaWYgKGludGVsX2hkbWlfaW5mb2ZyYW1lc19lbmFibGVkKGVuY29kZXIsIHBpcGVfY29uZmln KSkKPiA+ICAJCQlwaXBlX2NvbmZpZy0+aGFzX2luZm9mcmFtZSA9IHRydWU7Cj4gPiAgCj4gPiAg CQlpZiAoKHRlbXAgJiBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0spID09Cj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZTBmM2E3OWZjNzVlLi42ODE1YzY5YWFjMmYg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IEBAIC0xMTgxLDcgKzExODEs NyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKPiA+ICAJCQkgICAgICAgYm9vbCBlbmFi bGUsCj4gPiAgCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAo+ID4gIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSk7Cj4gPiAtCWJvb2wgKCppbmZvZnJhbWVfZW5hYmxlZCkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiArCXUzMiAoKmluZm9mcmFtZXNfZW5hYmxlZCkoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICB9Owo+ID4gIAo+ID4gQEAgLTE4NTYsNiArMTg1Niw4 IEBAIGJvb2wgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ID4gIAkJCQkgICAgICAgYm9vbCBzY3JhbWJsaW5nKTsKPiA+ICB2 b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkg KmhkbWksIGJvb2wgZW5hYmxlKTsKPiA+ICB2b2lkIGludGVsX2luZm9mcmFtZV9pbml0KHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KTsKPiA+ICt1MzIgaW50ZWxfaGRt aV9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAr CQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIAo+ ID4gIAo+ID4gIC8qIGludGVsX2x2ZHMuYyAqLwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+ID4gaW5kZXggYzNjMmE2MzhkMDYyLi5hOGZjZGRiMTk5YWUgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gQEAgLTEwMCwxMCArMTAwLDE0IEBAIHN0YXRpYyB1MzIg ZzR4X2luZm9mcmFtZV9pbmRleCh1bnNpZ25lZCBpbnQgdHlwZSkKPiA+ICBzdGF0aWMgdTMyIGc0 eF9pbmZvZnJhbWVfZW5hYmxlKHVuc2lnbmVkIGludCB0eXBlKQo+ID4gIHsKPiA+ICAJc3dpdGNo ICh0eXBlKSB7Cj4gPiArCWNhc2UgSERNSV9QQUNLRVRfVFlQRV9OVUxMOgo+ID4gKwkJcmV0dXJu IFZJREVPX0RJUF9FTkFCTEU7IC8qIHNsaWdodCBsaWUgKi8KPiAKPiBOb3QgZXhhY3RseSBzdXJl IHdoeSB3ZSdyZSB0cmFja2luZyB0aGlzIG9uZSBoZXJlLCBidXQgbm90IGZvciBoc3cuCgpIU1cr IGRvZXNuJ3QgaGF2ZSBhIERJUCBlbmFibGUgYml0IGxpa2UgdGhpcy4gSXQgb25seSBoYXMgdGhl CmJpdHMgdG8gZW5hYmxlIHNwZWNpZmljIGluZm9mcmFtZXMuCgo+IFNob3VsZG4ndCB3ZSBpbmNs dWRlIHRoYXQgb25lIGlmIHRoZSBEREkgcG9ydCBpcyBpbiBoZG1pIG1vZGU/IFdvdWxkIGJlCj4g bW9yZSBjb25zaXN0ZW50IEkgdGhpbmsuCgpZZXMgdGhhdCB3b3VsZCBzZWVtIGxpa2UgdGhlIG1v cmUgY29ycmVjdCB0aGluZy4gSSB0aGluayB0aGUgcmVhc29uCkkgZGlkIHRoaXMgaGVyZSB3YXMg c28gdGhhdCBJIGNvdWxkIG1hcCB0aGUgRElQX0VOQUJMRSBiaXQgdG8Kc29tZXRoaW5nIHVuaXF1 ZS4gV291bGQgYWxsb3cgdXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZQoiRElQIGVuYWJs ZWQgd2l0aCBubyBpbmZvZnJhbWVzIGVuYWJsZWQiIHZzLiAiRElQIGVuYWJsZWQgd2l0aApzb21l IGluZm9mcmFtZXMgZW5hYmxlZCIgY2FzZXMuIEJ1dCBzZWVpbmcgYXMgd2UgYWx3YXlzIGVuYWJs ZSBzb21lCmluZm9mcmFtZXMgSSBndWVzcyB0aGlzIGRvZXNuJ3QgcmVhbGx5IHByb3ZpZGUgdXMg d2l0aCBhbnl0aGluZwpwYXJ0aWN1bGFybHkgdXNlZnVsLgoKVGhhdCBzYWlkLCBJJ20gYWN0dWFs bHkgbm90IHN1cmUgd2hldGhlciB0aGUgaHcgd2lsbCBzZW5kIHRoZSBudWxsCnBhY2tldHMgaWYg d2UgZG9uJ3QgZW5hYmxlIHRoZSBESVAuIFdvdWxkIHJlcXVpcmUgYSBIRE1JIGFuYWx5emVyCnRv IGNvbmZpcm0uCgpIbW0uIEFjdHVhbGx5IGdlbjQgYnNwZWMgdGVsbHMgbWU6CiJJZiBESVAgaXMg ZW5hYmxlZCBidXQgRElQIHR5cGVzIGFyZSBhbGwgZGlzYWJsZWQsIG5vIERJUCBpcyBzZW50Lgog SG93ZXZlciwgYSBzaW5nbGUgTnVsbCBESVAgd2lsbCBiZSBzZW50IGF0IHRoZSBzYW1lIHBvaW50 IGluIHRoZQogc3RyZWFtIHRoYXQgRElQIHBhY2tldHMgd291bGQgaGF2ZSBiZWVuIHNlbnQuIFRo aXMgaXMgZG9uZSB0bwoga2VlcCB0aGUgcG9ydCBpbiBIRE1JIG1vZGUsIG90aGVyd2lzZSBpdCB3 b3VsZCByZXZlcnQgdG8gRFZJIG1vZGUuCiBUaGUgIk51bGwgcGFja2V0cyBlbmFibGVkIGR1cmlu ZyB2c3luYyIgbW9kZSAoYml0ICM5IG9mIHBvcnQKIGNvbnRyb2wgcmVnaXN0ZXIpIG92ZXJyaWRl cyB0aGlzIGJlaGF2aW9yLiIKClNvIEkgZ3Vlc3MgbWFwcGluZyB0aGUgbnVsbCBwYWNrZXQgdG8g dGhlIERJUCBlbmFibGUgYml0IGlzIG1vcmUgb3IKbGVzcyBjb3JyZWN0LiBBbHRob3VnaCB0aGUg c3BlYyBkb2Vzbid0IHF1aXRlIHNheSB3aGV0aGVyIHRoZSBudWxsCnBhY2tldCBpcyBhbHNvIHNl bnQgd2hlbiBzb21lIERJUCB0eXBlcyBhcmUgYWxzbyBlbmFibGVkLCBvciBpZiBpdAppcyBvbmx5 IHNlbmQgd2hlbiBubyBESVAgdHlwZXMgYXJlIGVuYWJsZWQuCgpTbyB0byBtYXRjaCB0aGUgaHcg SSBndWVzcyB0aGUgcmVhZG91dCBzaG91bGQgcmVhbGx5IGRvIHNvbWV0aGluZwpsaWtlOgoKaWYg KGhkbWkgJiBIRE1JX01PREUgfHwgZGlwX2N0bCAmIERJUF9FTkFCTEUpCglpbmZvZnJhbWVzIHw9 IFRZUEVfTlVMTDsKCmJ1dCB0aGF0IHdvdWxkIGFnYWluIG1lYW4gdGhhdCB3ZSBjYW4ndCB0ZWxs IHRoZSB0d28gY2FzZXMKYXBhcnQuCgo+IAo+IEFzaWRlIGZyb20gdGhhdCBsZ3RtLCBoYXMgbXkK PiAKPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K PiAKPiBvbmNlIHdlIGZpZ3VyZWQgdGhlIFRZUEVfTlVMTCB0aGluZyBvdXQuCj4gLURhbmllbAo+ IAo+ID4gIAljYXNlIEhETUlfUEFDS0VUX1RZUEVfR0VORVJBTF9DT05UUk9MOgo+ID4gIAkJcmV0 dXJuIFZJREVPX0RJUF9FTkFCTEVfR0NQOwo+ID4gIAljYXNlIEhETUlfUEFDS0VUX1RZUEVfR0FN VVRfTUVUQURBVEE6Cj4gPiAgCQlyZXR1cm4gVklERU9fRElQX0VOQUJMRV9HQU1VVDsKPiA+ICsJ Y2FzZSBEUF9TRFBfVlNDOgo+ID4gKwkJcmV0dXJuIDA7Cj4gPiAgCWNhc2UgSERNSV9JTkZPRlJB TUVfVFlQRV9BVkk6Cj4gPiAgCQlyZXR1cm4gVklERU9fRElQX0VOQUJMRV9BVkk7Cj4gPiAgCWNh c2UgSERNSV9JTkZPRlJBTUVfVFlQRV9TUEQ6Cj4gPiBAQCAtMTE5LDYgKzEyMyw4IEBAIHN0YXRp YyB1MzIgZzR4X2luZm9mcmFtZV9lbmFibGUodW5zaWduZWQgaW50IHR5cGUpCj4gPiAgc3RhdGlj IHUzMiBoc3dfaW5mb2ZyYW1lX2VuYWJsZSh1bnNpZ25lZCBpbnQgdHlwZSkKPiA+ICB7Cj4gPiAg CXN3aXRjaCAodHlwZSkgewo+ID4gKwljYXNlIEhETUlfUEFDS0VUX1RZUEVfTlVMTDoKPiA+ICsJ CXJldHVybiAwOwo+ID4gIAljYXNlIEhETUlfUEFDS0VUX1RZUEVfR0VORVJBTF9DT05UUk9MOgo+ ID4gIAkJcmV0dXJuIFZJREVPX0RJUF9FTkFCTEVfR0NQX0hTVzsKPiA+ICAJY2FzZSBIRE1JX1BB Q0tFVF9UWVBFX0dBTVVUX01FVEFEQVRBOgo+ID4gQEAgLTE5NywxOSArMjAzLDE5IEBAIHN0YXRp YyB2b2lkIGc0eF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gPiAgCVBPU1RJTkdfUkVBRChWSURFT19ESVBfQ1RMKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3Rh dGljIGJvb2wgZzR4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ID4gK3N0YXRpYyB1MzIgZzR4X2luZm9mcmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ICAJdTMyIHZhbCA9IEk5MTVf UkVBRChWSURFT19ESVBfQ1RMKTsKPiA+ICAKPiA+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5B QkxFKSA9PSAwKQo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwkJcmV0dXJuIDA7Cj4gPiAgCj4g PiAgCWlmICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklERU9fRElQX1BPUlQoZW5j b2Rlci0+cG9ydCkpCj4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiArCQlyZXR1cm4gMDsKPiA+ICAK PiA+IC0JcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4gPiArCXJldHVybiB2 YWwgJiAoVklERU9fRElQX0VOQUJMRSB8IFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKPiA+ICAJCSAg ICAgIFZJREVPX0RJUF9FTkFCTEVfVkVORE9SIHwgVklERU9fRElQX0VOQUJMRV9TUEQpOwo+ID4g IH0KPiA+ICAKPiA+IEBAIC0yNTIsNyArMjU4LDcgQEAgc3RhdGljIHZvaWQgaWJ4X3dyaXRlX2lu Zm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJUE9TVElOR19SRUFE KHJlZyk7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5hYmxl ZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICtzdGF0aWMgdTMyIGlieF9pbmZv ZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJCSAg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ID4gIHsKPiA+ICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNl LmRldik7Cj4gPiBAQCAtMjYxLDEyICsyNjcsMTIgQEAgc3RhdGljIGJvb2wgaWJ4X2luZm9mcmFt ZV9lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAl1MzIgdmFsID0g STkxNV9SRUFEKHJlZyk7Cj4gPiAgCj4gPiAgCWlmICgodmFsICYgVklERU9fRElQX0VOQUJMRSkg PT0gMCkKPiA+IC0JCXJldHVybiBmYWxzZTsKPiA+ICsJCXJldHVybiAwOwo+ID4gIAo+ID4gIAlp ZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJUF9QT1JUKGVuY29kZXIt PnBvcnQpKQo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwkJcmV0dXJuIDA7Cj4gPiAgCj4gPiAt CXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4gKwlyZXR1cm4gdmFsICYg KFZJREVPX0RJUF9FTkFCTEUgfCBWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4gPiAgCQkgICAgICBW SURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FNVVQgfAo+ID4gIAkJ ICAgICAgVklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19ESVBfRU5BQkxFX0dDUCk7Cj4gPiAg fQo+ID4gQEAgLTMxMyw3ICszMTksNyBAQCBzdGF0aWMgdm9pZCBjcHRfd3JpdGVfaW5mb2ZyYW1l KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAlQT1NUSU5HX1JFQUQocmVnKTsK PiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGJvb2wgY3B0X2luZm9mcmFtZV9lbmFibGVkKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gK3N0YXRpYyB1MzIgY3B0X2luZm9mcmFtZXNf ZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQkJICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gPiAgewo+ID4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiA+IEBAIC0zMjEsOSArMzI3LDkgQEAgc3RhdGljIGJvb2wgY3B0X2luZm9mcmFtZV9lbmFibGVk KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAl1MzIgdmFsID0gSTkxNV9SRUFE KFRWSURFT19ESVBfQ1RMKHBpcGUpKTsKPiA+ICAKPiA+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBf RU5BQkxFKSA9PSAwKQo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwkJcmV0dXJuIDA7Cj4gPiAg Cj4gPiAtCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4gKwlyZXR1cm4g dmFsICYgKFZJREVPX0RJUF9FTkFCTEUgfCBWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4gPiAgCQkg ICAgICBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FNVVQgfAo+ ID4gIAkJICAgICAgVklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19ESVBfRU5BQkxFX0dDUCk7 Cj4gPiAgfQo+ID4gQEAgLTM2Nyw3ICszNzMsNyBAQCBzdGF0aWMgdm9pZCB2bHZfd3JpdGVfaW5m b2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAlQT1NUSU5HX1JFQUQo cmVnKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGJvb2wgdmx2X2luZm9mcmFtZV9lbmFibGVk KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gK3N0YXRpYyB1MzIgdmx2X2luZm9m cmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJCQkJICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gPiAgewo+ID4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKPiA+IEBAIC0zNzUsMTIgKzM4MSwxMiBAQCBzdGF0aWMgYm9vbCB2bHZfaW5mb2ZyYW1l X2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCXUzMiB2YWwgPSBJ OTE1X1JFQUQoVkxWX1RWSURFT19ESVBfQ1RMKHBpcGUpKTsKPiA+ICAKPiA+ICAJaWYgKCh2YWwg JiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQo+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gKwkJcmV0 dXJuIDA7Cj4gPiAgCj4gPiAgCWlmICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklE RU9fRElQX1BPUlQoZW5jb2Rlci0+cG9ydCkpCj4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiArCQly ZXR1cm4gMDsKPiA+ICAKPiA+IC0JcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8 Cj4gPiArCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRSB8IFZJREVPX0RJUF9FTkFCTEVf QVZJIHwKPiA+ICAJCSAgICAgIFZJREVPX0RJUF9FTkFCTEVfVkVORE9SIHwgVklERU9fRElQX0VO QUJMRV9HQU1VVCB8Cj4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1NQRCB8IFZJREVPX0RJ UF9FTkFCTEVfR0NQKTsKPiA+ICB9Cj4gPiBAQCAtNDE5LDcgKzQyNSw3IEBAIHN0YXRpYyB2b2lk IGhzd193cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAg CVBPU1RJTkdfUkVBRChjdGxfcmVnKTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGJvb2wgaHN3 X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gK3N0 YXRpYyB1MzIgaHN3X2luZm9mcmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiA+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+IEBAIC00MzAsNiArNDM2LDQyIEBAIHN0YXRpYyBi b29sIGhzd19pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK PiA+ICAJCSAgICAgIFZJREVPX0RJUF9FTkFCTEVfR01QX0hTVyB8IFZJREVPX0RJUF9FTkFCTEVf U1BEX0hTVyk7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyBjb25zdCB1OCBpbmZvZnJhbWVfdHlw ZV90b19pZHhbXSA9IHsKPiA+ICsJSERNSV9QQUNLRVRfVFlQRV9OVUxMLAo+ID4gKwlIRE1JX1BB Q0tFVF9UWVBFX0dFTkVSQUxfQ09OVFJPTCwKPiA+ICsJSERNSV9QQUNLRVRfVFlQRV9HQU1VVF9N RVRBREFUQSwKPiA+ICsJRFBfU0RQX1ZTQywKPiA+ICsJSERNSV9JTkZPRlJBTUVfVFlQRV9BVkks Cj4gPiArCUhETUlfSU5GT0ZSQU1FX1RZUEVfU1BELAo+ID4gKwlIRE1JX0lORk9GUkFNRV9UWVBF X1ZFTkRPUiwKPiA+ICt9Owo+ID4gKwo+ID4gK3UzMiBpbnRlbF9oZG1pX2luZm9mcmFtZXNfZW5h YmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICsJCQkJICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4g KwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgm ZW5jb2Rlci0+YmFzZSk7Cj4gPiArCXUzMiB2YWwsIHJldCA9IDA7Cj4gPiArCWludCBpOwo+ID4g Kwo+ID4gKwl2YWwgPSBkaWdfcG9ydC0+aW5mb2ZyYW1lc19lbmFibGVkKGVuY29kZXIsIGNydGNf c3RhdGUpOwo+ID4gKwo+ID4gKwkvKiBtYXAgZnJvbSBoYXJkd2FyZSBiaXRzIHRvIGRpcCBpZHgg Ki8KPiA+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb2ZyYW1lX3R5cGVfdG9faWR4 KTsgaSsrKSB7Cj4gPiArCQl1bnNpZ25lZCBpbnQgdHlwZSA9IGluZm9mcmFtZV90eXBlX3RvX2lk eFtpXTsKPiA+ICsKPiA+ICsJCWlmIChIQVNfRERJKGRldl9wcml2KSkgewo+ID4gKwkJCWlmICh2 YWwgJiBoc3dfaW5mb2ZyYW1lX2VuYWJsZSh0eXBlKSkKPiA+ICsJCQkJcmV0IHw9IEJJVChpKTsK PiA+ICsJCX0gZWxzZSB7Cj4gPiArCQkJaWYgKHZhbCAmIGc0eF9pbmZvZnJhbWVfZW5hYmxlKHR5 cGUpKQo+ID4gKwkJCQlyZXQgfD0gQklUKGkpOwo+ID4gKwkJfQo+ID4gKwl9Cj4gPiArCj4gPiAr CXJldHVybiByZXQ7Cj4gPiArfQo+ID4gKwo+ID4gIC8qCj4gPiAgICogVGhlIGRhdGEgd2Ugd3Jp dGUgdG8gdGhlIERJUCBkYXRhIGJ1ZmZlciByZWdpc3RlcnMgaXMgMSBieXRlIGJpZ2dlciB0aGFu IHRoZQo+ID4gICAqIEhETUkgaW5mb2ZyYW1lIHNpemUgYmVjYXVzZSBvZiBhbiBFQ0MvcmVzZXJ2 ZWQgYnl0ZSBhdCBwb3NpdGlvbiAzIChzdGFydGluZwo+ID4gQEAgLTEyMDAsNyArMTI0Miw2IEBA IHN0YXRpYyB2b2lkIGludGVsX2hkbWlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiA+ICAJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcp Cj4gPiAgewo+ID4gIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRl bF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKPiA+IC0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGludGVsX2hkbWkpOwo+ID4gIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4gPiAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+ICAJdTMyIHRtcCwgZmxh Z3MgPSAwOwo+ID4gQEAgLTEyMjMsNyArMTI2NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlf Z2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICAJaWYgKHRtcCAm IEhETUlfTU9ERV9TRUxFQ1RfSERNSSkKPiA+ICAJCXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5r ID0gdHJ1ZTsKPiA+ICAKPiA+IC0JaWYgKGludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxl ZChlbmNvZGVyLCBwaXBlX2NvbmZpZykpCj4gPiArCWlmIChpbnRlbF9oZG1pX2luZm9mcmFtZXNf ZW5hYmxlZChlbmNvZGVyLCBwaXBlX2NvbmZpZykpCj4gPiAgCQlwaXBlX2NvbmZpZy0+aGFzX2lu Zm9mcmFtZSA9IHRydWU7Cj4gPiAgCj4gPiAgCWlmICh0bXAgJiBTRFZPX0FVRElPX0VOQUJMRSkK PiA+IEBAIC0yMzI1LDIzICsyMzY2LDIzIEBAIHZvaWQgaW50ZWxfaW5mb2ZyYW1lX2luaXQoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gPiAgCWlmIChJU19WQUxM RVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ID4gIAkJaW50 ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9mcmFtZSA9IHZsdl93cml0ZV9pbmZvZnJhbWU7Cj4gPiAg CQlpbnRlbF9kaWdfcG9ydC0+c2V0X2luZm9mcmFtZXMgPSB2bHZfc2V0X2luZm9mcmFtZXM7Cj4g PiAtCQlpbnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQgPSB2bHZfaW5mb2ZyYW1lX2Vu YWJsZWQ7Cj4gPiArCQlpbnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lc19lbmFibGVkID0gdmx2X2lu Zm9mcmFtZXNfZW5hYmxlZDsKPiA+ICAJfSBlbHNlIGlmIChJU19HNFgoZGV2X3ByaXYpKSB7Cj4g PiAgCQlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2ZyYW1lID0gZzR4X3dyaXRlX2luZm9mcmFt ZTsKPiA+ICAJCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyA9IGc0eF9zZXRfaW5mb2Zy YW1lczsKPiA+IC0JCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxlZCA9IGc0eF9pbmZv ZnJhbWVfZW5hYmxlZDsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVzX2VuYWJsZWQg PSBnNHhfaW5mb2ZyYW1lc19lbmFibGVkOwo+ID4gIAl9IGVsc2UgaWYgKEhBU19EREkoZGV2X3By aXYpKSB7Cj4gPiAgCQlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2ZyYW1lID0gaHN3X3dyaXRl X2luZm9mcmFtZTsKPiA+ICAJCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyA9IGhzd19z ZXRfaW5mb2ZyYW1lczsKPiA+IC0JCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxlZCA9 IGhzd19pbmZvZnJhbWVfZW5hYmxlZDsKPiA+ICsJCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVz X2VuYWJsZWQgPSBoc3dfaW5mb2ZyYW1lc19lbmFibGVkOwo+ID4gIAl9IGVsc2UgaWYgKEhBU19Q Q0hfSUJYKGRldl9wcml2KSkgewo+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9mcmFt ZSA9IGlieF93cml0ZV9pbmZvZnJhbWU7Cj4gPiAgCQlpbnRlbF9kaWdfcG9ydC0+c2V0X2luZm9m cmFtZXMgPSBpYnhfc2V0X2luZm9mcmFtZXM7Cj4gPiAtCQlpbnRlbF9kaWdfcG9ydC0+aW5mb2Zy YW1lX2VuYWJsZWQgPSBpYnhfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4gPiArCQlpbnRlbF9kaWdfcG9y dC0+aW5mb2ZyYW1lc19lbmFibGVkID0gaWJ4X2luZm9mcmFtZXNfZW5hYmxlZDsKPiA+ICAJfSBl bHNlIHsKPiA+ICAJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUgPSBjcHRfd3JpdGVf aW5mb2ZyYW1lOwo+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzID0gY3B0X3Nl dF9pbmZvZnJhbWVzOwo+ID4gLQkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkID0g Y3B0X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZXNf ZW5hYmxlZCA9IGNwdF9pbmZvZnJhbWVzX2VuYWJsZWQ7Cj4gPiAgCX0KPiA+ICB9Cj4gPiAgCj4g PiAtLSAKPiA+IDIuMTYuNAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gK Ci0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==