From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 11/18] drm/i915: Return the mask of enabled infoframes from ->inforame_enabled() Date: Mon, 1 Oct 2018 08:55:51 +0200 Message-ID: <20181001065551.GF11082@phenom.ffwll.local> References: <20180920185145.1912-1-ville.syrjala@linux.intel.com> <20180920185145.1912-12-ville.syrjala@linux.intel.com> <20180924155116.GX11082@phenom.ffwll.local> <20180924163608.GR5565@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180924163608.GR5565@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMjQsIDIwMTggYXQgMDc6MzY6MDhQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIE1vbiwgU2VwIDI0LCAyMDE4IGF0IDA1OjUxOjE2UE0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBUaHUsIFNlcCAyMCwgMjAxOCBhdCAwOTo1MTozOFBNICsw MzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ID4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4gV2Ugd2FudCB0byBzdGFy dCB0cmFja2luZyB3aGljaCBpbmZvZnJhbWVzIGFyZSBlbmFibGVkLCBzbyBsZXQncyByZXBsYWNl Cj4gPiA+IHRoZSBib29sZWFuIGZsYWcgd2l0aCBhIGJpdG1hc2suCj4gPiA+IAo+ID4gPiBXZSds bCBhYnN0cmFjdCB0aGUgYml0bWFzayBzbyB0aGF0IGl0J3Mgbm90IHBsYXRmb3JtIGRlcGVuZGVu dC4gVGhhdAo+ID4gPiB3aWxsIGFsbG93IHVzIHRvIGV4YW1pbmUgdGhlIGJpdG1hc2sgbGF0ZXIg aW4gcGxhdGZvcm0gaW5kZXBlbmRlbnQgY29kZS4KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IC0t LQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgIHwgIDIgKy0KPiA+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICA0ICstCj4gPiA+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0KPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwg MjUgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4g PiBpbmRleCAwODZlM2Y5NDA1ODYuLjA5OGEwZTRlZGYyYSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gQEAgLTMzOTAsNyArMzM5MCw3IEBAIHZvaWQgaW50ZWxf ZGRpX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAJCXBp cGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPiA+ID4gIAkJaW50ZWxfZGlnX3BvcnQg PSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ID4gPiAgCj4gPiA+IC0JCWlmIChp bnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQoZW5jb2RlciwgcGlwZV9jb25maWcpKQo+ ID4gPiArCQlpZiAoaW50ZWxfaGRtaV9pbmZvZnJhbWVzX2VuYWJsZWQoZW5jb2RlciwgcGlwZV9j b25maWcpKQo+ID4gPiAgCQkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0cnVlOwo+ID4g PiAgCj4gPiA+ICAJCWlmICgodGVtcCAmIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSykg PT0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gaW5kZXggZTBmM2E3OWZjNzVl Li42ODE1YzY5YWFjMmYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiA+IEBAIC0xMTgxLDcgKzExODEsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKPiA+ ID4gIAkJCSAgICAgICBib29sIGVuYWJsZSwKPiA+ID4gIAkJCSAgICAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ID4gIAkJCSAgICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gPiA+IC0JYm9vbCAoKmluZm9m cmFtZV9lbmFibGVkKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gKwl1MzIg KCppbmZvZnJhbWVzX2VuYWJsZWQpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4g PiAgCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ ID4gIH07Cj4gPiA+ICAKPiA+ID4gQEAgLTE4NTYsNiArMTg1Niw4IEBAIGJvb2wgaW50ZWxfaGRt aV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ID4gPiAgCQkJCSAgICAgICBib29sIHNjcmFtYmxpbmcpOwo+ID4gPiAgdm9pZCBpbnRlbF9kcF9k dWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVu YWJsZSk7Cj4gPiA+ICB2b2lkIGludGVsX2luZm9mcmFtZV9pbml0KHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KTsKPiA+ID4gK3UzMiBpbnRlbF9oZG1pX2luZm9mcmFt ZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gKwkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ID4gIAo+ID4gPiAg Cj4gPiA+ICAvKiBpbnRlbF9sdmRzLmMgKi8KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+ID4gPiBpbmRleCBjM2MyYTYzOGQwNjIuLmE4ZmNkZGIxOTlhZSAxMDA2NDQKPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gPiBAQCAtMTAwLDEwICsxMDAsMTQgQEAgc3Rh dGljIHUzMiBnNHhfaW5mb2ZyYW1lX2luZGV4KHVuc2lnbmVkIGludCB0eXBlKQo+ID4gPiAgc3Rh dGljIHUzMiBnNHhfaW5mb2ZyYW1lX2VuYWJsZSh1bnNpZ25lZCBpbnQgdHlwZSkKPiA+ID4gIHsK PiA+ID4gIAlzd2l0Y2ggKHR5cGUpIHsKPiA+ID4gKwljYXNlIEhETUlfUEFDS0VUX1RZUEVfTlVM TDoKPiA+ID4gKwkJcmV0dXJuIFZJREVPX0RJUF9FTkFCTEU7IC8qIHNsaWdodCBsaWUgKi8KPiA+ IAo+ID4gTm90IGV4YWN0bHkgc3VyZSB3aHkgd2UncmUgdHJhY2tpbmcgdGhpcyBvbmUgaGVyZSwg YnV0IG5vdCBmb3IgaHN3Lgo+IAo+IEhTVysgZG9lc24ndCBoYXZlIGEgRElQIGVuYWJsZSBiaXQg bGlrZSB0aGlzLiBJdCBvbmx5IGhhcyB0aGUKPiBiaXRzIHRvIGVuYWJsZSBzcGVjaWZpYyBpbmZv ZnJhbWVzLgo+IAo+ID4gU2hvdWxkbid0IHdlIGluY2x1ZGUgdGhhdCBvbmUgaWYgdGhlIERESSBw b3J0IGlzIGluIGhkbWkgbW9kZT8gV291bGQgYmUKPiA+IG1vcmUgY29uc2lzdGVudCBJIHRoaW5r Lgo+IAo+IFllcyB0aGF0IHdvdWxkIHNlZW0gbGlrZSB0aGUgbW9yZSBjb3JyZWN0IHRoaW5nLiBJ IHRoaW5rIHRoZSByZWFzb24KPiBJIGRpZCB0aGlzIGhlcmUgd2FzIHNvIHRoYXQgSSBjb3VsZCBt YXAgdGhlIERJUF9FTkFCTEUgYml0IHRvCj4gc29tZXRoaW5nIHVuaXF1ZS4gV291bGQgYWxsb3cg dXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZQo+ICJESVAgZW5hYmxlZCB3aXRoIG5vIGlu Zm9mcmFtZXMgZW5hYmxlZCIgdnMuICJESVAgZW5hYmxlZCB3aXRoCj4gc29tZSBpbmZvZnJhbWVz IGVuYWJsZWQiIGNhc2VzLiBCdXQgc2VlaW5nIGFzIHdlIGFsd2F5cyBlbmFibGUgc29tZQo+IGlu Zm9mcmFtZXMgSSBndWVzcyB0aGlzIGRvZXNuJ3QgcmVhbGx5IHByb3ZpZGUgdXMgd2l0aCBhbnl0 aGluZwo+IHBhcnRpY3VsYXJseSB1c2VmdWwuCj4gCj4gVGhhdCBzYWlkLCBJJ20gYWN0dWFsbHkg bm90IHN1cmUgd2hldGhlciB0aGUgaHcgd2lsbCBzZW5kIHRoZSBudWxsCj4gcGFja2V0cyBpZiB3 ZSBkb24ndCBlbmFibGUgdGhlIERJUC4gV291bGQgcmVxdWlyZSBhIEhETUkgYW5hbHl6ZXIKPiB0 byBjb25maXJtLgo+IAo+IEhtbS4gQWN0dWFsbHkgZ2VuNCBic3BlYyB0ZWxscyBtZToKPiAiSWYg RElQIGlzIGVuYWJsZWQgYnV0IERJUCB0eXBlcyBhcmUgYWxsIGRpc2FibGVkLCBubyBESVAgaXMg c2VudC4KPiAgSG93ZXZlciwgYSBzaW5nbGUgTnVsbCBESVAgd2lsbCBiZSBzZW50IGF0IHRoZSBz YW1lIHBvaW50IGluIHRoZQo+ICBzdHJlYW0gdGhhdCBESVAgcGFja2V0cyB3b3VsZCBoYXZlIGJl ZW4gc2VudC4gVGhpcyBpcyBkb25lIHRvCj4gIGtlZXAgdGhlIHBvcnQgaW4gSERNSSBtb2RlLCBv dGhlcndpc2UgaXQgd291bGQgcmV2ZXJ0IHRvIERWSSBtb2RlLgo+ICBUaGUgIk51bGwgcGFja2V0 cyBlbmFibGVkIGR1cmluZyB2c3luYyIgbW9kZSAoYml0ICM5IG9mIHBvcnQKPiAgY29udHJvbCBy ZWdpc3Rlcikgb3ZlcnJpZGVzIHRoaXMgYmVoYXZpb3IuIgo+IAo+IFNvIEkgZ3Vlc3MgbWFwcGlu ZyB0aGUgbnVsbCBwYWNrZXQgdG8gdGhlIERJUCBlbmFibGUgYml0IGlzIG1vcmUgb3IKPiBsZXNz IGNvcnJlY3QuIEFsdGhvdWdoIHRoZSBzcGVjIGRvZXNuJ3QgcXVpdGUgc2F5IHdoZXRoZXIgdGhl IG51bGwKPiBwYWNrZXQgaXMgYWxzbyBzZW50IHdoZW4gc29tZSBESVAgdHlwZXMgYXJlIGFsc28g ZW5hYmxlZCwgb3IgaWYgaXQKPiBpcyBvbmx5IHNlbmQgd2hlbiBubyBESVAgdHlwZXMgYXJlIGVu YWJsZWQuCj4gCj4gU28gdG8gbWF0Y2ggdGhlIGh3IEkgZ3Vlc3MgdGhlIHJlYWRvdXQgc2hvdWxk IHJlYWxseSBkbyBzb21ldGhpbmcKPiBsaWtlOgo+IAo+IGlmIChoZG1pICYgSERNSV9NT0RFIHx8 IGRpcF9jdGwgJiBESVBfRU5BQkxFKQo+IAlpbmZvZnJhbWVzIHw9IFRZUEVfTlVMTDsKPiAKPiBi dXQgdGhhdCB3b3VsZCBhZ2FpbiBtZWFuIHRoYXQgd2UgY2FuJ3QgdGVsbCB0aGUgdHdvIGNhc2Vz Cj4gYXBhcnQuCgpGcm9tIGEgZnVuY3Rpb25hbGl0eSBwb3YsIGRvIHdlIGFjdHVhbGx5IGNhcmUg YWJvdXQgdGhlIG51bGwgRElQPyBIRE1JCm1vZGUgeS9uIGZvciBzdXJlLCBidXQgd2UgdHJhY2sg dGhhdCBhbHJlYWR5LiBGZWVscyBsaWtlIGp1c3QgbmV2ZXIKcmVhZGluZyBvdXQgdGhlIG51bGwg cGFja2V0IHN0YXRlIGFuZCBuZXZlciBzZXR0aW5nIGl0IGluIHRoZSBzdGF0ZQpzdHJ1Y3R1cmUg aXMgdGhlIGNoZWFwIHdheSBvdXQgaGVyZSwgYW5kIGFsc28gdGhlIGxlYXN0IGNvbmZ1c2luZyB3 YXkgb3V0CmhlcmUuIFRyeWluZyB0byBzZWNvbmQgZ3Vlc3Mgd2hhdCB0aGUgaHcgZG9lcyBmb3Ig c29tZXRoaW5nIHRoYXQgZG9lc24ndApzZWVtIHRvIG1hdHRlciBmZWVscyBhIGJpdCBzaWxseS4K LURhbmllbAoKPiAKPiA+IAo+ID4gQXNpZGUgZnJvbSB0aGF0IGxndG0sIGhhcyBteQo+ID4gCj4g PiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+ IAo+ID4gb25jZSB3ZSBmaWd1cmVkIHRoZSBUWVBFX05VTEwgdGhpbmcgb3V0Lgo+ID4gLURhbmll bAo+ID4gCj4gPiA+ICAJY2FzZSBIRE1JX1BBQ0tFVF9UWVBFX0dFTkVSQUxfQ09OVFJPTDoKPiA+ ID4gIAkJcmV0dXJuIFZJREVPX0RJUF9FTkFCTEVfR0NQOwo+ID4gPiAgCWNhc2UgSERNSV9QQUNL RVRfVFlQRV9HQU1VVF9NRVRBREFUQToKPiA+ID4gIAkJcmV0dXJuIFZJREVPX0RJUF9FTkFCTEVf R0FNVVQ7Cj4gPiA+ICsJY2FzZSBEUF9TRFBfVlNDOgo+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4g IAljYXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfQVZJOgo+ID4gPiAgCQlyZXR1cm4gVklERU9fRElQ X0VOQUJMRV9BVkk7Cj4gPiA+ICAJY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBFX1NQRDoKPiA+ID4g QEAgLTExOSw2ICsxMjMsOCBAQCBzdGF0aWMgdTMyIGc0eF9pbmZvZnJhbWVfZW5hYmxlKHVuc2ln bmVkIGludCB0eXBlKQo+ID4gPiAgc3RhdGljIHUzMiBoc3dfaW5mb2ZyYW1lX2VuYWJsZSh1bnNp Z25lZCBpbnQgdHlwZSkKPiA+ID4gIHsKPiA+ID4gIAlzd2l0Y2ggKHR5cGUpIHsKPiA+ID4gKwlj YXNlIEhETUlfUEFDS0VUX1RZUEVfTlVMTDoKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ICAJY2Fz ZSBIRE1JX1BBQ0tFVF9UWVBFX0dFTkVSQUxfQ09OVFJPTDoKPiA+ID4gIAkJcmV0dXJuIFZJREVP X0RJUF9FTkFCTEVfR0NQX0hTVzsKPiA+ID4gIAljYXNlIEhETUlfUEFDS0VUX1RZUEVfR0FNVVRf TUVUQURBVEE6Cj4gPiA+IEBAIC0xOTcsMTkgKzIwMywxOSBAQCBzdGF0aWMgdm9pZCBnNHhfd3Jp dGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCVBPU1RJ TkdfUkVBRChWSURFT19ESVBfQ1RMKTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAtc3RhdGljIGJv b2wgZzR4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ID4gPiArc3RhdGljIHUzMiBnNHhfaW5mb2ZyYW1lc19lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ID4gPiAgCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKQo+ID4gPiAgewo+ID4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4gPiAgCXUzMiB2YWwgPSBJ OTE1X1JFQUQoVklERU9fRElQX0NUTCk7Cj4gPiA+ICAKPiA+ID4gIAlpZiAoKHZhbCAmIFZJREVP X0RJUF9FTkFCTEUpID09IDApCj4gPiA+IC0JCXJldHVybiBmYWxzZTsKPiA+ID4gKwkJcmV0dXJu IDA7Cj4gPiA+ICAKPiA+ID4gIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJ REVPX0RJUF9QT1JUKGVuY29kZXItPnBvcnQpKQo+ID4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ ICsJCXJldHVybiAwOwo+ID4gPiAgCj4gPiA+IC0JcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5B QkxFX0FWSSB8Cj4gPiA+ICsJcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFIHwgVklERU9f RElQX0VOQUJMRV9BVkkgfAo+ID4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8 IFZJREVPX0RJUF9FTkFCTEVfU1BEKTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiBAQCAtMjUyLDcg KzI1OCw3IEBAIHN0YXRpYyB2b2lkIGlieF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiA+ICAJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiA+ICB9Cj4gPiA+ ICAKPiA+ID4gLXN0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gK3N0YXRpYyB1MzIgaWJ4X2luZm9mcmFtZXNfZW5hYmxl ZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gIAkJCQkgIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK PiA+ID4gQEAgLTI2MSwxMiArMjY3LDEyIEBAIHN0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5h YmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gIAl1MzIgdmFsID0gSTkx NV9SRUFEKHJlZyk7Cj4gPiA+ICAKPiA+ID4gIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9FTkFCTEUp ID09IDApCj4gPiA+IC0JCXJldHVybiBmYWxzZTsKPiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+ICAK PiA+ID4gIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJUF9QT1JU KGVuY29kZXItPnBvcnQpKQo+ID4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ICsJCXJldHVybiAw Owo+ID4gPiAgCj4gPiA+IC0JcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4g PiA+ICsJcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFIHwgVklERU9fRElQX0VOQUJMRV9B VkkgfAo+ID4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9F TkFCTEVfR0FNVVQgfAo+ID4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1NQRCB8IFZJREVP X0RJUF9FTkFCTEVfR0NQKTsKPiA+ID4gIH0KPiA+ID4gQEAgLTMxMyw3ICszMTksNyBAQCBzdGF0 aWMgdm9pZCBjcHRfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAo+ID4gPiAgCVBPU1RJTkdfUkVBRChyZWcpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IC1zdGF0 aWMgYm9vbCBjcHRfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gPiA+ICtzdGF0aWMgdTMyIGNwdF9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiA+IEBAIC0zMjEs OSArMzI3LDkgQEAgc3RhdGljIGJvb2wgY3B0X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQoVFZJREVPX0RJ UF9DVEwocGlwZSkpOwo+ID4gPiAgCj4gPiA+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxF KSA9PSAwKQo+ID4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ICsJCXJldHVybiAwOwo+ID4gPiAg Cj4gPiA+IC0JcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8Cj4gPiA+ICsJcmV0 dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFIHwgVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4g PiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJREVPX0RJUF9FTkFCTEVfR0FN VVQgfAo+ID4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX1NQRCB8IFZJREVPX0RJUF9FTkFC TEVfR0NQKTsKPiA+ID4gIH0KPiA+ID4gQEAgLTM2Nyw3ICszNzMsNyBAQCBzdGF0aWMgdm9pZCB2 bHZfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAg CVBPU1RJTkdfUkVBRChyZWcpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IC1zdGF0aWMgYm9vbCB2 bHZfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ ICtzdGF0aWMgdTMyIHZsdl9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gPiA+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiA+IEBAIC0zNzUsMTIgKzM4MSwx MiBAQCBzdGF0aWMgYm9vbCB2bHZfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gPiA+ICAJdTMyIHZhbCA9IEk5MTVfUkVBRChWTFZfVFZJREVPX0RJUF9D VEwocGlwZSkpOwo+ID4gPiAgCj4gPiA+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9 PSAwKQo+ID4gPiAtCQlyZXR1cm4gZmFsc2U7Cj4gPiA+ICsJCXJldHVybiAwOwo+ID4gPiAgCj4g PiA+ICAJaWYgKCh2YWwgJiBWSURFT19ESVBfUE9SVF9NQVNLKSAhPSBWSURFT19ESVBfUE9SVChl bmNvZGVyLT5wb3J0KSkKPiA+ID4gLQkJcmV0dXJuIGZhbHNlOwo+ID4gPiArCQlyZXR1cm4gMDsK PiA+ID4gIAo+ID4gPiAtCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9BVkkgfAo+ID4g PiArCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRSB8IFZJREVPX0RJUF9FTkFCTEVfQVZJ IHwKPiA+ID4gIAkJICAgICAgVklERU9fRElQX0VOQUJMRV9WRU5ET1IgfCBWSURFT19ESVBfRU5B QkxFX0dBTVVUIHwKPiA+ID4gIAkJICAgICAgVklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19E SVBfRU5BQkxFX0dDUCk7Cj4gPiA+ICB9Cj4gPiA+IEBAIC00MTksNyArNDI1LDcgQEAgc3RhdGlj IHZvaWQgaHN3X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK PiA+ID4gIAlQT1NUSU5HX1JFQUQoY3RsX3JlZyk7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gLXN0 YXRpYyBib29sIGhzd19pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiA+ID4gK3N0YXRpYyB1MzIgaHN3X2luZm9mcmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZykKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ID4gQEAgLTQz MCw2ICs0MzYsNDIgQEAgc3RhdGljIGJvb2wgaHN3X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiAgCQkgICAgICBWSURFT19ESVBfRU5BQkxFX0dN UF9IU1cgfCBWSURFT19ESVBfRU5BQkxFX1NQRF9IU1cpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ ICtzdGF0aWMgY29uc3QgdTggaW5mb2ZyYW1lX3R5cGVfdG9faWR4W10gPSB7Cj4gPiA+ICsJSERN SV9QQUNLRVRfVFlQRV9OVUxMLAo+ID4gPiArCUhETUlfUEFDS0VUX1RZUEVfR0VORVJBTF9DT05U Uk9MLAo+ID4gPiArCUhETUlfUEFDS0VUX1RZUEVfR0FNVVRfTUVUQURBVEEsCj4gPiA+ICsJRFBf U0RQX1ZTQywKPiA+ID4gKwlIRE1JX0lORk9GUkFNRV9UWVBFX0FWSSwKPiA+ID4gKwlIRE1JX0lO Rk9GUkFNRV9UWVBFX1NQRCwKPiA+ID4gKwlIRE1JX0lORk9GUkFNRV9UWVBFX1ZFTkRPUiwKPiA+ ID4gK307Cj4gPiA+ICsKPiA+ID4gK3UzMiBpbnRlbF9oZG1pX2luZm9mcmFtZXNfZW5hYmxlZChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gKwkJCQkgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4g PiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0 KCZlbmNvZGVyLT5iYXNlKTsKPiA+ID4gKwl1MzIgdmFsLCByZXQgPSAwOwo+ID4gPiArCWludCBp Owo+ID4gPiArCj4gPiA+ICsJdmFsID0gZGlnX3BvcnQtPmluZm9mcmFtZXNfZW5hYmxlZChlbmNv ZGVyLCBjcnRjX3N0YXRlKTsKPiA+ID4gKwo+ID4gPiArCS8qIG1hcCBmcm9tIGhhcmR3YXJlIGJp dHMgdG8gZGlwIGlkeCAqLwo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9m cmFtZV90eXBlX3RvX2lkeCk7IGkrKykgewo+ID4gPiArCQl1bnNpZ25lZCBpbnQgdHlwZSA9IGlu Zm9mcmFtZV90eXBlX3RvX2lkeFtpXTsKPiA+ID4gKwo+ID4gPiArCQlpZiAoSEFTX0RESShkZXZf cHJpdikpIHsKPiA+ID4gKwkJCWlmICh2YWwgJiBoc3dfaW5mb2ZyYW1lX2VuYWJsZSh0eXBlKSkK PiA+ID4gKwkJCQlyZXQgfD0gQklUKGkpOwo+ID4gPiArCQl9IGVsc2Ugewo+ID4gPiArCQkJaWYg KHZhbCAmIGc0eF9pbmZvZnJhbWVfZW5hYmxlKHR5cGUpKQo+ID4gPiArCQkJCXJldCB8PSBCSVQo aSk7Cj4gPiA+ICsJCX0KPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4g PiArfQo+ID4gPiArCj4gPiA+ICAvKgo+ID4gPiAgICogVGhlIGRhdGEgd2Ugd3JpdGUgdG8gdGhl IERJUCBkYXRhIGJ1ZmZlciByZWdpc3RlcnMgaXMgMSBieXRlIGJpZ2dlciB0aGFuIHRoZQo+ID4g PiAgICogSERNSSBpbmZvZnJhbWUgc2l6ZSBiZWNhdXNlIG9mIGFuIEVDQy9yZXNlcnZlZCBieXRl IGF0IHBvc2l0aW9uIDMgKHN0YXJ0aW5nCj4gPiA+IEBAIC0xMjAwLDcgKzEyNDIsNiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9oZG1pX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gPiA+ICAJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4g PiA+ICB7Cj4gPiA+ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50 ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gPiA+IC0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGludGVsX2hkbWkpOwo+ID4gPiAg CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPiA+ID4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiA+ICAJdTMy IHRtcCwgZmxhZ3MgPSAwOwo+ID4gPiBAQCAtMTIyMyw3ICsxMjY0LDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfaGRtaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4g PiAgCWlmICh0bXAgJiBIRE1JX01PREVfU0VMRUNUX0hETUkpCj4gPiA+ICAJCXBpcGVfY29uZmln LT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPiA+ID4gIAo+ID4gPiAtCWlmIChpbnRlbF9kaWdfcG9y dC0+aW5mb2ZyYW1lX2VuYWJsZWQoZW5jb2RlciwgcGlwZV9jb25maWcpKQo+ID4gPiArCWlmIChp bnRlbF9oZG1pX2luZm9mcmFtZXNfZW5hYmxlZChlbmNvZGVyLCBwaXBlX2NvbmZpZykpCj4gPiA+ ICAJCXBpcGVfY29uZmlnLT5oYXNfaW5mb2ZyYW1lID0gdHJ1ZTsKPiA+ID4gIAo+ID4gPiAgCWlm ICh0bXAgJiBTRFZPX0FVRElPX0VOQUJMRSkKPiA+ID4gQEAgLTIzMjUsMjMgKzIzNjYsMjMgQEAg dm9pZCBpbnRlbF9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCkKPiA+ID4gIAlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpIHsKPiA+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9m cmFtZSA9IHZsdl93cml0ZV9pbmZvZnJhbWU7Cj4gPiA+ICAJCWludGVsX2RpZ19wb3J0LT5zZXRf aW5mb2ZyYW1lcyA9IHZsdl9zZXRfaW5mb2ZyYW1lczsKPiA+ID4gLQkJaW50ZWxfZGlnX3BvcnQt PmluZm9mcmFtZV9lbmFibGVkID0gdmx2X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gPiArCQlpbnRl bF9kaWdfcG9ydC0+aW5mb2ZyYW1lc19lbmFibGVkID0gdmx2X2luZm9mcmFtZXNfZW5hYmxlZDsK PiA+ID4gIAl9IGVsc2UgaWYgKElTX0c0WChkZXZfcHJpdikpIHsKPiA+ID4gIAkJaW50ZWxfZGln X3BvcnQtPndyaXRlX2luZm9mcmFtZSA9IGc0eF93cml0ZV9pbmZvZnJhbWU7Cj4gPiA+ICAJCWlu dGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyA9IGc0eF9zZXRfaW5mb2ZyYW1lczsKPiA+ID4g LQkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkID0gZzR4X2luZm9mcmFtZV9lbmFi bGVkOwo+ID4gPiArCQlpbnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lc19lbmFibGVkID0gZzR4X2lu Zm9mcmFtZXNfZW5hYmxlZDsKPiA+ID4gIAl9IGVsc2UgaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7 Cj4gPiA+ICAJCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUgPSBoc3dfd3JpdGVfaW5m b2ZyYW1lOwo+ID4gPiAgCQlpbnRlbF9kaWdfcG9ydC0+c2V0X2luZm9mcmFtZXMgPSBoc3dfc2V0 X2luZm9mcmFtZXM7Cj4gPiA+IC0JCWludGVsX2RpZ19wb3J0LT5pbmZvZnJhbWVfZW5hYmxlZCA9 IGhzd19pbmZvZnJhbWVfZW5hYmxlZDsKPiA+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFt ZXNfZW5hYmxlZCA9IGhzd19pbmZvZnJhbWVzX2VuYWJsZWQ7Cj4gPiA+ICAJfSBlbHNlIGlmIChI QVNfUENIX0lCWChkZXZfcHJpdikpIHsKPiA+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPndyaXRlX2lu Zm9mcmFtZSA9IGlieF93cml0ZV9pbmZvZnJhbWU7Cj4gPiA+ICAJCWludGVsX2RpZ19wb3J0LT5z ZXRfaW5mb2ZyYW1lcyA9IGlieF9zZXRfaW5mb2ZyYW1lczsKPiA+ID4gLQkJaW50ZWxfZGlnX3Bv cnQtPmluZm9mcmFtZV9lbmFibGVkID0gaWJ4X2luZm9mcmFtZV9lbmFibGVkOwo+ID4gPiArCQlp bnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lc19lbmFibGVkID0gaWJ4X2luZm9mcmFtZXNfZW5hYmxl ZDsKPiA+ID4gIAl9IGVsc2Ugewo+ID4gPiAgCQlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2Zy YW1lID0gY3B0X3dyaXRlX2luZm9mcmFtZTsKPiA+ID4gIAkJaW50ZWxfZGlnX3BvcnQtPnNldF9p bmZvZnJhbWVzID0gY3B0X3NldF9pbmZvZnJhbWVzOwo+ID4gPiAtCQlpbnRlbF9kaWdfcG9ydC0+ aW5mb2ZyYW1lX2VuYWJsZWQgPSBjcHRfaW5mb2ZyYW1lX2VuYWJsZWQ7Cj4gPiA+ICsJCWludGVs X2RpZ19wb3J0LT5pbmZvZnJhbWVzX2VuYWJsZWQgPSBjcHRfaW5mb2ZyYW1lc19lbmFibGVkOwo+ ID4gPiAgCX0KPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAtLSAKPiA+ID4gMi4xNi40Cj4gPiA+IAo+ ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKPiA+IAo+ID4gLS0gCj4gPiBEYW5pZWwgVmV0dGVyCj4gPiBTb2Z0d2FyZSBF bmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gCj4g LS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK