From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3] drm/i915/dp: DP audio API changes for MST Date: Thu, 11 Aug 2016 09:26:31 +0300 Message-ID: <20160811062631.GW4329@intel.com> References: <20160810142118.GT4329@intel.com> <1470858117-2321-1-git-send-email-dhinakaran.pandiyan@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: <1470858117-2321-1-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan Cc: alsa-devel@alsa-project.org, tiwai@suse.de, intel-gfx@lists.freedesktop.org, jeeja.kp@intel.com, libin.yang@linux.intel.com List-Id: alsa-devel@alsa-project.org T24gV2VkLCBBdWcgMTAsIDIwMTYgYXQgMTI6NDE6NTdQTSAtMDcwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBEUCBNU1QgcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gc2VuZCBtdWx0 aXBsZSB2aWRlbyBhbmQgYXVkaW8gc3RyZWFtcwo+IHRocm91Z2ggYSBzaW5nbGUgcG9ydC4gVGhp cyByZXF1aXJlcyB0aGUgQVBJJ3MgYmV0d2VlbiBpOTE1IGFuZCBhdWRpbwo+IGRyaXZlcnMgdG8g ZGlzdGluZ3Vpc2ggYmV0d2VlbiBtdWx0aXBsZSBhdWRpbyBjYXBhYmxlIGRpc3BsYXlzIHRoYXQg Y2FuIGJlCj4gY29ubmVjdGVkIHRvIGEgcG9ydC4gQ3VycmVudGx5IG9ubHkgdGhlIHBvcnQgaWRl bnRpdHkgaXMgc2hhcmVkIGluIHRoZQo+IEFQSXMuIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv ciBNU1Qgd2l0aCBhbiBhZGRpdGlvbmFsIHBhcmFtZXRlcgo+ICdpbnQgcGlwZScuICBUaGUgZXhp c3RpbmcgcGFyYW1ldGVyICdwb3J0JyBkb2VzIG5vdCBjaGFuZ2UgaXQncyBtZWFuaW5nLgo+IAo+ IHBpcGUgPQo+IAlNU1QJOiBkaXNwbGF5IHBpcGUgdGhhdCB0aGUgc3RyZWFtIG9yaWdpbmF0ZXMg ZnJvbQo+IAlOb24tTVNUCTogLTEKPiAKPiBBZmZlY3RlZCBBUElzOgo+IHN0cnVjdCBpOTE1X2F1 ZGlvX2NvbXBvbmVudF9vcHMKPiAtICAgICAgIGludCAoKnN5bmNfYXVkaW9fcmF0ZSkoc3RydWN0 IGRldmljZSAqLCBpbnQgcG9ydCwgaW50IHJhdGUpOwo+ICsJaW50ICgqc3luY19hdWRpb19yYXRl KShzdHJ1Y3QgZGV2aWNlICosIGludCBwb3J0LCBpbnQgcGlwZSwKPiArCSAgICAgaW50IHJhdGUp Owo+IAo+IC0gICAgICAgaW50ICgqZ2V0X2VsZCkoc3RydWN0IGRldmljZSAqLCBpbnQgcG9ydCwg Ym9vbCAqZW5hYmxlZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpi dWYsIGludCBtYXhfYnl0ZXMpOwo+ICsgICAgICAgaW50ICgqZ2V0X2VsZCkoc3RydWN0IGRldmlj ZSAqLCBpbnQgcG9ydCwgaW50IHBpcGUsCj4gKwkJICAgICAgIGJvb2wgKmVuYWJsZWQsIHVuc2ln bmVkIGNoYXIgKmJ1ZiwgaW50IG1heF9ieXRlcyk7Cj4gCj4gc3RydWN0IGk5MTVfYXVkaW9fY29t cG9uZW50X2F1ZGlvX29wcwo+IC0gICAgICAgdm9pZCAoKnBpbl9lbGRfbm90aWZ5KSh2b2lkICph dWRpb19wdHIsIGludCBwb3J0KTsKPiArICAgICAgIHZvaWQgKCpwaW5fZWxkX25vdGlmeSkodm9p ZCAqYXVkaW9fcHRyLCBpbnQgcG9ydCwgaW50IHBpcGUpOwo+IAo+IFRoaXMgcGF0Y2ggbWFrZXMg ZHVtbXkgY2hhbmdlcyBpbiB0aGUgYXVkaW8gZHJpdmVycyAoTGliaW4pIGZvciBidWlsZCB0bwo+ IHN1Y2NlZWQuIFRoZSBhdWRpbyBzaWRlIGRyaXZlcnMgd2lsbCBzZW5kIHRoZSByaWdodCAncGlw ZScgdmFsdWVzIGluCj4gcGF0Y2hlcyB0aGF0IHdpbGwgZm9sbG93Lgo+IAo+IHYyOgo+IFJlbmFt ZWQgdGhlIG5ldyBBUEkgcGFyYW1ldGVyIGZyb20gJ2Rldl9pZCcgdG8gJ3BpcGUnLiAoSmltLCBW aWxsZSkKPiBJbmNsdWRlZCBBc29jIGRyaXZlciBBUEkgY29tcGF0aWJpbGl0eSBjaGFuZ2VzIGZy b20gSmVlamEuCj4gQWRkZWQgV0FSTl9PTigpIGZvciBpbnZhbGlkIHBpcGUgaW4gZ2V0X3NhdmVk X2VuY29kZXIoKS4gKFRha2FzaGkpCj4gQWRkZWQgY29tbWVudCBmb3IgYXZfZW5jX21hcFtdIGRl ZmluaXRpb24uIChUYWthc2hpKQo+IAo+IHYzOgo+IEZpeGVkIGxvZ2ljIGVycm9yIGludHJvZHVj ZWQgd2hpbGUgcmVuYW1pbmcgJ2Rldl9pZCcgYXMgJ3BpcGUnIChWaWxsZSkKPiBSZW5hbWVkIGdl dF9zYXZlZF9lbmNvZGVyKCkgdG8gZ2V0X3NhdmVkX2VuYygpIHRvIHJlZHVjZSBsaW5lIGxlbmd0 aAo+IAo+IFNpZ25lZC1vZmYtYnk6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFu ZGl5YW5AaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgIHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyB8IDkzICsr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL2k5MTVf Y29tcG9uZW50LmggICAgICAgfCAgNiArLS0KPiAgaW5jbHVkZS9zb3VuZC9oZGFfaTkxNS5oICAg ICAgICAgICB8IDExICsrKy0tCj4gIHNvdW5kL2hkYS9oZGFjX2k5MTUuYyAgICAgICAgICAgICAg fCAgOSArKy0tCj4gIHNvdW5kL3BjaS9oZGEvcGF0Y2hfaGRtaS5jICAgICAgICAgfCAgNyArLS0K PiAgc291bmQvc29jL2NvZGVjcy9oZGFjX2hkbWkuYyAgICAgICB8ICAyICstCj4gIDcgZmlsZXMg Y2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gaW5kZXggYzM2ZDE3Ni4uOGU0YTg4ZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+IEBAIC0yMDM2LDcgKzIwMzYsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSB7Cj4gIAkvKiBwZXJmb3JtIFBIWSBzdGF0ZSBzYW5pdHkgY2hlY2tzPyAqLwo+ICAJYm9vbCBj aHZfcGh5X2Fzc2VydFsyXTsKPiAgCj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZGlnX3BvcnRf bWFwW0k5MTVfTUFYX1BPUlRTXTsKPiArCS8qIFVzZWQgdG8gc2F2ZSB0aGUgcGlwZS10by1lbmNv ZGVyIG1hcHBpbmcgZm9yIGF1ZGlvICovCj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqYXZfZW5j X21hcFtJOTE1X01BWF9QSVBFU107Cj4gIAo+ICAJLyoKPiAgCSAqIE5PVEU6IFRoaXMgaXMgdGhl IGRyaTEvdW1zIGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gaW5kZXggZWYyMDg3NS4uYTc0NjdlYSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+IEBAIC01MDAsNiArNTAwLDcgQEAgdm9pZCBp bnRlbF9hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIpCj4gIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gZGV2X3ByaXYtPmF1 ZGlvX2NvbXBvbmVudDsKPiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRl bF9kaWdfcG9ydC0+cG9ydDsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiAgCj4g IAljb25uZWN0b3IgPSBkcm1fc2VsZWN0X2VsZChlbmNvZGVyKTsKPiAgCWlmICghY29ubmVjdG9y KQo+IEBAIC01MjQsMTIgKzUyNSwxOCBAQCB2b2lkIGludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiAgCj4gIAltdXRleF9sb2NrKCZk ZXZfcHJpdi0+YXZfbXV0ZXgpOwo+ICAJaW50ZWxfZW5jb2Rlci0+YXVkaW9fY29ubmVjdG9yID0g Y29ubmVjdG9yOwo+ICsKPiAgCS8qIHJlZmVycmVkIGluIGF1ZGlvIGNhbGxiYWNrcyAqLwo+IC0J ZGV2X3ByaXYtPmRpZ19wb3J0X21hcFtwb3J0XSA9IGludGVsX2VuY29kZXI7Cj4gKwlkZXZfcHJp di0+YXZfZW5jX21hcFtwaXBlXSA9IGludGVsX2VuY29kZXI7Cj4gIAltdXRleF91bmxvY2soJmRl dl9wcml2LT5hdl9tdXRleCk7Cj4gIAo+ICsJLyogYXVkaW8gZHJpdmVycyBleHBlY3QgcGlwZSA9 IC0xIHRvIGluZGljYXRlIE5vbi1NU1QgY2FzZXMgKi8KPiArCWlmIChpbnRlbF9lbmNvZGVyLT50 eXBlICE9IElOVEVMX09VVFBVVF9EUF9NU1QpCj4gKwkJcGlwZSA9IC0xOwo+ICsKPiAgCWlmIChh Y29tcCAmJiBhY29tcC0+YXVkaW9fb3BzICYmIGFjb21wLT5hdWRpb19vcHMtPnBpbl9lbGRfbm90 aWZ5KQo+IC0JCWFjb21wLT5hdWRpb19vcHMtPnBpbl9lbGRfbm90aWZ5KGFjb21wLT5hdWRpb19v cHMtPmF1ZGlvX3B0ciwgKGludCkgcG9ydCk7Cj4gKwkJYWNvbXAtPmF1ZGlvX29wcy0+cGluX2Vs ZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLAo+ICsJCQkJCQkgKGludCkgcG9y dCwgKGludCkgcGlwZSk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBAIC01NDIsMjIgKzU0OSwyOSBAQCB2 b2lkIGludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlcikKPiAgdm9pZCBpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gZGV2 X3ByaXYtPmF1ZGlvX2NvbXBvbmVudDsKPiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwo+ICAJZW51bSBwb3J0IHBv cnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlw ZTsKPiAgCj4gIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuYXVkaW9fY29kZWNfZGlzYWJsZSkKPiAg CQlkZXZfcHJpdi0+ZGlzcGxheS5hdWRpb19jb2RlY19kaXNhYmxlKGludGVsX2VuY29kZXIpOwo+ ICAKPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5hdl9tdXRleCk7Cj4gIAlpbnRlbF9lbmNvZGVy LT5hdWRpb19jb25uZWN0b3IgPSBOVUxMOwo+IC0JZGV2X3ByaXYtPmRpZ19wb3J0X21hcFtwb3J0 XSA9IE5VTEw7Cj4gKwlkZXZfcHJpdi0+YXZfZW5jX21hcFtwaXBlXSA9IE5VTEw7Cj4gIAltdXRl eF91bmxvY2soJmRldl9wcml2LT5hdl9tdXRleCk7Cj4gIAo+ICsJLyogYXVkaW8gZHJpdmVycyBl eHBlY3QgcGlwZSA9IC0xIHRvIGluZGljYXRlIE5vbi1NU1QgY2FzZXMgKi8KPiArCWlmIChpbnRl bF9lbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9EUF9NU1QpCj4gKwkJcGlwZSA9IC0xOwo+ ICsKPiAgCWlmIChhY29tcCAmJiBhY29tcC0+YXVkaW9fb3BzICYmIGFjb21wLT5hdWRpb19vcHMt PnBpbl9lbGRfbm90aWZ5KQo+IC0JCWFjb21wLT5hdWRpb19vcHMtPnBpbl9lbGRfbm90aWZ5KGFj b21wLT5hdWRpb19vcHMtPmF1ZGlvX3B0ciwgKGludCkgcG9ydCk7Cj4gKwkJYWNvbXAtPmF1ZGlv X29wcy0+cGluX2VsZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLAo+ICsJCQkJ CQkgKGludCkgcG9ydCwgKGludCkgcGlwZSk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBAIC02MzIsMTUg KzY0NiwzOSBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9jZGNsa19mcmVx KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCXJldHVybiBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsKPiAg fQo+ICAKPiAtc3RhdGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9zeW5jX2F1ZGlvX3JhdGUo c3RydWN0IGRldmljZSAqZGV2LAo+IC0JCQkJCQlpbnQgcG9ydCwgaW50IHJhdGUpCj4gK3N0YXRp YyBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZ2V0X3NhdmVkX2VuYyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqYXZfZW5jX21hcFtdLAo+ICsJCQkJCSAgICAgICBpbnQgcG9ydCwgaW50IHBpcGUpCj4gK3sK PiArCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiArCj4gKwlpZiAoV0FSTl9PTihwaXBl ID49IEk5MTVfTUFYX1BJUEVTKSkKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwkvKiBNU1QgKi8K PiArCWlmIChwaXBlICE9IC0xKQoKSSdkIG1ha2UgdGhhdCA8IDAKCj4gKwkJcmV0dXJuIGF2X2Vu Y19tYXBbcGlwZV07Cj4gKwo+ICsJLyogTm9uLU1TVCAqLwo+ICsJZm9yIChwaXBlID0gUElQRV9B OyBwaXBlIDwgSTkxNV9NQVhfUElQRVM7IHBpcGUrKykgewoKZm9yX2VhY2hfcGlwZSgpIHdvdWxk IGJlIG5pY2VyLgoKPiArCQlpZiAoIWF2X2VuY19tYXBbcGlwZV0pCj4gKwkJCWNvbnRpbnVlOwo+ ICsKPiArCQllbmNvZGVyID0gJmF2X2VuY19tYXBbcGlwZV0tPmJhc2U7Cj4gKwkJaWYgKHBvcnQg PT0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpLT5wb3J0KQo+ICsJCQlyZXR1cm4gYXZfZW5jX21h cFtwaXBlXTsKPiArCX0KPiArCj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArc3RhdGljIGlu dCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9zeW5jX2F1ZGlvX3JhdGUoc3RydWN0IGRldmljZSAqZGV2 LCBpbnQgcG9ydCwKPiArCQkJCQkJaW50IHBpcGUsIGludCByYXRlKQo+ICB7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXZfdG9faTkxNShkZXYpOwo+ICAJc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YzsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICAJc3RydWN0IGk5MTVfYXVk aW9fY29tcG9uZW50ICphY29tcCA9IGRldl9wcml2LT5hdWRpb19jb21wb25lbnQ7Cj4gLQllbnVt IHBpcGUgcGlwZSA9IElOVkFMSURfUElQRTsKPiAgCXUzMiB0bXA7Cj4gIAlpbnQgbjsKPiAgCWlu dCBlcnIgPSAwOwo+IEBAIC02NTQsMjUgKzY5MiwyMCBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9f Y29tcG9uZW50X3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gIAo+ICAJaTkx NV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyKGRldik7Cj4gIAltdXRleF9sb2NrKCZkZXZfcHJp di0+YXZfbXV0ZXgpOwo+ICsKPiAgCS8qIDEuIGdldCB0aGUgcGlwZSAqLwo+IC0JaW50ZWxfZW5j b2RlciA9IGRldl9wcml2LT5kaWdfcG9ydF9tYXBbcG9ydF07Cj4gLQkvKiBpbnRlbF9lbmNvZGVy IG1pZ2h0IGJlIE5VTEwgZm9yIERQIE1TVCAqLwo+ICsJaW50ZWxfZW5jb2RlciA9IGdldF9zYXZl ZF9lbmMoZGV2X3ByaXYtPmF2X2VuY19tYXAsIHBvcnQsIHBpcGUpOwo+ICAJaWYgKCFpbnRlbF9l bmNvZGVyIHx8ICFpbnRlbF9lbmNvZGVyLT5iYXNlLmNydGMgfHwKPiAgCSAgICBpbnRlbF9lbmNv ZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9IRE1JKSB7CgpEaWQgd2UgaGF2ZSBhIGZvbGxvd3Vw IHBsYW5uZWQgdG8gZGVhbCB3aXRoIE1TVCBoZXJlPyBJIGtub3cgdGhlcmUncwp0aGF0IFNTVCBN L04gcGF0Y2ggZmxvYXRpbmcgYXJvdW5kLCBidXQgSSB0aGluayB3ZSdsbCB3YW50IGl0IGZvciBN U1QKdG9vLgoKPiAtCQlEUk1fREVCVUdfS01TKCJubyB2YWxpZCBwb3J0ICVjXG4iLCBwb3J0X25h bWUocG9ydCkpOwo+ICsJCURSTV9ERUJVR19LTVMoIk5vdCB2YWxpZCBmb3IgcG9ydCAlY1xuIiwg cG9ydF9uYW1lKHBvcnQpKTsKPiAgCQllcnIgPSAtRU5PREVWOwo+ICAJCWdvdG8gdW5sb2NrOwo+ ICAJfQo+ICsKPiArCS8qIHBpcGUgcGFzc2VkIGZyb20gdGhlIGF1ZGlvIGRyaXZlciB3aWxsIGJl IC0xIGZvciBOb24tTVNUIGNhc2UgKi8KPiAgCWNydGMgPSB0b19pbnRlbF9jcnRjKGludGVsX2Vu Y29kZXItPmJhc2UuY3J0Yyk7Cj4gIAlwaXBlID0gY3J0Yy0+cGlwZTsKPiAtCWlmIChwaXBlID09 IElOVkFMSURfUElQRSkgewo+IC0JCURSTV9ERUJVR19LTVMoIm5vIHBpcGUgZm9yIHRoZSBwb3J0 ICVjXG4iLCBwb3J0X25hbWUocG9ydCkpOwo+IC0JCWVyciA9IC1FTk9ERVY7Cj4gLQkJZ290byB1 bmxvY2s7Cj4gLQl9Cj4gIAo+IC0JRFJNX0RFQlVHX0tNUygicGlwZSAlYyBjb25uZWN0cyBwb3J0 ICVjXG4iLAo+IC0JCQkJICBwaXBlX25hbWUocGlwZSksIHBvcnRfbmFtZShwb3J0KSk7Cj4gIAlt b2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAKPiAgCS8qIHBvcnQg bXVzdCBiZSB2YWxpZCBub3csIG90aGVyd2lzZSB0aGUgcGlwZSB3aWxsIGJlIGludmFsaWQgKi8K PiBAQCAtNzA4LDcgKzc0MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfc3lu Y19hdWRpb19yYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgfQo+ICAKPiAgc3RhdGljIGludCBp OTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfZWxkKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IHBvcnQs Cj4gLQkJCQkJYm9vbCAqZW5hYmxlZCwKPiArCQkJCQlpbnQgcGlwZSwgYm9vbCAqZW5hYmxlZCwK PiAgCQkJCQl1bnNpZ25lZCBjaGFyICpidWYsIGludCBtYXhfYnl0ZXMpCj4gIHsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldl90b19pOTE1KGRldik7Cj4gQEAgLTcx NywxNiArNzUwLDIwIEBAIHN0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X2VsZChz dHJ1Y3QgZGV2aWNlICpkZXYsIGludCBwb3J0LAo+ICAJaW50IHJldCA9IC1FSU5WQUw7Cj4gIAo+ ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKPiAtCWludGVsX2VuY29kZXIgPSBk ZXZfcHJpdi0+ZGlnX3BvcnRfbWFwW3BvcnRdOwo+IC0JLyogaW50ZWxfZW5jb2RlciBtaWdodCBi ZSBOVUxMIGZvciBEUCBNU1QgKi8KPiAtCWlmIChpbnRlbF9lbmNvZGVyKSB7Cj4gLQkJcmV0ID0g MDsKPiAtCQkqZW5hYmxlZCA9IGludGVsX2VuY29kZXItPmF1ZGlvX2Nvbm5lY3RvciAhPSBOVUxM Owo+IC0JCWlmICgqZW5hYmxlZCkgewo+IC0JCQllbGQgPSBpbnRlbF9lbmNvZGVyLT5hdWRpb19j b25uZWN0b3ItPmVsZDsKPiAtCQkJcmV0ID0gZHJtX2VsZF9zaXplKGVsZCk7Cj4gLQkJCW1lbWNw eShidWYsIGVsZCwgbWluKG1heF9ieXRlcywgcmV0KSk7Cj4gLQkJfQo+ICsKPiArCWludGVsX2Vu Y29kZXIgPSBnZXRfc2F2ZWRfZW5jKGRldl9wcml2LT5hdl9lbmNfbWFwLCBwb3J0LCBwaXBlKTsK PiArCWlmICghaW50ZWxfZW5jb2Rlcikgewo+ICsJCURSTV9ERUJVR19LTVMoIk5vdCB2YWxpZCBm b3IgcG9ydCAlY1xuIiwgcG9ydF9uYW1lKHBvcnQpKTsKClByaW50IHRoZSBwaXBlIG5hbWUgdG9v LCBpZiB3ZSBoYXZlIGEgdmFsaWQgcGlwZT8KCj4gKwkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ YXZfbXV0ZXgpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJcmV0ID0gMDsKPiArCSpl bmFibGVkID0gaW50ZWxfZW5jb2Rlci0+YXVkaW9fY29ubmVjdG9yICE9IE5VTEw7Cj4gKwlpZiAo KmVuYWJsZWQpIHsKPiArCQllbGQgPSBpbnRlbF9lbmNvZGVyLT5hdWRpb19jb25uZWN0b3ItPmVs ZDsKPiArCQlyZXQgPSBkcm1fZWxkX3NpemUoZWxkKTsKPiArCQltZW1jcHkoYnVmLCBlbGQsIG1p bihtYXhfYnl0ZXMsIHJldCkpOwo+ICAJfQo+ICAKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYt PmF2X211dGV4KTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaCBi L2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgKPiBpbmRleCBiNDZmYTBlLi41NDVjNmUwIDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgKPiArKysgYi9pbmNsdWRl L2RybS9pOTE1X2NvbXBvbmVudC5oCj4gQEAgLTY0LDcgKzY0LDcgQEAgc3RydWN0IGk5MTVfYXVk aW9fY29tcG9uZW50X29wcyB7Cj4gIAkgKiBDYWxsZWQgZnJvbSBhdWRpbyBkcml2ZXIuIEFmdGVy IGF1ZGlvIGRyaXZlciBzZXRzIHRoZQo+ICAJICogc2FtcGxlIHJhdGUsIGl0IHdpbGwgY2FsbCB0 aGlzIGZ1bmN0aW9uIHRvIHNldCBuL2N0cwo+ICAJICovCj4gLQlpbnQgKCpzeW5jX2F1ZGlvX3Jh dGUpKHN0cnVjdCBkZXZpY2UgKiwgaW50IHBvcnQsIGludCByYXRlKTsKPiArCWludCAoKnN5bmNf YXVkaW9fcmF0ZSkoc3RydWN0IGRldmljZSAqLCBpbnQgcG9ydCwgaW50IHBpcGUsIGludCByYXRl KTsKPiAgCS8qKgo+ICAJICogQGdldF9lbGQ6IGZpbGwgdGhlIGF1ZGlvIHN0YXRlIGFuZCBFTEQg Ynl0ZXMgZm9yIHRoZSBnaXZlbiBwb3J0Cj4gIAkgKgo+IEBAIC03Nyw3ICs3Nyw3IEBAIHN0cnVj dCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgewo+ICAJICogTm90ZSB0aGF0IHRoZSByZXR1cm5l ZCBzaXplIG1heSBiZSBvdmVyIEBtYXhfYnl0ZXMuICBUaGVuIGl0Cj4gIAkgKiBpbXBsaWVzIHRo YXQgb25seSBhIHBhcnQgb2YgRUxEIGhhcyBiZWVuIGNvcGllZCB0byB0aGUgYnVmZmVyLgo+ICAJ ICovCj4gLQlpbnQgKCpnZXRfZWxkKShzdHJ1Y3QgZGV2aWNlICosIGludCBwb3J0LCBib29sICpl bmFibGVkLAo+ICsJaW50ICgqZ2V0X2VsZCkoc3RydWN0IGRldmljZSAqLCBpbnQgcG9ydCwgaW50 IHBpcGUsIGJvb2wgKmVuYWJsZWQsCj4gIAkJICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50 IG1heF9ieXRlcyk7Cj4gIH07Cj4gIAo+IEBAIC05Nyw3ICs5Nyw3IEBAIHN0cnVjdCBpOTE1X2F1 ZGlvX2NvbXBvbmVudF9hdWRpb19vcHMgewo+ICAJICogc3RhdHVzIGFjY29yZGluZ2x5IChldmVu IHdoZW4gdGhlIEhEQSBjb250cm9sbGVyIGlzIGluIHBvd2VyIHNhdmUKPiAgCSAqIG1vZGUpLgo+ ICAJICovCj4gLQl2b2lkICgqcGluX2VsZF9ub3RpZnkpKHZvaWQgKmF1ZGlvX3B0ciwgaW50IHBv cnQpOwo+ICsJdm9pZCAoKnBpbl9lbGRfbm90aWZ5KSh2b2lkICphdWRpb19wdHIsIGludCBwb3J0 LCBpbnQgcGlwZSk7Cj4gIH07Cj4gIAo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3Vu ZC9oZGFfaTkxNS5oIGIvaW5jbHVkZS9zb3VuZC9oZGFfaTkxNS5oCj4gaW5kZXggNzk2Y2FiZi4u MDdmZDY0ZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3NvdW5kL2hkYV9pOTE1LmgKPiArKysgYi9p bmNsdWRlL3NvdW5kL2hkYV9pOTE1LmgKPiBAQCAtMTAsOCArMTAsOSBAQAo+ICBpbnQgc25kX2hk YWNfc2V0X2NvZGVjX3dha2V1cChzdHJ1Y3QgaGRhY19idXMgKmJ1cywgYm9vbCBlbmFibGUpOwo+ ICBpbnQgc25kX2hkYWNfZGlzcGxheV9wb3dlcihzdHJ1Y3QgaGRhY19idXMgKmJ1cywgYm9vbCBl bmFibGUpOwo+ICB2b2lkIHNuZF9oZGFjX2k5MTVfc2V0X2JjbGsoc3RydWN0IGhkYWNfYnVzICpi dXMpOwo+IC1pbnQgc25kX2hkYWNfc3luY19hdWRpb19yYXRlKHN0cnVjdCBoZGFjX2RldmljZSAq Y29kZWMsIGhkYV9uaWRfdCBuaWQsIGludCByYXRlKTsKPiAtaW50IHNuZF9oZGFjX2Fjb21wX2dl dF9lbGQoc3RydWN0IGhkYWNfZGV2aWNlICpjb2RlYywgaGRhX25pZF90IG5pZCwKPiAraW50IHNu ZF9oZGFjX3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgaGRhY19kZXZpY2UgKmNvZGVjLCBoZGFfbmlk X3QgbmlkLAo+ICsJCQkgICAgIGludCBwaXBlLCBpbnQgcmF0ZSk7Cj4gK2ludCBzbmRfaGRhY19h Y29tcF9nZXRfZWxkKHN0cnVjdCBoZGFjX2RldmljZSAqY29kZWMsIGhkYV9uaWRfdCBuaWQsIGlu dCBwaXBlLAo+ICAJCQkgICBib29sICphdWRpb19lbmFibGVkLCBjaGFyICpidWZmZXIsIGludCBt YXhfYnl0ZXMpOwo+ICBpbnQgc25kX2hkYWNfaTkxNV9pbml0KHN0cnVjdCBoZGFjX2J1cyAqYnVz KTsKPiAgaW50IHNuZF9oZGFjX2k5MTVfZXhpdChzdHJ1Y3QgaGRhY19idXMgKmJ1cyk7Cj4gQEAg LTI5LDEzICszMCwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc25kX2hkYWNfaTkxNV9zZXRfYmNs ayhzdHJ1Y3QgaGRhY19idXMgKmJ1cykKPiAgewo+ICB9Cj4gIHN0YXRpYyBpbmxpbmUgaW50IHNu ZF9oZGFjX3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgaGRhY19kZXZpY2UgKmNvZGVjLAo+IC0JCQkJ CSAgIGhkYV9uaWRfdCBuaWQsIGludCByYXRlKQo+ICsJCQkJCSAgIGhkYV9uaWRfdCBuaWQsIGlu dCBwaXBlLCBpbnQgcmF0ZSkKPiAgewo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgc3RhdGljIGlubGlu ZSBpbnQgc25kX2hkYWNfYWNvbXBfZ2V0X2VsZChzdHJ1Y3QgaGRhY19kZXZpY2UgKmNvZGVjLCBo ZGFfbmlkX3QgbmlkLAo+IC0JCQkJCSBib29sICphdWRpb19lbmFibGVkLCBjaGFyICpidWZmZXIs Cj4gLQkJCQkJIGludCBtYXhfYnl0ZXMpCj4gKwkJCQkJIGludCBwaXBlLCBib29sICphdWRpb19l bmFibGVkLAo+ICsJCQkJCSBjaGFyICpidWZmZXIsIGludCBtYXhfYnl0ZXMpCj4gIHsKPiAgCXJl dHVybiAtRU5PREVWOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL2hkYS9oZGFjX2k5MTUuYyBi L3NvdW5kL2hkYS9oZGFjX2k5MTUuYwo+IGluZGV4IGM5YWYwMjIuLmI5OTk5NGIgMTAwNjQ0Cj4g LS0tIGEvc291bmQvaGRhL2hkYWNfaTkxNS5jCj4gKysrIGIvc291bmQvaGRhL2hkYWNfaTkxNS5j Cj4gQEAgLTIwMSw3ICsyMDEsOCBAQCBzdGF0aWMgaW50IHBpbjJwb3J0KHN0cnVjdCBoZGFjX2Rl dmljZSAqY29kZWMsIGhkYV9uaWRfdCBwaW5fbmlkKQo+ICAgKiBUaGlzIGZ1bmN0aW9uIHNldHMg Ti9DVFMgdmFsdWUgYmFzZWQgb24gdGhlIGdpdmVuIHNhbXBsZSByYXRlLgo+ICAgKiBSZXR1cm5z IHplcm8gZm9yIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZS4KPiAgICovCj4gLWlu dCBzbmRfaGRhY19zeW5jX2F1ZGlvX3JhdGUoc3RydWN0IGhkYWNfZGV2aWNlICpjb2RlYywgaGRh X25pZF90IG5pZCwgaW50IHJhdGUpCj4gK2ludCBzbmRfaGRhY19zeW5jX2F1ZGlvX3JhdGUoc3Ry dWN0IGhkYWNfZGV2aWNlICpjb2RlYywgaGRhX25pZF90IG5pZCwKPiArCQkJICAgICBpbnQgcGlw ZSwgaW50IHJhdGUpCgpJIHRob3VnaHQgeW91J2Qgc3RpbGwgd2FudCB0byBjYWxsIGl0ICdkZXZf aWQnIG9uIHRoZSBoZGEgc2lkZSwgYW5kIGp1c3QKZG8gdGhlIGRldl9pZC0+cGlwZSBjb252ZXJz aW9uIGhlcmUgbmV4dCB0byB0aGUgcGluLT5wb3J0IGNvbnZlcnNpb24/Ckp1c3QgZmlndXJlZCB0 aGF0IHdvdWxkIGJlIGxlc3MgY29uZnVzaW5nIGZvciBwZW9wbGUgd2hvIGFyZSBqdXN0IGZhbWls aWFyCndpdGggaGRhIGFuZCBub3QgaTkxNS4KCkFueXdheXMsIHRoZSBwYXRjaCBsb29rcyBwcmV0 dHkgZ29vZCB0byBtZSBmcm9tIHRoZSBpOTE1IFBPVi4gV2hldGhlcgp5b3Ugd2FudCB0byBkbyB0 aG9zZSBzbWFsbCBjaGFuZ2VzIEkgcHJvcG9zZWQgaXMgdXAgdG8geW91LCBhbmQgZWl0aGVyCndh eSB0aGUgaTkxNSBwYXJ0cyBhcmUKUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+ICB7Cj4gIAlzdHJ1Y3QgaGRhY19idXMgKmJ1cyA9 IGNvZGVjLT5idXM7Cj4gIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gYnVz LT5hdWRpb19jb21wb25lbnQ7Cj4gQEAgLTIxMiw3ICsyMTMsNyBAQCBpbnQgc25kX2hkYWNfc3lu Y19hdWRpb19yYXRlKHN0cnVjdCBoZGFjX2RldmljZSAqY29kZWMsIGhkYV9uaWRfdCBuaWQsIGlu dCByYXRlKQo+ICAJcG9ydCA9IHBpbjJwb3J0KGNvZGVjLCBuaWQpOwo+ICAJaWYgKHBvcnQgPCAw KQo+ICAJCXJldHVybiAtRUlOVkFMOwo+IC0JcmV0dXJuIGFjb21wLT5vcHMtPnN5bmNfYXVkaW9f cmF0ZShhY29tcC0+ZGV2LCBwb3J0LCByYXRlKTsKPiArCXJldHVybiBhY29tcC0+b3BzLT5zeW5j X2F1ZGlvX3JhdGUoYWNvbXAtPmRldiwgcG9ydCwgcGlwZSwgcmF0ZSk7Cj4gIH0KPiAgRVhQT1JU X1NZTUJPTF9HUEwoc25kX2hkYWNfc3luY19hdWRpb19yYXRlKTsKPiAgCj4gQEAgLTIzNiw3ICsy MzcsNyBAQCBFWFBPUlRfU1lNQk9MX0dQTChzbmRfaGRhY19zeW5jX2F1ZGlvX3JhdGUpOwo+ICAg KiB0aHVzIGl0IG1heSBiZSBvdmVyIEBtYXhfYnl0ZXMuICBJZiBpdCdzIG92ZXIgQG1heF9ieXRl cywgaXQgaW1wbGllcwo+ICAgKiB0aGF0IG9ubHkgYSBwYXJ0IG9mIEVMRCBieXRlcyBoYXZlIGJl ZW4gZmV0Y2hlZC4KPiAgICovCj4gLWludCBzbmRfaGRhY19hY29tcF9nZXRfZWxkKHN0cnVjdCBo ZGFjX2RldmljZSAqY29kZWMsIGhkYV9uaWRfdCBuaWQsCj4gK2ludCBzbmRfaGRhY19hY29tcF9n ZXRfZWxkKHN0cnVjdCBoZGFjX2RldmljZSAqY29kZWMsIGhkYV9uaWRfdCBuaWQsIGludCBwaXBl LAo+ICAJCQkgICBib29sICphdWRpb19lbmFibGVkLCBjaGFyICpidWZmZXIsIGludCBtYXhfYnl0 ZXMpCj4gIHsKPiAgCXN0cnVjdCBoZGFjX2J1cyAqYnVzID0gY29kZWMtPmJ1czsKPiBAQCAtMjQ5 LDcgKzI1MCw3IEBAIGludCBzbmRfaGRhY19hY29tcF9nZXRfZWxkKHN0cnVjdCBoZGFjX2Rldmlj ZSAqY29kZWMsIGhkYV9uaWRfdCBuaWQsCj4gIAlwb3J0ID0gcGluMnBvcnQoY29kZWMsIG5pZCk7 Cj4gIAlpZiAocG9ydCA8IDApCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gLQlyZXR1cm4gYWNvbXAt Pm9wcy0+Z2V0X2VsZChhY29tcC0+ZGV2LCBwb3J0LCBhdWRpb19lbmFibGVkLAo+ICsJcmV0dXJu IGFjb21wLT5vcHMtPmdldF9lbGQoYWNvbXAtPmRldiwgcG9ydCwgcGlwZSwgYXVkaW9fZW5hYmxl ZCwKPiAgCQkJCSAgIGJ1ZmZlciwgbWF4X2J5dGVzKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQ TChzbmRfaGRhY19hY29tcF9nZXRfZWxkKTsKPiBkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9w YXRjaF9oZG1pLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYwo+IGluZGV4IGQwZDVhZDgu LjY3ODkwZGYgMTAwNjQ0Cj4gLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9oZG1pLmMKPiArKysg Yi9zb3VuZC9wY2kvaGRhL3BhdGNoX2hkbWkuYwo+IEBAIC0xNDg1LDcgKzE0ODUsNyBAQCBzdGF0 aWMgdm9pZCBzeW5jX2VsZF92aWFfYWNvbXAoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCj4gIAo+ ICAJbXV0ZXhfbG9jaygmcGVyX3Bpbi0+bG9jayk7Cj4gIAllbGQtPm1vbml0b3JfcHJlc2VudCA9 IGZhbHNlOwo+IC0Jc2l6ZSA9IHNuZF9oZGFjX2Fjb21wX2dldF9lbGQoJmNvZGVjLT5jb3JlLCBw ZXJfcGluLT5waW5fbmlkLAo+ICsJc2l6ZSA9IHNuZF9oZGFjX2Fjb21wX2dldF9lbGQoJmNvZGVj LT5jb3JlLCBwZXJfcGluLT5waW5fbmlkLCAtMSwKPiAgCQkJCSAgICAgICZlbGQtPm1vbml0b3Jf cHJlc2VudCwgZWxkLT5lbGRfYnVmZmVyLAo+ICAJCQkJICAgICAgRUxEX01BWF9TSVpFKTsKPiAg CWlmIChzaXplID4gMCkgewo+IEBAIC0xNzM5LDcgKzE3MzksOCBAQCBzdGF0aWMgaW50IGdlbmVy aWNfaGRtaV9wbGF5YmFja19wY21fcHJlcGFyZShzdHJ1Y3QgaGRhX3BjbV9zdHJlYW0gKmhpbmZv LAo+ICAJLyogQ2FsbCBzeW5jX2F1ZGlvX3JhdGUgdG8gc2V0IHRoZSBOL0NUUy9NIG1hbnVhbGx5 IGlmIG5lY2Vzc2FyeSAqLwo+ICAJLyogVG9kbzogYWRkIERQMS4yIE1TVCBhdWRpbyBzdXBwb3J0 IGxhdGVyICovCj4gIAlpZiAoY29kZWNfaGFzX2Fjb21wKGNvZGVjKSkKPiAtCQlzbmRfaGRhY19z eW5jX2F1ZGlvX3JhdGUoJmNvZGVjLT5jb3JlLCBwaW5fbmlkLCBydW50aW1lLT5yYXRlKTsKPiAr CQlzbmRfaGRhY19zeW5jX2F1ZGlvX3JhdGUoJmNvZGVjLT5jb3JlLCBwaW5fbmlkLCAtMSwKPiAr CQkJCQkgcnVudGltZS0+cmF0ZSk7Cj4gIAo+ICAJbm9uX3BjbSA9IGNoZWNrX25vbl9wY21fcGVy X2N2dChjb2RlYywgY3Z0X25pZCk7Cj4gIAltdXRleF9sb2NrKCZwZXJfcGluLT5sb2NrKTsKPiBA QCAtMjI4NSw3ICsyMjg2LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9zZXRfcG93ZXJfc3RhdGUo c3RydWN0IGhkYV9jb2RlYyAqY29kZWMsIGhkYV9uaWRfdCBmZywKPiAgCXNuZF9oZGFfY29kZWNf c2V0X3Bvd2VyX3RvX2FsbChjb2RlYywgZmcsIHBvd2VyX3N0YXRlKTsKPiAgfQo+ICAKPiAtc3Rh dGljIHZvaWQgaW50ZWxfcGluX2VsZF9ub3RpZnkodm9pZCAqYXVkaW9fcHRyLCBpbnQgcG9ydCkK PiArc3RhdGljIHZvaWQgaW50ZWxfcGluX2VsZF9ub3RpZnkodm9pZCAqYXVkaW9fcHRyLCBpbnQg cG9ydCwgaW50IHBpcGUpCj4gIHsKPiAgCXN0cnVjdCBoZGFfY29kZWMgKmNvZGVjID0gYXVkaW9f cHRyOwo+ICAJaW50IHBpbl9uaWQ7Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvaGRh Y19oZG1pLmMgYi9zb3VuZC9zb2MvY29kZWNzL2hkYWNfaGRtaS5jCj4gaW5kZXggMmFiYjc0Mi4u Y2Y1N2FiMyAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvY29kZWNzL2hkYWNfaGRtaS5jCj4gKysr IGIvc291bmQvc29jL2NvZGVjcy9oZGFjX2hkbWkuYwo+IEBAIC0xMzY2LDcgKzEzNjYsNyBAQCBz dGF0aWMgaW50IGhkYWNfaGRtaV9wYXJzZV9hbmRfbWFwX25pZChzdHJ1Y3QgaGRhY19leHRfZGV2 aWNlICplZGV2LAo+ICAJcmV0dXJuIGhkYWNfaGRtaV9pbml0X2RhaV9tYXAoZWRldik7Cj4gIH0K PiAgCj4gLXN0YXRpYyB2b2lkIGhkYWNfaGRtaV9lbGRfbm90aWZ5X2NiKHZvaWQgKmFwdHIsIGlu dCBwb3J0KQo+ICtzdGF0aWMgdm9pZCBoZGFjX2hkbWlfZWxkX25vdGlmeV9jYih2b2lkICphcHRy LCBpbnQgcG9ydCwgaW50IHBpcGUpCj4gIHsKPiAgCXN0cnVjdCBoZGFjX2V4dF9kZXZpY2UgKmVk ZXYgPSBhcHRyOwo+ICAJc3RydWN0IGhkYWNfaGRtaV9wcml2ICpoZG1pID0gZWRldi0+cHJpdmF0 ZV9kYXRhOwo+IC0tIAo+IDIuNS4wCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK