From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/7] drm/i915: Rename intel_shared_dpll_config to intel_shared_dpll_state Date: Thu, 13 Oct 2016 15:25:54 +0200 Message-ID: <20161013132554.GR20761@phenom.ffwll.local> References: <1475584337-8900-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1475584337-8900-4-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B02B6EA79 for ; Thu, 13 Oct 2016 13:26:00 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id x79so12760269lff.2 for ; Thu, 13 Oct 2016 06:26:00 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1475584337-8900-4-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMDQsIDIwMTYgYXQgMDM6MzI6MTNQTSArMDMwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IFN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgaXMg dXNlZCB0byBob2xkIHRoZSBzdGF0ZSBvZiB0aGUgRFBMTCBpbgo+IHRoZSAiYXRvbWljIiBzZW5z ZSwgc28gY2FsbCBpdCBzdGF0ZSBsaWtlIGV2ZXJ5dGhpbmcgZWxzZSBhdG9taWMuCj4gCj4gU2ln bmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4u ZGUub2xpdmVpcmFAaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyAgIHwgMTIgKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWMuYyAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAg IHwgMTAgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgfCAy MiArKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyB8 IDY4ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwbGxfbWdyLmggfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgICB8ICA0ICstLQo+ICA3IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlv bnMoKyksIDYzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gaW5kZXggZGE3MTQxMy4uMTJiOTdhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gQEAgLTMyMjksMTQgKzMyMjksMTQgQEAgc3RhdGljIGludCBpOTE1X3NoYXJlZF9k cGxsc19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQo+ICAKPiAgCQlzZXFf cHJpbnRmKG0sICJEUExMJWk6ICVzLCBpZDogJWlcbiIsIGksIHBsbC0+bmFtZSwgcGxsLT5pZCk7 Cj4gIAkJc2VxX3ByaW50ZihtLCAiIGNydGNfbWFzazogMHglMDh4LCBhY3RpdmU6IDB4JXgsIG9u OiAlc1xuIiwKPiAtCQkJICAgcGxsLT5jb25maWcuY3J0Y19tYXNrLCBwbGwtPmFjdGl2ZV9tYXNr LCB5ZXNubyhwbGwtPm9uKSk7Cj4gKwkJCSAgIHBsbC0+c3RhdGUuY3J0Y19tYXNrLCBwbGwtPmFj dGl2ZV9tYXNrLCB5ZXNubyhwbGwtPm9uKSk7Cj4gIAkJc2VxX3ByaW50ZihtLCAiIHRyYWNrZWQg aGFyZHdhcmUgc3RhdGU6XG4iKTsKPiAtCQlzZXFfcHJpbnRmKG0sICIgZHBsbDogICAgMHglMDh4 XG4iLCBwbGwtPmNvbmZpZy5od19zdGF0ZS5kcGxsKTsKPiArCQlzZXFfcHJpbnRmKG0sICIgZHBs bDogICAgMHglMDh4XG4iLCBwbGwtPnN0YXRlLmh3X3N0YXRlLmRwbGwpOwo+ICAJCXNlcV9wcmlu dGYobSwgIiBkcGxsX21kOiAweCUwOHhcbiIsCj4gLQkJCSAgIHBsbC0+Y29uZmlnLmh3X3N0YXRl LmRwbGxfbWQpOwo+IC0JCXNlcV9wcmludGYobSwgIiBmcDA6ICAgICAweCUwOHhcbiIsIHBsbC0+ Y29uZmlnLmh3X3N0YXRlLmZwMCk7Cj4gLQkJc2VxX3ByaW50ZihtLCAiIGZwMTogICAgIDB4JTA4 eFxuIiwgcGxsLT5jb25maWcuaHdfc3RhdGUuZnAxKTsKPiAtCQlzZXFfcHJpbnRmKG0sICIgd3Jw bGw6ICAgMHglMDh4XG4iLCBwbGwtPmNvbmZpZy5od19zdGF0ZS53cnBsbCk7Cj4gKwkJCSAgIHBs bC0+c3RhdGUuaHdfc3RhdGUuZHBsbF9tZCk7Cj4gKwkJc2VxX3ByaW50ZihtLCAiIGZwMDogICAg IDB4JTA4eFxuIiwgcGxsLT5zdGF0ZS5od19zdGF0ZS5mcDApOwo+ICsJCXNlcV9wcmludGYobSwg IiBmcDE6ICAgICAweCUwOHhcbiIsIHBsbC0+c3RhdGUuaHdfc3RhdGUuZnAxKTsKPiArCQlzZXFf cHJpbnRmKG0sICIgd3JwbGw6ICAgMHglMDh4XG4iLCBwbGwtPnN0YXRlLmh3X3N0YXRlLndycGxs KTsKPiAgCX0KPiAgCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiAgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXRvbWljLmMKPiBpbmRleCBjNWExNjY3Li5mYTZkYzQzIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiBAQCAtMjY3LDcgKzI2Nyw3IEBAIGludCBpbnRl bF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgc3Rh dGljIHZvaWQKPiAgaW50ZWxfYXRvbWljX2R1cGxpY2F0ZV9kcGxsX3N0YXRlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCSAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxs X2NvbmZpZyAqc2hhcmVkX2RwbGwpCj4gKwkJCQkgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9z dGF0ZSAqc2hhcmVkX2RwbGwpCj4gIHsKPiAgCWVudW0gaW50ZWxfZHBsbF9pZCBpOwo+ICAKPiBA QCAtMjc1LDExICsyNzUsMTEgQEAgaW50ZWxfYXRvbWljX2R1cGxpY2F0ZV9kcGxsX3N0YXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWZvciAoaSA9IDA7IGkgPCBkZXZf cHJpdi0+bnVtX3NoYXJlZF9kcGxsOyBpKyspIHsKPiAgCQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2Rw bGwgKnBsbCA9ICZkZXZfcHJpdi0+c2hhcmVkX2RwbGxzW2ldOwo+ICAKPiAtCQlzaGFyZWRfZHBs bFtpXSA9IHBsbC0+Y29uZmlnOwo+ICsJCXNoYXJlZF9kcGxsW2ldID0gcGxsLT5zdGF0ZTsKPiAg CX0KPiAgfQo+ICAKPiAtc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyAqCj4gK3N0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSAqCj4gIGludGVsX2F0b21pY19nZXRfc2hhcmVkX2Rw bGxfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gIHsKPiAgCXN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHMpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggMzVmMGI3Yy4uNDA3NzIwNSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTk5Miw3ICs5OTIsNyBAQCBzdGF0aWMgaW50IGJ4dF9j YWxjX3BsbF9saW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlyZXR1 cm4gMDsKPiAgCj4gIAlwbGwgPSAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tkcGxsXTsKPiAtCXN0 YXRlID0gJnBsbC0+Y29uZmlnLmh3X3N0YXRlOwo+ICsJc3RhdGUgPSAmcGxsLT5zdGF0ZS5od19z dGF0ZTsKPiAgCj4gIAljbG9jay5tMSA9IDI7Cj4gIAljbG9jay5tMiA9IChzdGF0ZS0+cGxsMCAm IFBPUlRfUExMX00yX01BU0spIDw8IDIyOwo+IEBAIC0yNDAxLDcgKzI0MDEsNyBAQCBpbnRlbF9k ZGlfZ2V0X2xpbmtfZHBsbChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgY2xvY2spCj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9f ZGlnX3BvcnQoaW50ZWxfZHApOwo+ICAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBO VUxMOwo+IC0Jc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyB0bXBfcGxsX2NvbmZpZzsK PiArCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSB0bXBfcGxsX3N0YXRlOwo+ICAJZW51 bSBpbnRlbF9kcGxsX2lkIGRwbGxfaWQ7Cj4gIAo+ICAJaWYgKElTX0JST1hUT04oZGV2X3ByaXYp KSB7Cj4gQEAgLTI0MTcsMTEgKzI0MTcsMTEgQEAgaW50ZWxfZGRpX2dldF9saW5rX2RwbGwoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IGNsb2NrKQo+ICAJCQkJICBwbGwtPmFjdGl2ZV9t YXNrKTsKPiAgCQkJcmV0dXJuIE5VTEw7Cj4gIAkJfQo+IC0JCXRtcF9wbGxfY29uZmlnID0gcGxs LT5jb25maWc7Cj4gKwkJdG1wX3BsbF9zdGF0ZSA9IHBsbC0+c3RhdGU7Cj4gIAkJaWYgKCFieHRf ZGRpX2RwX3NldF9kcGxsX2h3X3N0YXRlKGNsb2NrLAo+IC0JCQkJCQkgICZwbGwtPmNvbmZpZy5o d19zdGF0ZSkpIHsKPiArCQkJCQkJICAmcGxsLT5zdGF0ZS5od19zdGF0ZSkpIHsKPiAgCQkJRFJN X0VSUk9SKCJDb3VsZCBub3Qgc2V0dXAgRFBMTFxuIik7Cj4gLQkJCXBsbC0+Y29uZmlnID0gdG1w X3BsbF9jb25maWc7Cj4gKwkJCXBsbC0+c3RhdGUgPSB0bXBfcGxsX3N0YXRlOwo+ICAJCQlyZXR1 cm4gTlVMTDsKPiAgCQl9Cj4gIAl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElT X0tBQllMQUtFKGRldl9wcml2KSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCBiOGJmZGUwLi5lNmZlODViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xMzYzOSw5ICsxMzYzOSw5IEBAIHZlcmlmeV9zaW5nbGVfZHBsbF9zdGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAl9Cj4gIAo+ICAJaWYgKCFj cnRjKSB7Cj4gLQkJSTkxNV9TVEFURV9XQVJOKHBsbC0+YWN0aXZlX21hc2sgJiB+cGxsLT5jb25m aWcuY3J0Y19tYXNrLAo+ICsJCUk5MTVfU1RBVEVfV0FSTihwbGwtPmFjdGl2ZV9tYXNrICYgfnBs bC0+c3RhdGUuY3J0Y19tYXNrLAo+ICAJCQkJIm1vcmUgYWN0aXZlIHBsbCB1c2VycyB0aGFuIHJl ZmVyZW5jZXM6ICV4IHZzICV4XG4iLAo+IC0JCQkJcGxsLT5hY3RpdmVfbWFzaywgcGxsLT5jb25m aWcuY3J0Y19tYXNrKTsKPiArCQkJCXBsbC0+YWN0aXZlX21hc2ssIHBsbC0+c3RhdGUuY3J0Y19t YXNrKTsKPiAgCj4gIAkJcmV0dXJuOwo+ICAJfQo+IEBAIC0xMzY1NywxMSArMTM2NTcsMTEgQEAg dmVyaWZ5X3NpbmdsZV9kcGxsX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAgCQkJCSJwbGwgYWN0aXZlIG1pc21hdGNoIChkaWRuJ3QgZXhwZWN0IHBpcGUgJWMgaW4g YWN0aXZlIG1hc2sgMHglMDJ4KVxuIiwKPiAgCQkJCXBpcGVfbmFtZShkcm1fY3J0Y19pbmRleChj cnRjKSksIHBsbC0+YWN0aXZlX21hc2spOwo+ICAKPiAtCUk5MTVfU1RBVEVfV0FSTighKHBsbC0+ Y29uZmlnLmNydGNfbWFzayAmIGNydGNfbWFzayksCj4gKwlJOTE1X1NUQVRFX1dBUk4oIShwbGwt PnN0YXRlLmNydGNfbWFzayAmIGNydGNfbWFzayksCj4gIAkJCSJwbGwgZW5hYmxlZCBjcnRjcyBt aXNtYXRjaCAoZXhwZWN0ZWQgMHgleCBpbiAweCUwMngpXG4iLAo+IC0JCQljcnRjX21hc2ssIHBs bC0+Y29uZmlnLmNydGNfbWFzayk7Cj4gKwkJCWNydGNfbWFzaywgcGxsLT5zdGF0ZS5jcnRjX21h c2spOwo+ICAKPiAtCUk5MTVfU1RBVEVfV0FSTihwbGwtPm9uICYmIG1lbWNtcCgmcGxsLT5jb25m aWcuaHdfc3RhdGUsCj4gKwlJOTE1X1NUQVRFX1dBUk4ocGxsLT5vbiAmJiBtZW1jbXAoJnBsbC0+ c3RhdGUuaHdfc3RhdGUsCj4gIAkJCQkJICAmZHBsbF9od19zdGF0ZSwKPiAgCQkJCQkgIHNpemVv ZihkcGxsX2h3X3N0YXRlKSksCj4gIAkJCSJwbGwgaHcgc3RhdGUgbWlzbWF0Y2hcbiIpOwo+IEBA IC0xMzY4Nyw3ICsxMzY4Nyw3IEBAIHZlcmlmeV9zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJSTkxNV9TVEFURV9XQVJO KHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21hc2ssCj4gIAkJCQkicGxsIGFjdGl2ZSBtaXNtYXRj aCAoZGlkbid0IGV4cGVjdCBwaXBlICVjIGluIGFjdGl2ZSBtYXNrKVxuIiwKPiAgCQkJCXBpcGVf bmFtZShkcm1fY3J0Y19pbmRleChjcnRjKSkpOwo+IC0JCUk5MTVfU1RBVEVfV0FSTihwbGwtPmNv bmZpZy5jcnRjX21hc2sgJiBjcnRjX21hc2ssCj4gKwkJSTkxNV9TVEFURV9XQVJOKHBsbC0+c3Rh dGUuY3J0Y19tYXNrICYgY3J0Y19tYXNrLAo+ICAJCQkJInBsbCBlbmFibGVkIGNydGNzIG1pc21h dGNoIChmb3VuZCAleCBpbiBlbmFibGVkIG1hc2spXG4iLAo+ICAJCQkJcGlwZV9uYW1lKGRybV9j cnRjX2luZGV4KGNydGMpKSk7Cj4gIAl9Cj4gQEAgLTE2NzU5LDE2ICsxNjc1OSwxNiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9ICZkZXZfcHJpdi0+c2hh cmVkX2RwbGxzW2ldOwo+ICAKPiAgCQlwbGwtPm9uID0gcGxsLT5mdW5jcy5nZXRfaHdfc3RhdGUo ZGV2X3ByaXYsIHBsbCwKPiAtCQkJCQkJICAmcGxsLT5jb25maWcuaHdfc3RhdGUpOwo+IC0JCXBs bC0+Y29uZmlnLmNydGNfbWFzayA9IDA7Cj4gKwkJCQkJCSAgJnBsbC0+c3RhdGUuaHdfc3RhdGUp Owo+ICsJCXBsbC0+c3RhdGUuY3J0Y19tYXNrID0gMDsKPiAgCQlmb3JfZWFjaF9pbnRlbF9jcnRj KGRldiwgY3J0Yykgewo+ICAJCQlpZiAoY3J0Yy0+YWN0aXZlICYmIGNydGMtPmNvbmZpZy0+c2hh cmVkX2RwbGwgPT0gcGxsKQo+IC0JCQkJcGxsLT5jb25maWcuY3J0Y19tYXNrIHw9IDEgPDwgY3J0 Yy0+cGlwZTsKPiArCQkJCXBsbC0+c3RhdGUuY3J0Y19tYXNrIHw9IDEgPDwgY3J0Yy0+cGlwZTsK PiAgCQl9Cj4gLQkJcGxsLT5hY3RpdmVfbWFzayA9IHBsbC0+Y29uZmlnLmNydGNfbWFzazsKPiAr CQlwbGwtPmFjdGl2ZV9tYXNrID0gcGxsLT5zdGF0ZS5jcnRjX21hc2s7Cj4gIAo+ICAJCURSTV9E RUJVR19LTVMoIiVzIGh3IHN0YXRlIHJlYWRvdXQ6IGNydGNfbWFzayAweCUwOHgsIG9uICVpXG4i LAo+IC0JCQkgICAgICBwbGwtPm5hbWUsIHBsbC0+Y29uZmlnLmNydGNfbWFzaywgcGxsLT5vbik7 Cj4gKwkJCSAgICAgIHBsbC0+bmFtZSwgcGxsLT5zdGF0ZS5jcnRjX21hc2ssIHBsbC0+b24pOwo+ ICAJfQo+ICAKPiAgCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gaW5kZXggMTViZjQ2Mi4uYzg4ZmMwNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+IEBAIC0zOCwxMSArMzgs MTEgQEAgc2tsX2ZpbmRfbGlua19wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBpbnQgY2xvY2spCj4gIAkJcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV07Cj4gIAo+ ICAJCS8qIE9ubHkgd2FudCB0byBjaGVjayBlbmFibGVkIHRpbWluZ3MgZmlyc3QgKi8KPiAtCQlp ZiAocGxsLT5jb25maWcuY3J0Y19tYXNrID09IDApCj4gKwkJaWYgKHBsbC0+c3RhdGUuY3J0Y19t YXNrID09IDApCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAtCQlpZiAobWVtY21wKCZkcGxsX2h3X3N0 YXRlLCAmcGxsLT5jb25maWcuaHdfc3RhdGUsCj4gLQkJCSAgIHNpemVvZihwbGwtPmNvbmZpZy5o d19zdGF0ZSkpID09IDApIHsKPiArCQlpZiAobWVtY21wKCZkcGxsX2h3X3N0YXRlLCAmcGxsLT5z dGF0ZS5od19zdGF0ZSwKPiArCQkJICAgc2l6ZW9mKHBsbC0+c3RhdGUuaHdfc3RhdGUpKSA9PSAw KSB7Cj4gIAkJCWZvdW5kID0gdHJ1ZTsKPiAgCQkJYnJlYWs7Cj4gIAkJfQo+IEBAIC01Miw4ICs1 Miw4IEBAIHNrbF9maW5kX2xpbmtfcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgaW50IGNsb2NrKQo+ICAJZm9yIChpID0gRFBMTF9JRF9TS0xfRFBMTDE7Cj4gIAkgICAgICgo Zm91bmQgPT0gZmFsc2UpICYmIChpIDw9IERQTExfSURfU0tMX0RQTEwzKSk7IGkrKykgewo+ICAJ CXBsbCA9ICZkZXZfcHJpdi0+c2hhcmVkX2RwbGxzW2ldOwo+IC0JCWlmIChwbGwtPmNvbmZpZy5j cnRjX21hc2sgPT0gMCkgewo+IC0JCQlwbGwtPmNvbmZpZy5od19zdGF0ZSA9IGRwbGxfaHdfc3Rh dGU7Cj4gKwkJaWYgKHBsbC0+c3RhdGUuY3J0Y19tYXNrID09IDApIHsKPiArCQkJcGxsLT5zdGF0 ZS5od19zdGF0ZSA9IGRwbGxfaHdfc3RhdGU7Cj4gIAkJCWJyZWFrOwo+ICAJCX0KPiAgCX0KPiBA QCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbChzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKPiAgCQlyZXR1cm47Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZGV2X3By aXYtPmRwbGxfbG9jayk7Cj4gLQlXQVJOX09OKCFwbGwtPmNvbmZpZy5jcnRjX21hc2spOwo+ICsJ V0FSTl9PTighcGxsLT5zdGF0ZS5jcnRjX21hc2spOwo+ICAJaWYgKCFwbGwtPmFjdGl2ZV9tYXNr KSB7Cj4gIAkJRFJNX0RFQlVHX0RSSVZFUigic2V0dGluZyB1cCAlc1xuIiwgcGxsLT5uYW1lKTsK PiAgCQlXQVJOX09OKHBsbC0+b24pOwo+IEBAIC0xMzksNyArMTM5LDcgQEAgdm9pZCBpbnRlbF9l bmFibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAltdXRleF9sb2Nr KCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKPiAgCW9sZF9tYXNrID0gcGxsLT5hY3RpdmVfbWFzazsK PiAgCj4gLQlpZiAoV0FSTl9PTighKHBsbC0+Y29uZmlnLmNydGNfbWFzayAmIGNydGNfbWFzaykp IHx8Cj4gKwlpZiAoV0FSTl9PTighKHBsbC0+c3RhdGUuY3J0Y19tYXNrICYgY3J0Y19tYXNrKSkg fHwKPiAgCSAgICBXQVJOX09OKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21hc2spKQo+ICAJCWdv dG8gb3V0Owo+ICAKPiBAQCAtMjA5LDcgKzIwOSw3IEBAIGludGVsX2ZpbmRfc2hhcmVkX2RwbGwo c3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IGludGVsX3No YXJlZF9kcGxsICpwbGw7Cj4gLQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnICpzaGFy ZWRfZHBsbDsKPiArCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSAqc2hhcmVkX2RwbGw7 Cj4gIAllbnVtIGludGVsX2RwbGxfaWQgaTsKPiAgCj4gIAlzaGFyZWRfZHBsbCA9IGludGVsX2F0 b21pY19nZXRfc2hhcmVkX2RwbGxfc3RhdGUoY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSk7Cj4gQEAg LTI0OSw3ICsyNDksNyBAQCBzdGF0aWMgdm9pZAo+ICBpbnRlbF9yZWZlcmVuY2Vfc2hhcmVkX2Rw bGwoc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gIAkJCSAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGludGVsX3NoYXJlZF9kcGxs X2NvbmZpZyAqc2hhcmVkX2RwbGw7Cj4gKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfc3RhdGUg KnNoYXJlZF9kcGxsOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gIAllbnVtIGludGVsX2RwbGxfaWQgaSA9IHBsbC0+ aWQ7Cj4gIAo+IEBAIC0yNjksNyArMjY5LDcgQEAgaW50ZWxfcmVmZXJlbmNlX3NoYXJlZF9kcGxs KHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLAo+ICB2b2lkIGludGVsX3NoYXJlZF9kcGxs X3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+IC0J c3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyAqc2hhcmVkX2RwbGw7Cj4gKwlzdHJ1Y3Qg aW50ZWxfc2hhcmVkX2RwbGxfc3RhdGUgKnNoYXJlZF9kcGxsOwo+ICAJc3RydWN0IGludGVsX3No YXJlZF9kcGxsICpwbGw7Cj4gIAllbnVtIGludGVsX2RwbGxfaWQgaTsKPiAgCj4gQEAgLTI3OSw3 ICsyNzksNyBAQCB2b2lkIGludGVsX3NoYXJlZF9kcGxsX3N3YXBfc3RhdGUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJc2hhcmVkX2RwbGwgPSB0b19pbnRlbF9hdG9taWNfc3Rh dGUoc3RhdGUpLT5zaGFyZWRfZHBsbDsKPiAgCWZvciAoaSA9IDA7IGkgPCBkZXZfcHJpdi0+bnVt X3NoYXJlZF9kcGxsOyBpKyspIHsKPiAgCQlwbGwgPSAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tp XTsKPiAtCQlwbGwtPmNvbmZpZyA9IHNoYXJlZF9kcGxsW2ldOwo+ICsJCXBsbC0+c3RhdGUgPSBz aGFyZWRfZHBsbFtpXTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAtMzA1LDggKzMwNSw4IEBAIHN0YXRp YyBib29sIGlieF9wY2hfZHBsbF9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ICBzdGF0aWMgdm9pZCBpYnhfcGNoX2RwbGxfbW9kZV9zZXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2Rw bGwgKnBsbCkKPiAgewo+IC0JSTkxNV9XUklURShQQ0hfRlAwKHBsbC0+aWQpLCBwbGwtPmNvbmZp Zy5od19zdGF0ZS5mcDApOwo+IC0JSTkxNV9XUklURShQQ0hfRlAxKHBsbC0+aWQpLCBwbGwtPmNv bmZpZy5od19zdGF0ZS5mcDEpOwo+ICsJSTkxNV9XUklURShQQ0hfRlAwKHBsbC0+aWQpLCBwbGwt PnN0YXRlLmh3X3N0YXRlLmZwMCk7Cj4gKwlJOTE1X1dSSVRFKFBDSF9GUDEocGxsLT5pZCksIHBs bC0+c3RhdGUuaHdfc3RhdGUuZnAxKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaWJ4X2Fzc2Vy dF9wY2hfcmVmY2xrX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ IEBAIC0zMjgsNyArMzI4LDcgQEAgc3RhdGljIHZvaWQgaWJ4X3BjaF9kcGxsX2VuYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkvKiBQQ0ggcmVmY2xvY2sgbXVzdCBi ZSBlbmFibGVkIGZpcnN0ICovCj4gIAlpYnhfYXNzZXJ0X3BjaF9yZWZjbGtfZW5hYmxlZChkZXZf cHJpdik7Cj4gIAo+IC0JSTkxNV9XUklURShQQ0hfRFBMTChwbGwtPmlkKSwgcGxsLT5jb25maWcu aHdfc3RhdGUuZHBsbCk7Cj4gKwlJOTE1X1dSSVRFKFBDSF9EUExMKHBsbC0+aWQpLCBwbGwtPnN0 YXRlLmh3X3N0YXRlLmRwbGwpOwo+ICAKPiAgCS8qIFdhaXQgZm9yIHRoZSBjbG9ja3MgdG8gc3Rh YmlsaXplLiAqLwo+ICAJUE9TVElOR19SRUFEKFBDSF9EUExMKHBsbC0+aWQpKTsKPiBAQCAtMzM5 LDcgKzMzOSw3IEBAIHN0YXRpYyB2b2lkIGlieF9wY2hfZHBsbF9lbmFibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJICoKPiAgCSAqIFNvIHdyaXRlIGl0IGFnYWluLgo+ ICAJICovCj4gLQlJOTE1X1dSSVRFKFBDSF9EUExMKHBsbC0+aWQpLCBwbGwtPmNvbmZpZy5od19z dGF0ZS5kcGxsKTsKPiArCUk5MTVfV1JJVEUoUENIX0RQTEwocGxsLT5pZCksIHBsbC0+c3RhdGUu aHdfc3RhdGUuZHBsbCk7Cj4gIAlQT1NUSU5HX1JFQUQoUENIX0RQTEwocGxsLT5pZCkpOwo+ICAJ dWRlbGF5KDIwMCk7Cj4gIH0KPiBAQCAtNDAxLDcgKzQwMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGxfZnVuY3MgaWJ4X3BjaF9kcGxsX2Z1bmNzID0gewo+ICBzdGF0 aWMgdm9pZCBoc3dfZGRpX3dycGxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCkKPiAgewo+ IC0JSTkxNV9XUklURShXUlBMTF9DVEwocGxsLT5pZCksIHBsbC0+Y29uZmlnLmh3X3N0YXRlLndy cGxsKTsKPiArCUk5MTVfV1JJVEUoV1JQTExfQ1RMKHBsbC0+aWQpLCBwbGwtPnN0YXRlLmh3X3N0 YXRlLndycGxsKTsKPiAgCVBPU1RJTkdfUkVBRChXUlBMTF9DVEwocGxsLT5pZCkpOwo+ICAJdWRl bGF5KDIwKTsKPiAgfQo+IEBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIHZvaWQgaHN3X2RkaV93 cnBsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICBzdGF0aWMg dm9pZCBoc3dfZGRpX3NwbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAgCQkJCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsKQo+ICB7Cj4gLQlJOTE1X1dS SVRFKFNQTExfQ1RMLCBwbGwtPmNvbmZpZy5od19zdGF0ZS5zcGxsKTsKPiArCUk5MTVfV1JJVEUo U1BMTF9DVEwsIHBsbC0+c3RhdGUuaHdfc3RhdGUuc3BsbCk7Cj4gIAlQT1NUSU5HX1JFQUQoU1BM TF9DVEwpOwo+ICAJdWRlbGF5KDIwKTsKPiAgfQo+IEBAIC04NTIsNyArODUyLDcgQEAgc3RhdGlj IHZvaWQgc2tsX2RkaV9wbGxfd3JpdGVfY3RybDEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAKPiAgCXZhbCAmPSB+KERQTExfQ1RSTDFfSERNSV9NT0RFKHBsbC0+aWQpIHwg RFBMTF9DVFJMMV9TU0MocGxsLT5pZCkgfAo+ICAJCSBEUExMX0NUUkwxX0xJTktfUkFURV9NQVNL KHBsbC0+aWQpKTsKPiAtCXZhbCB8PSBwbGwtPmNvbmZpZy5od19zdGF0ZS5jdHJsMSA8PCAocGxs LT5pZCAqIDYpOwo+ICsJdmFsIHw9IHBsbC0+c3RhdGUuaHdfc3RhdGUuY3RybDEgPDwgKHBsbC0+ aWQgKiA2KTsKPiAgCj4gIAlJOTE1X1dSSVRFKERQTExfQ1RSTDEsIHZhbCk7Cj4gIAlQT1NUSU5H X1JFQUQoRFBMTF9DVFJMMSk7Cj4gQEAgLTg2NSw4ICs4NjUsOCBAQCBzdGF0aWMgdm9pZCBza2xf ZGRpX3BsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAg CXNrbF9kZGlfcGxsX3dyaXRlX2N0cmwxKGRldl9wcml2LCBwbGwpOwo+ICAKPiAtCUk5MTVfV1JJ VEUocmVnc1twbGwtPmlkXS5jZmdjcjEsIHBsbC0+Y29uZmlnLmh3X3N0YXRlLmNmZ2NyMSk7Cj4g LQlJOTE1X1dSSVRFKHJlZ3NbcGxsLT5pZF0uY2ZnY3IyLCBwbGwtPmNvbmZpZy5od19zdGF0ZS5j ZmdjcjIpOwo+ICsJSTkxNV9XUklURShyZWdzW3BsbC0+aWRdLmNmZ2NyMSwgcGxsLT5zdGF0ZS5o d19zdGF0ZS5jZmdjcjEpOwo+ICsJSTkxNV9XUklURShyZWdzW3BsbC0+aWRdLmNmZ2NyMiwgcGxs LT5zdGF0ZS5od19zdGF0ZS5jZmdjcjIpOwo+ICAJUE9TVElOR19SRUFEKHJlZ3NbcGxsLT5pZF0u Y2ZnY3IxKTsKPiAgCVBPU1RJTkdfUkVBRChyZWdzW3BsbC0+aWRdLmNmZ2NyMik7Cj4gIAo+IEBA IC0xMzYzLDMxICsxMzYzLDMxIEBAIHN0YXRpYyB2b2lkIGJ4dF9kZGlfcGxsX2VuYWJsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkvKiBXcml0ZSBQMSAmIFAyICovCj4g IAl0ZW1wID0gSTkxNV9SRUFEKEJYVF9QT1JUX1BMTF9FQkJfMChwb3J0KSk7Cj4gIAl0ZW1wICY9 IH4oUE9SVF9QTExfUDFfTUFTSyB8IFBPUlRfUExMX1AyX01BU0spOwo+IC0JdGVtcCB8PSBwbGwt PmNvbmZpZy5od19zdGF0ZS5lYmIwOwo+ICsJdGVtcCB8PSBwbGwtPnN0YXRlLmh3X3N0YXRlLmVi YjA7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JUX1BMTF9FQkJfMChwb3J0KSwgdGVtcCk7Cj4gIAo+ ICAJLyogV3JpdGUgTTIgaW50ZWdlciAqLwo+ICAJdGVtcCA9IEk5MTVfUkVBRChCWFRfUE9SVF9Q TEwocG9ydCwgMCkpOwo+ICAJdGVtcCAmPSB+UE9SVF9QTExfTTJfTUFTSzsKPiAtCXRlbXAgfD0g cGxsLT5jb25maWcuaHdfc3RhdGUucGxsMDsKPiArCXRlbXAgfD0gcGxsLT5zdGF0ZS5od19zdGF0 ZS5wbGwwOwo+ICAJSTkxNV9XUklURShCWFRfUE9SVF9QTEwocG9ydCwgMCksIHRlbXApOwo+ICAK PiAgCS8qIFdyaXRlIE4gKi8KPiAgCXRlbXAgPSBJOTE1X1JFQUQoQlhUX1BPUlRfUExMKHBvcnQs IDEpKTsKPiAgCXRlbXAgJj0gflBPUlRfUExMX05fTUFTSzsKPiAtCXRlbXAgfD0gcGxsLT5jb25m aWcuaHdfc3RhdGUucGxsMTsKPiArCXRlbXAgfD0gcGxsLT5zdGF0ZS5od19zdGF0ZS5wbGwxOwo+ ICAJSTkxNV9XUklURShCWFRfUE9SVF9QTEwocG9ydCwgMSksIHRlbXApOwo+ICAKPiAgCS8qIFdy aXRlIE0yIGZyYWN0aW9uICovCj4gIAl0ZW1wID0gSTkxNV9SRUFEKEJYVF9QT1JUX1BMTChwb3J0 LCAyKSk7Cj4gIAl0ZW1wICY9IH5QT1JUX1BMTF9NMl9GUkFDX01BU0s7Cj4gLQl0ZW1wIHw9IHBs bC0+Y29uZmlnLmh3X3N0YXRlLnBsbDI7Cj4gKwl0ZW1wIHw9IHBsbC0+c3RhdGUuaHdfc3RhdGUu cGxsMjsKPiAgCUk5MTVfV1JJVEUoQlhUX1BPUlRfUExMKHBvcnQsIDIpLCB0ZW1wKTsKPiAgCj4g IAkvKiBXcml0ZSBNMiBmcmFjdGlvbiBlbmFibGUgKi8KPiAgCXRlbXAgPSBJOTE1X1JFQUQoQlhU X1BPUlRfUExMKHBvcnQsIDMpKTsKPiAgCXRlbXAgJj0gflBPUlRfUExMX00yX0ZSQUNfRU5BQkxF Owo+IC0JdGVtcCB8PSBwbGwtPmNvbmZpZy5od19zdGF0ZS5wbGwzOwo+ICsJdGVtcCB8PSBwbGwt PnN0YXRlLmh3X3N0YXRlLnBsbDM7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JUX1BMTChwb3J0LCAz KSwgdGVtcCk7Cj4gIAo+ICAJLyogV3JpdGUgY29lZmYgKi8KPiBAQCAtMTM5NSwyNCArMTM5NSwy NCBAQCBzdGF0aWMgdm9pZCBieHRfZGRpX3BsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJdGVtcCAmPSB+UE9SVF9QTExfUFJPUF9DT0VGRl9NQVNLOwo+ICAJ dGVtcCAmPSB+UE9SVF9QTExfSU5UX0NPRUZGX01BU0s7Cj4gIAl0ZW1wICY9IH5QT1JUX1BMTF9H QUlOX0NUTF9NQVNLOwo+IC0JdGVtcCB8PSBwbGwtPmNvbmZpZy5od19zdGF0ZS5wbGw2Owo+ICsJ dGVtcCB8PSBwbGwtPnN0YXRlLmh3X3N0YXRlLnBsbDY7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JU X1BMTChwb3J0LCA2KSwgdGVtcCk7Cj4gIAo+ICAJLyogV3JpdGUgY2FsaWJyYXRpb24gdmFsICov Cj4gIAl0ZW1wID0gSTkxNV9SRUFEKEJYVF9QT1JUX1BMTChwb3J0LCA4KSk7Cj4gIAl0ZW1wICY9 IH5QT1JUX1BMTF9UQVJHRVRfQ05UX01BU0s7Cj4gLQl0ZW1wIHw9IHBsbC0+Y29uZmlnLmh3X3N0 YXRlLnBsbDg7Cj4gKwl0ZW1wIHw9IHBsbC0+c3RhdGUuaHdfc3RhdGUucGxsODsKPiAgCUk5MTVf V1JJVEUoQlhUX1BPUlRfUExMKHBvcnQsIDgpLCB0ZW1wKTsKPiAgCj4gIAl0ZW1wID0gSTkxNV9S RUFEKEJYVF9QT1JUX1BMTChwb3J0LCA5KSk7Cj4gIAl0ZW1wICY9IH5QT1JUX1BMTF9MT0NLX1RI UkVTSE9MRF9NQVNLOwo+IC0JdGVtcCB8PSBwbGwtPmNvbmZpZy5od19zdGF0ZS5wbGw5Owo+ICsJ dGVtcCB8PSBwbGwtPnN0YXRlLmh3X3N0YXRlLnBsbDk7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JU X1BMTChwb3J0LCA5KSwgdGVtcCk7Cj4gIAo+ICAJdGVtcCA9IEk5MTVfUkVBRChCWFRfUE9SVF9Q TEwocG9ydCwgMTApKTsKPiAgCXRlbXAgJj0gflBPUlRfUExMX0RDT19BTVBfT1ZSX0VOX0g7Cj4g IAl0ZW1wICY9IH5QT1JUX1BMTF9EQ09fQU1QX01BU0s7Cj4gLQl0ZW1wIHw9IHBsbC0+Y29uZmln Lmh3X3N0YXRlLnBsbDEwOwo+ICsJdGVtcCB8PSBwbGwtPnN0YXRlLmh3X3N0YXRlLnBsbDEwOwo+ ICAJSTkxNV9XUklURShCWFRfUE9SVF9QTEwocG9ydCwgMTApLCB0ZW1wKTsKPiAgCj4gIAkvKiBS ZWNhbGlicmF0ZSB3aXRoIG5ldyBzZXR0aW5ncyAqLwo+IEBAIC0xNDIwLDcgKzE0MjAsNyBAQCBz dGF0aWMgdm9pZCBieHRfZGRpX3BsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAJdGVtcCB8PSBQT1JUX1BMTF9SRUNBTElCUkFURTsKPiAgCUk5MTVfV1JJVEUo QlhUX1BPUlRfUExMX0VCQl80KHBvcnQpLCB0ZW1wKTsKPiAgCXRlbXAgJj0gflBPUlRfUExMXzEw QklUX0NMS19FTkFCTEU7Cj4gLQl0ZW1wIHw9IHBsbC0+Y29uZmlnLmh3X3N0YXRlLmViYjQ7Cj4g Kwl0ZW1wIHw9IHBsbC0+c3RhdGUuaHdfc3RhdGUuZWJiNDsKPiAgCUk5MTVfV1JJVEUoQlhUX1BP UlRfUExMX0VCQl80KHBvcnQpLCB0ZW1wKTsKPiAgCj4gIAkvKiBFbmFibGUgUExMICovCj4gQEAg LTE0NDAsNyArMTQ0MCw3IEBAIHN0YXRpYyB2b2lkIGJ4dF9kZGlfcGxsX2VuYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAl0ZW1wID0gSTkxNV9SRUFEKEJYVF9QT1JU X1BDU19EVzEyX0xOMDEocG9ydCkpOwo+ICAJdGVtcCAmPSB+TEFORV9TVEFHR0VSX01BU0s7Cj4g IAl0ZW1wICY9IH5MQU5FU1RBR0dFUl9TVFJBUF9PVlJEOwo+IC0JdGVtcCB8PSBwbGwtPmNvbmZp Zy5od19zdGF0ZS5wY3NkdzEyOwo+ICsJdGVtcCB8PSBwbGwtPnN0YXRlLmh3X3N0YXRlLnBjc2R3 MTI7Cj4gIAlJOTE1X1dSSVRFKEJYVF9QT1JUX1BDU19EVzEyX0dSUChwb3J0KSwgdGVtcCk7Cj4g IH0KPiAgCj4gQEAgLTE4OTAsOCArMTg5MCw4IEBAIHZvaWQgaW50ZWxfcmVsZWFzZV9zaGFyZWRf ZHBsbChzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmRwbGwsCj4gIAkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgewo+IC0Jc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyAqc2hhcmVkX2Rw bGxfY29uZmlnOwo+ICsJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX3N0YXRlICpzaGFyZWRfZHBs bF9zdGF0ZTsKPiAgCj4gLQlzaGFyZWRfZHBsbF9jb25maWcgPSBpbnRlbF9hdG9taWNfZ2V0X3No YXJlZF9kcGxsX3N0YXRlKHN0YXRlKTsKPiAtCXNoYXJlZF9kcGxsX2NvbmZpZ1tkcGxsLT5pZF0u Y3J0Y19tYXNrICY9IH4oMSA8PCBjcnRjLT5waXBlKTsKPiArCXNoYXJlZF9kcGxsX3N0YXRlID0g aW50ZWxfYXRvbWljX2dldF9zaGFyZWRfZHBsbF9zdGF0ZShzdGF0ZSk7Cj4gKwlzaGFyZWRfZHBs bF9zdGF0ZVtkcGxsLT5pZF0uY3J0Y19tYXNrICY9IH4oMSA8PCBjcnRjLT5waXBlKTsKPiAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+IGluZGV4IDA2ZDYxYzUuLjZlM2Ew ZjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiBAQCAtOTMsNyAr OTMsNyBAQCBzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSB7Cj4gIAkJIHBjc2R3MTI7Cj4gIH07 Cj4gIAo+IC1zdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnIHsKPiArc3RydWN0IGludGVs X3NoYXJlZF9kcGxsX3N0YXRlIHsKPiAgCXVuc2lnbmVkIGNydGNfbWFzazsgLyogbWFzayBvZiBD UlRDcyBzaGFyaW5nIHRoaXMgUExMICovCj4gIAlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSBo d19zdGF0ZTsKPiAgfTsKPiBAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbF9mdW5jcyB7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgewo+IC0J c3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyBjb25maWc7Cj4gKwlzdHJ1Y3QgaW50ZWxf c2hhcmVkX2RwbGxfc3RhdGUgc3RhdGU7Cj4gIAo+ICAJdW5zaWduZWQgYWN0aXZlX21hc2s7IC8q IG1hc2sgb2YgYWN0aXZlIENSVENzIChpLmUuIERQTVMgb24pICovCj4gIAlib29sIG9uOyAvKiBp cyB0aGUgUExMIGFjdHVhbGx5IGFjdGl2ZT8gRGlzYWJsZWQgZHVyaW5nIG1vZGVzZXQgKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGY0OGU3OWEuLjc4NzRmNjYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0zNTUsNyArMzU1LDcgQEAgc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSB7Cj4gIAkvKiBTS0wvS0JMIE9ubHkgKi8KPiAgCXVuc2lnbmVkIGludCBj ZGNsa19wbGxfdmNvOwo+ICAKPiAtCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgc2hh cmVkX2RwbGxbSTkxNV9OVU1fUExMU107Cj4gKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfc3Rh dGUgc2hhcmVkX2RwbGxbSTkxNV9OVU1fUExMU107Cj4gIAo+ICAJLyoKPiAgCSAqIEN1cnJlbnQg d2F0ZXJtYXJrcyBjYW4ndCBiZSB0cnVzdGVkIGR1cmluZyBoYXJkd2FyZSByZWFkb3V0LCBzbwo+ IEBAIC0xNzk4LDcgKzE3OTgsNyBAQCB2b2lkIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0 YXRlKTsKPiAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmludGVsX2F0b21pY19zdGF0ZV9hbGxv YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgdm9pZCBpbnRlbF9hdG9taWNfc3RhdGVfY2xl YXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKik7Cj4gLXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bF9jb25maWcgKgo+ICtzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfc3RhdGUgKgo+ICBpbnRlbF9h dG9taWNfZ2V0X3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzKTsK PiAgCj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKgo+IC0tIAo+IDIu NS41Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRp b24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==