From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 4/8] drm/i915: Use a helper to get the aux power domain Date: Tue, 30 Oct 2018 23:31:22 +0200 Message-ID: <20181030213122.GA11416@ideak-desk.fi.intel.com> References: <20181030154051.30851-1-imre.deak@intel.com> <20181030154051.30851-5-imre.deak@intel.com> <20181030211607.GB5740@ldmartin-desk.jf.intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 388746E199 for ; Tue, 30 Oct 2018 21:31:25 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181030211607.GB5740@ldmartin-desk.jf.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMzAsIDIwMTggYXQgMDI6MTY6MDhQTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIFR1ZSwgT2N0IDMwLCAyMDE4IGF0IDA1OjQwOjQ3UE0gKzAyMDAsIEltcmUg RGVhayB3cm90ZToKPiA+IEZyb20gSUNMIG9ud2FyZHMgdGhlIEFVWCBwb3dlciBkb21haW4gbWF5 IGNoYW5nZSBkeW5hbWljYWxseSBiYXNlZCBvbgo+ID4gd2hldGhlciBhIERESS9UeXBlQyBwb3J0 IGlzIGluIHRodW5kZXJib2x0IG9yIG5vbi10aHVuZGVyYm9sdCBtb2RlLCBzbwo+ID4gdXNlIGEg aGVscGVyIGZ1bmN0aW9uIGluc3RlYWQgb2YgYSBzdGF0aWMgZmllbGQgdG8gZ2V0IHRoZSBjdXJy ZW50Cj4gPiBkb21haW4uCj4gPiAKPiA+IENjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwu Y29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwg IDIgKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyMiArKysr KysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDczICsr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICB8ICAzICstCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNl cnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMKPiA+IGluZGV4IDM3MzllZjAwMzgxOS4uNWJiNDU5MDExYTQ5IDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4gPiBAQCAtMjA5OSw3ICsyMDk5LDcgQEAgaW50ZWxfZGRpX21h aW5fbGlua19hdXhfZG9tYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAgCSAqIHJl dHVybnMgdGhlIGNvcnJlY3QgZG9tYWluIGZvciBvdGhlciBwb3J0cyB0b28uCj4gPiAgCSAqLwo+ ID4gIAlyZXR1cm4gZGlnX3BvcnQtPmF1eF9jaCA9PSBBVVhfQ0hfQSA/IFBPV0VSX0RPTUFJTl9B VVhfSU9fQSA6Cj4gPiAtCQkJCQkgICAgICBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbjsKPiA+ ICsJCQkJCSAgICAgIGludGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpOwo+ID4gIH0KPiA+ ICAKPiA+ICBzdGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiA+IGluZGV4IGMzY2FkYzA5Zjg1OS4uMzY3MTBhMzBmYjM3IDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC01OTQ5LDYgKzU5NDksMjggQEAgZW51bSBp bnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBpbnRlbF9wb3J0X3RvX3Bvd2VyX2RvbWFpbihlbnVt IHBvcnQgcG9ydCkKPiA+ICAJfQo+ID4gIH0KPiA+ICAKPiA+ICtlbnVtIGludGVsX2Rpc3BsYXlf cG93ZXJfZG9tYWluCj4gPiAraW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICpkaWdfcG9ydCkKPiA+ICt7Cj4gCj4gY291bGRuJ3Qgd2UganVzdCBtb3ZlIGF1 eF9wb3dlcl9kb21haW4gdXAgbGlrZSB5b2QgZGlkIGZvciBhdXhfY2g/ICBUaGlzIHdheSB3ZSBp bml0aWFsaXplIHRoZQo+IHBvd2VyIGRvbWFpbiBiYXNzZWQgb24gdGhlIGF1eCBjaGFubmVsLCBh bmQganVzdCB1c2UgaXQgb24gdGhlIG90aGVyIGZ1bmN0aW9ucy4gSSB0aGluayB0aGlzIGlzCj4g bW9yZSBmdXR1cmUtcHJvb2YgZm9yIHBsYXRmb3JtcyBjaGFuZ2luZyB0aGUgbWFwcGluZyBhdXgg PC0+IHBvd2VyIGRvbWFpbi4gQW5kIGF2b2lkcyBwYXNzaW5nCj4gZGV2X3ByaXYgYXJvdW5kIGxh dGVyIGp1c3QgZm9yIGNoZWNraW5nIHRoYXQuCgpXZWxsLCB0aGUgZmFjdCB0aGF0IHRoZSBtYXBw aW5nIGNhbiBjaGFuZ2UgZHluYW1pY2FsbHkgaXMgdGhlIHJlYXNvbiBJCmNob3NlIHRvIGhhdmUg YSBoZWxwZXIuIE9uY2UgVGh1bmRlcmJvbHQgc3VwcG9ydCBpcyBhZGRlZCB3ZSB3b3VsZCBjaGVj awppbiB0aGlzIGZ1bmN0aW9uIHNvbWV0aGluZyBsaWtlIGRpZ19wb3J0LT5pc190YnQgYW5kIHJl dHVybgpQT1dFUl9ET01BSU5fQVVYX1RCVF9bMS00XSBpbnN0ZWFkIG9mIEFVWF9bQS1EXS4KCj4g Cj4gTHVjYXMgRGUgTWFyY2hpCj4gCj4gPiArCXN3aXRjaCAoZGlnX3BvcnQtPmF1eF9jaCkgewo+ ID4gKwljYXNlIEFVWF9DSF9BOgo+ID4gKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfQTsKPiA+ ICsJY2FzZSBBVVhfQ0hfQjoKPiA+ICsJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0I7Cj4gPiAr CWNhc2UgQVVYX0NIX0M6Cj4gPiArCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9DOwo+ID4gKwlj YXNlIEFVWF9DSF9EOgo+ID4gKwkJcmV0dXJuIFBPV0VSX0RPTUFJTl9BVVhfRDsKPiA+ICsJY2Fz ZSBBVVhfQ0hfRToKPiA+ICsJCXJldHVybiBQT1dFUl9ET01BSU5fQVVYX0U7Cj4gPiArCWNhc2Ug QVVYX0NIX0Y6Cj4gPiArCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9GOwo+ID4gKwlkZWZhdWx0 Ogo+ID4gKwkJTUlTU0lOR19DQVNFKGRpZ19wb3J0LT5hdXhfY2gpOwo+ID4gKwkJcmV0dXJuIFBP V0VSX0RPTUFJTl9BVVhfQTsKPiA+ICsJfQo+ID4gK30KPiA+ICsKPiA+ICBzdGF0aWMgdTY0IGdl dF9jcnRjX3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAkJCQkgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gIHsKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+ID4gaW5kZXggNjY0NWM5ZmFjYTlhLi5lNmY1OWVmNTliZTYgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiBAQCAtNjkwLDcgKzY5MCw4IEBAIHN0YXRpYyB2 b2lkIHBwc19sb2NrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAgCSAqIFNlZSBpbnRl bF9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQoKSB3aHkgd2UgbmVlZAo+ID4gIAkgKiBhIHBvd2VyIGRv bWFpbiByZWZlcmVuY2UgaGVyZS4KPiA+ICAJICovCj4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7Cj4gPiArCWludGVsX2Rp c3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LAo+ID4gKwkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWlu KGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKSkpOwo+ID4gIAo+ID4gIAltdXRleF9sb2NrKCZkZXZf cHJpdi0+cHBzX211dGV4KTsKPiA+ICB9Cj4gPiBAQCAtNzAxLDcgKzcwMiw4IEBAIHN0YXRpYyB2 b2lkIHBwc191bmxvY2soc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICAKPiA+ICAJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiA+ICAKPiA+IC0JaW50ZWxfZGlzcGxh eV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKPiA+ICsJ aW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCj4gPiArCQkJCWludGVsX2F1eF9wb3dl cl9kb21haW4oZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApKSk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0 YXRpYyB2b2lkCj4gPiBAQCAtMTUwNSwyOSArMTUwNyw2IEBAIGludGVsX2RwX2F1eF90cmFuc2Zl cihzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2F1eF9tc2cgKm1zZykKPiA+ ICAJcmV0dXJuIHJldDsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGljIGVudW0gaW50ZWxfZGlzcGxh eV9wb3dlcl9kb21haW4KPiA+IC1pbnRlbF9hdXhfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gPiAtewo+ID4gLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdf cG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+IC0KPiA+IC0Jc3dpdGNoIChkaWdf cG9ydC0+YXV4X2NoKSB7Cj4gPiAtCWNhc2UgQVVYX0NIX0E6Cj4gPiAtCQlyZXR1cm4gUE9XRVJf RE9NQUlOX0FVWF9BOwo+ID4gLQljYXNlIEFVWF9DSF9COgo+ID4gLQkJcmV0dXJuIFBPV0VSX0RP TUFJTl9BVVhfQjsKPiA+IC0JY2FzZSBBVVhfQ0hfQzoKPiA+IC0JCXJldHVybiBQT1dFUl9ET01B SU5fQVVYX0M7Cj4gPiAtCWNhc2UgQVVYX0NIX0Q6Cj4gPiAtCQlyZXR1cm4gUE9XRVJfRE9NQUlO X0FVWF9EOwo+ID4gLQljYXNlIEFVWF9DSF9FOgo+ID4gLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9B VVhfRTsKPiA+IC0JY2FzZSBBVVhfQ0hfRjoKPiA+IC0JCXJldHVybiBQT1dFUl9ET01BSU5fQVVY X0Y7Cj4gPiAtCWRlZmF1bHQ6Cj4gPiAtCQlNSVNTSU5HX0NBU0UoZGlnX3BvcnQtPmF1eF9jaCk7 Cj4gPiAtCQlyZXR1cm4gUE9XRVJfRE9NQUlOX0FVWF9BOwo+ID4gLQl9Cj4gPiAtfQo+ID4gIAo+ ID4gIHN0YXRpYyBpOTE1X3JlZ190IGc0eF9hdXhfY3RsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ID4gIHsKPiA+IEBAIC0xNjU0LDggKzE2MzMsNiBAQCBpbnRlbF9kcF9hdXhfaW5p dChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+ICAJc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIgPSAmZGlnX3BvcnQtPmJhc2U7Cj4gPiAgCj4gPiAtCWludGVs X2RwLT5hdXhfcG93ZXJfZG9tYWluID0gaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9kcCk7 Cj4gPiAtCj4gPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPiA+ICAJCWludGVs X2RwLT5hdXhfY2hfY3RsX3JlZyA9IHNrbF9hdXhfY3RsX3JlZzsKPiA+ICAJCWludGVsX2RwLT5h dXhfY2hfZGF0YV9yZWcgPSBza2xfYXV4X2RhdGFfcmVnOwo+ID4gQEAgLTIzNTYsNyArMjMzMyw4 IEBAIHN0YXRpYyBib29sIGVkcF9wYW5lbF92ZGRfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiA+ICAJaWYgKGVkcF9oYXZlX3BhbmVsX3ZkZChpbnRlbF9kcCkpCj4gPiAgCQlyZXR1cm4g bmVlZF90b19kaXNhYmxlOwo+ID4gIAo+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZf cHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOwo+ID4gKwlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldChkZXZfcHJpdiwKPiA+ICsJCQkJaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihpbnRlbF9k aWdfcG9ydCkpOwo+ID4gIAo+ID4gIAlEUk1fREVCVUdfS01TKCJUdXJuaW5nIGVEUCBwb3J0ICVj IFZERCBvblxuIiwKPiA+ICAJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5w b3J0KSk7Cj4gPiBAQCAtMjQ0Miw3ICsyNDIwLDggQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3Zk ZF9vZmZfc3luYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gIAlpZiAoKHBwICYgUEFO RUxfUE9XRVJfT04pID09IDApCj4gPiAgCQlpbnRlbF9kcC0+cGFuZWxfcG93ZXJfb2ZmX3RpbWUg PSBrdGltZV9nZXRfYm9vdHRpbWUoKTsKPiA+ICAKPiA+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKPiA+ICsJaW50ZWxfZGlz cGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCj4gPiArCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4o aW50ZWxfZGlnX3BvcnQpKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgZWRwX3BhbmVs X3ZkZF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQo+ID4gQEAgLTI1NTUsNiArMjUz NCw3IEBAIHZvaWQgaW50ZWxfZWRwX3BhbmVsX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4gPiAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9f aTkxNShpbnRlbF9kcCk7Cj4gPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ID4gIAl1MzIgcHA7Cj4gPiAgCWk5MTVfcmVn X3QgcHBfY3RybF9yZWc7Cj4gPiAgCj4gPiBAQCAtMjU2NCwxMCArMjU0NCwxMCBAQCBzdGF0aWMg dm9pZCBlZHBfcGFuZWxfb2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAgCQlyZXR1 cm47Cj4gPiAgCj4gPiAgCURSTV9ERUJVR19LTVMoIlR1cm4gZURQIHBvcnQgJWMgcGFuZWwgcG93 ZXIgb2ZmXG4iLAo+ID4gLQkJICAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+YmFzZS5wb3J0KSk7Cj4gPiArCQkgICAgICBwb3J0X25hbWUoZGlnX3BvcnQtPmJhc2UucG9y dCkpOwo+ID4gIAo+ID4gIAlXQVJOKCFpbnRlbF9kcC0+d2FudF9wYW5lbF92ZGQsICJOZWVkIGVE UCBwb3J0ICVjIFZERCB0byB0dXJuIG9mZiBwYW5lbFxuIiwKPiA+IC0JICAgICBwb3J0X25hbWUo ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLnBvcnQpKTsKPiA+ICsJICAgICBwb3J0X25h bWUoZGlnX3BvcnQtPmJhc2UucG9ydCkpOwo+ID4gIAo+ID4gIAlwcCA9IGlyb25sYWtlX2dldF9w cF9jb250cm9sKGludGVsX2RwKTsKPiA+ICAJLyogV2UgbmVlZCB0byBzd2l0Y2ggb2ZmIHBhbmVs IHBvd2VyIF9hbmRfIGZvcmNlIHZkZCwgZm9yIG90aGVyd2lzZSBzb21lCj4gPiBAQCAtMjU4Niw3 ICsyNTY2LDcgQEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ID4gIAlpbnRlbF9kcC0+cGFuZWxfcG93ZXJfb2ZmX3RpbWUgPSBrdGltZV9nZXRf Ym9vdHRpbWUoKTsKPiA+ICAKPiA+ICAJLyogV2UgZ290IGEgcmVmZXJlbmNlIHdoZW4gd2UgZW5h YmxlZCB0aGUgVkRELiAqLwo+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwg aW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOwo+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1 dChkZXZfcHJpdiwgaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdfcG9ydCkpOwo+ID4gIH0KPiA+ ICAKPiA+ICB2b2lkIGludGVsX2VkcF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPiA+IEBAIC01MDY5LDE0ICs1MDQ5LDE3IEBAIGludGVsX2RwX2RldGVjdChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmRldik7Cj4gPiAgCXN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0b3IpOwo+ID4gLQlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJh c2U7Cj4gPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZk aWdfcG9ydC0+YmFzZTsKPiA+ICAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7Cj4g PiArCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gYXV4X2RvbWFpbiA9Cj4gPiArCQlp bnRlbF9hdXhfcG93ZXJfZG9tYWluKGRpZ19wb3J0KTsKPiA+ICAKPiA+ICAJRFJNX0RFQlVHX0tN UygiW0NPTk5FQ1RPUjolZDolc11cbiIsCj4gPiAgCQkgICAgICBjb25uZWN0b3ItPmJhc2UuaWQs IGNvbm5lY3Rvci0+bmFtZSk7Cj4gPiAgCVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgm ZGV2X3ByaXYtPmRybS5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7Cj4gPiAgCj4gPiAt CWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2Rv bWFpbik7Cj4gPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBhdXhfZG9tYWlu KTsKPiA+ICAKPiA+ICAJLyogQ2FuJ3QgZGlzY29ubmVjdCBlRFAgKi8KPiA+ICAJaWYgKGludGVs X2RwX2lzX2VkcChpbnRlbF9kcCkpCj4gPiBAQCAtNTEzOCw3ICs1MTIxLDcgQEAgaW50ZWxfZHBf ZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgCQlyZXQgPSBpbnRl bF9kcF9yZXRyYWluX2xpbmsoZW5jb2RlciwgY3R4KTsKPiA+ICAJCWlmIChyZXQpIHsKPiA+ICAJ CQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwKPiA+IC0JCQkJCQlpbnRlbF9kcC0+ YXV4X3Bvd2VyX2RvbWFpbik7Cj4gPiArCQkJCQkJaW50ZWxfYXV4X3Bvd2VyX2RvbWFpbihkaWdf cG9ydCkpOwo+ID4gIAkJCXJldHVybiByZXQ7Cj4gPiAgCQl9Cj4gPiAgCX0KPiA+IEBAIC01MTYy LDcgKzUxNDUsNyBAQCBpbnRlbF9kcF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiA+ICAJaWYgKHN0YXR1cyAhPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCAmJiAh aW50ZWxfZHAtPmlzX21zdCkKPiA+ICAJCWludGVsX2RwX3Vuc2V0X2VkaWQoaW50ZWxfZHApOwo+ ID4gIAo+ID4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1 eF9wb3dlcl9kb21haW4pOwo+ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwg YXV4X2RvbWFpbik7Cj4gPiAgCXJldHVybiBzdGF0dXM7Cj4gPiAgfQo+ID4gIAo+ID4gQEAgLTUx NzAsOCArNTE1MywxMSBAQCBzdGF0aWMgdm9pZAo+ID4gIGludGVsX2RwX2ZvcmNlKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gaW50ZWxfYXR0YWNoZWRfZHAoY29ubmVjdG9yKTsKPiA+IC0Jc3RydWN0IGludGVs X2VuY29kZXIgKmludGVsX2VuY29kZXIgPSAmZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNl Owo+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsKPiA+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIg PSAmZGlnX3BvcnQtPmJhc2U7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4gKwllbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGF1eF9kb21haW4gPQo+ID4gKwkJaW50ZWxfYXV4X3Bvd2VyX2Rv bWFpbihkaWdfcG9ydCk7Cj4gPiAgCj4gPiAgCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6 JXNdXG4iLAo+ID4gIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUp Owo+ID4gQEAgLTUxODAsMTEgKzUxNjYsMTEgQEAgaW50ZWxfZHBfZm9yY2Uoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICAJaWYgKGNvbm5lY3Rvci0+c3RhdHVzICE9IGNvbm5l Y3Rvcl9zdGF0dXNfY29ubmVjdGVkKQo+ID4gIAkJcmV0dXJuOwo+ID4gIAo+ID4gLQlpbnRlbF9k aXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4pOwo+ ID4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgYXV4X2RvbWFpbik7Cj4gPiAg Cj4gPiAgCWludGVsX2RwX3NldF9lZGlkKGludGVsX2RwKTsKPiA+ICAKPiA+IC0JaW50ZWxfZGlz cGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKPiA+ ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGF1eF9kb21haW4pOwo+ID4gIH0K PiA+ICAKPiA+ICBzdGF0aWMgaW50IGludGVsX2RwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ID4gQEAgLTU1MzAsNiArNTUxNiw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaW50ZWxfaGRjcF9zaGltIGludGVsX2RwX2hkY3Bfc2hpbSA9IHsKPiA+ICBzdGF0aWMg dm9pZCBpbnRlbF9lZHBfcGFuZWxfdmRkX3Nhbml0aXplKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90 b19pOTE1KGludGVsX2RwKTsKPiA+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiAgCj4gPiAgCWxvY2tkZXBfYXNzZXJ0 X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+ID4gIAo+ID4gQEAgLTU1NDMsNyArNTUzMCw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX2VkcF9wYW5lbF92ZGRfc2FuaXRpemUoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiA+ICAJICogaW5kZWZpbml0ZWx5Lgo+ID4gIAkgKi8KPiA+ICAJRFJN X0RFQlVHX0tNUygiVkREIGxlZnQgb24gYnkgQklPUywgYWRqdXN0aW5nIHN0YXRlIHRyYWNraW5n XG4iKTsKPiA+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5h dXhfcG93ZXJfZG9tYWluKTsKPiA+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs IGludGVsX2F1eF9wb3dlcl9kb21haW4oZGlnX3BvcnQpKTsKPiA+ICAKPiA+ICAJZWRwX3BhbmVs X3ZkZF9zY2hlZHVsZV9vZmYoaW50ZWxfZHApOwo+ID4gIH0KPiA+IEBAIC01NjQxLDcgKzU2Mjgs OCBAQCBpbnRlbF9kcF9ocGRfcHVsc2Uoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQsIGJvb2wgbG9uZ19ocGQpCj4gPiAgCQlyZXR1cm4gSVJRX05PTkU7Cj4gPiAgCX0K PiA+ICAKPiA+IC0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2RwLT5h dXhfcG93ZXJfZG9tYWluKTsKPiA+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYs Cj4gPiArCQkJCWludGVsX2F1eF9wb3dlcl9kb21haW4oaW50ZWxfZGlnX3BvcnQpKTsKPiA+ICAK PiA+ICAJaWYgKGludGVsX2RwLT5pc19tc3QpIHsKPiA+ICAJCWlmIChpbnRlbF9kcF9jaGVja19t c3Rfc3RhdHVzKGludGVsX2RwKSA9PSAtRUlOVkFMKSB7Cj4gPiBAQCAtNTY3MCw3ICs1NjU4LDgg QEAgaW50ZWxfZHBfaHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LCBib29sIGxvbmdfaHBkKQo+ID4gIAlyZXQgPSBJUlFfSEFORExFRDsKPiA+ICAKPiA+ ICBwdXRfcG93ZXI6Cj4gPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRl bF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7Cj4gPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LAo+ID4gKwkJCQlpbnRlbF9hdXhfcG93ZXJfZG9tYWluKGludGVsX2RpZ19wb3J0KSk7 Cj4gPiAgCj4gPiAgCXJldHVybiByZXQ7Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+IGluZGV4IGEyNDJhMTE4Mzg5ZC4uYTNkN2I5M2VjZGRkIDEwMDY0NAo+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtMTEzMCw3ICsxMTMwLDYgQEAgc3RydWN0IGludGVs X2RwIHsKPiA+ICAJLyogc2luayBvciBicmFuY2ggZGVzY3JpcHRvciAqLwo+ID4gIAlzdHJ1Y3Qg ZHJtX2RwX2Rlc2MgZGVzYzsKPiA+ICAJc3RydWN0IGRybV9kcF9hdXggYXV4Owo+ID4gLQllbnVt IGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGF1eF9wb3dlcl9kb21haW47Cj4gPiAgCXVpbnQ4 X3QgdHJhaW5fc2V0WzRdOwo+ID4gIAlpbnQgcGFuZWxfcG93ZXJfdXBfZGVsYXk7Cj4gPiAgCWlu dCBwYW5lbF9wb3dlcl9kb3duX2RlbGF5Owo+ID4gQEAgLTE3MDksNiArMTcwOCw4IEBAIGJvb2wg aHN3X2NydGNfc3RhdGVfaXBzX2NhcGFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpOwo+ID4gIHZvaWQgaHN3X2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ID4gIHZvaWQgaHN3X2Rpc2FibGVfaXBzKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ICBlbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKGVudW0gcG9ydCBw b3J0KTsKPiA+ICtlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCj4gPiAraW50ZWxfYXV4 X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7Cj4gPiAg dm9pZCBpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCj4gPiAgCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ ID4gIHZvaWQgaW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiA+IC0tIAo+ID4gMi4xMy4yCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK