From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH v2 3/7] drm/i915: s/mode/adjusted_mode/ in functions that really get passed the adjusted_mode Date: Mon, 28 Sep 2015 15:15:38 +0300 Message-ID: <1443442538.2922.0.camel@sorvi> References: <1441708851-24646-4-git-send-email-ville.syrjala@linux.intel.com> <1443188263-2221-1-git-send-email-ville.syrjala@linux.intel.com> Reply-To: mika.kahola@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 884407207B for ; Mon, 28 Sep 2015 05:14:34 -0700 (PDT) In-Reply-To: <1443188263-2221-1-git-send-email-ville.syrjala@linux.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.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmV2aWV3ZWQtYnk6IE1pa2EgS2Fob2xhIDxtaWthLmthaG9sYUBpbnRlbC5jb20+CgpPbiBGcmks IDIwMTUtMDktMjUgYXQgMTY6MzcgKzAzMDAsIHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Cj4gCj4gUmVuYW1lIHRoZSBmdW5jdGlvbiBhcmd1bWVudCB0byAnYWRqdXN0ZWRfbW9k ZScgd2hlbmV2ZXIgdGhlIGZ1bmN0aW9uCj4gb25seSBldmVyIGdldHMgcGFzc2VkIHRoZSBhZGp1 c3RlZF9tb2RlLgo+IAo+IHYyOiBVcGRhdGUgZHVlIHRvIGludGVsX2RzaS5jIGNoYW5nZXMKPiAK PiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgIHwgMTcgKysrKysrKysr LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgfCAyMiArKysr KysrKysrKy0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMg IHwgMzYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgIHwgIDYgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Nwcml0ZS5jIHwgIDggKysrKystLS0KPiAgNiBmaWxlcyBjaGFuZ2VkLCA0NyBp bnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBpbmRleCAyYjVkNTg3Li5kMWU4MDBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g QEAgLTY0Niw3ICs2NDYsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5jcyB7Cj4gIAl2 b2lkICgqY3J0Y19kaXNhYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICAJdm9pZCAoKmF1 ZGlvX2NvZGVjX2VuYWJsZSkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJ CSAgIHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkJICAgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUpOwo+ICsJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUpOwo+ICAJdm9pZCAoKmF1ZGlvX2NvZGVjX2Rpc2FibGUpKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiAgCXZvaWQgKCpmZGlfbGlua190cmFpbikoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiAgCXZvaWQgKCppbml0X2Nsb2NrX2dhdGluZykoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gaW5kZXgg ZDk4NzZjNS4uNzc5ZjkwYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+IEBA IC02OSwxNyArNjksMTggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7Cj4gIH07Cj4gIAo+ICAvKiBn ZXQgQVVEX0NPTkZJR19QSVhFTF9DTE9DS19IRE1JXyogdmFsdWUgZm9yIG1vZGUgKi8KPiAtc3Rh dGljIHUzMiBhdWRpb19jb25maWdfaGRtaV9waXhlbF9jbG9jayhzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiArc3RhdGljIHUzMiBhdWRpb19jb25maWdfaGRtaV9waXhlbF9jbG9jayhj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiAgewo+ICAJaW50 IGk7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaGRtaV9hdWRpb19jbG9jayk7 IGkrKykgewo+IC0JCWlmIChtb2RlLT5jbG9jayA9PSBoZG1pX2F1ZGlvX2Nsb2NrW2ldLmNsb2Nr KQo+ICsJCWlmIChhZGp1c3RlZF9tb2RlLT5jbG9jayA9PSBoZG1pX2F1ZGlvX2Nsb2NrW2ldLmNs b2NrKQo+ICAJCQlicmVhazsKPiAgCX0KPiAgCj4gIAlpZiAoaSA9PSBBUlJBWV9TSVpFKGhkbWlf YXVkaW9fY2xvY2spKSB7Cj4gLQkJRFJNX0RFQlVHX0tNUygiSERNSSBhdWRpbyBwaXhlbCBjbG9j ayBzZXR0aW5nIGZvciAlZCBub3QgZm91bmQsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0c1xuIiwg bW9kZS0+Y2xvY2spOwo+ICsJCURSTV9ERUJVR19LTVMoIkhETUkgYXVkaW8gcGl4ZWwgY2xvY2sg c2V0dGluZyBmb3IgJWQgbm90IGZvdW5kLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdHNcbiIsCj4g KwkJCSAgICAgIGFkanVzdGVkX21vZGUtPmNsb2NrKTsKPiAgCQlpID0gMTsKPiAgCX0KPiAgCj4g QEAgLTEzOCw3ICsxMzksNyBAQCBzdGF0aWMgdm9pZCBnNHhfYXVkaW9fY29kZWNfZGlzYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCj4gIHN0YXRpYyB2b2lkIGc0eF9hdWRp b19jb2RlY19lbmFibGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJCSAg IHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkJICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJdWludDhfdCAqZWxkID0gY29ubmVj dG9yLT5lbGQ7Cj4gQEAgLTIwMyw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCBoc3dfYXVkaW9fY29k ZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCj4gIHN0YXRpYyB2 b2lkIGhzd19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiAgCQkJCSAgIHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkJICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7 Cj4gQEAgLTI1MSw3ICsyNTIsNyBAQCBzdGF0aWMgdm9pZCBoc3dfYXVkaW9fY29kZWNfZW5hYmxl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAlpZiAoaW50ZWxfcGlwZV9oYXNf dHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICAJCXRtcCB8PSBB VURfQ09ORklHX05fVkFMVUVfSU5ERVg7Cj4gIAllbHNlCj4gLQkJdG1wIHw9IGF1ZGlvX2NvbmZp Z19oZG1pX3BpeGVsX2Nsb2NrKG1vZGUpOwo+ICsJCXRtcCB8PSBhdWRpb19jb25maWdfaGRtaV9w aXhlbF9jbG9jayhhZGp1c3RlZF9tb2RlKTsKPiAgCUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcocGlw ZSksIHRtcCk7Cj4gIH0KPiAgCj4gQEAgLTMwNCw3ICszMDUsNyBAQCBzdGF0aWMgdm9pZCBpbGtf YXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCj4g IHN0YXRpYyB2b2lkIGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPiAgCQkJCSAgIHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0J CQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gKwkJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiAgewo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJh c2UuY3J0Yyk7Cj4gQEAgLTM4MSw3ICszODIsNyBAQCBzdGF0aWMgdm9pZCBpbGtfYXVkaW9fY29k ZWNfZW5hYmxlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAlpZiAoaW50ZWxf cGlwZV9oYXNfdHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICAJ CXRtcCB8PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7Cj4gIAllbHNlCj4gLQkJdG1wIHw9IGF1 ZGlvX2NvbmZpZ19oZG1pX3BpeGVsX2Nsb2NrKG1vZGUpOwo+ICsJCXRtcCB8PSBhdWRpb19jb25m aWdfaGRtaV9waXhlbF9jbG9jayhhZGp1c3RlZF9tb2RlKTsKPiAgCUk5MTVfV1JJVEUoYXVkX2Nv bmZpZywgdG1wKTsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+IGluZGV4IDIz YjdmYzUuLmI0ZDUyMTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+IEBAIC02OTgs NyArNjk4LDcgQEAgc3RhdGljIHUxNiB0eGJ5dGVjbGtocyh1MTYgcGl4ZWxzLCBpbnQgYnBwLCBp bnQgbGFuZV9jb3VudCwKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgc2V0X2RzaV90aW1pbmdzKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAtCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKQo+ICsJCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+IEBAIC03MTAsMTAgKzcxMCwxMCBAQCBzdGF0aWMgdm9pZCBzZXRfZHNpX3RpbWlu Z3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCXUxNiBoYWN0aXZlLCBoZnAs IGhzeW5jLCBoYnAsIHZmcCwgdnN5bmMsIHZicDsKPiAgCj4gLQloYWN0aXZlID0gbW9kZS0+aGRp c3BsYXk7Cj4gLQloZnAgPSBtb2RlLT5oc3luY19zdGFydCAtIG1vZGUtPmhkaXNwbGF5Owo+IC0J aHN5bmMgPSBtb2RlLT5oc3luY19lbmQgLSBtb2RlLT5oc3luY19zdGFydDsKPiAtCWhicCA9IG1v ZGUtPmh0b3RhbCAtIG1vZGUtPmhzeW5jX2VuZDsKPiArCWhhY3RpdmUgPSBhZGp1c3RlZF9tb2Rl LT5oZGlzcGxheTsKPiArCWhmcCA9IGFkanVzdGVkX21vZGUtPmhzeW5jX3N0YXJ0IC0gYWRqdXN0 ZWRfbW9kZS0+aGRpc3BsYXk7Cj4gKwloc3luYyA9IGFkanVzdGVkX21vZGUtPmhzeW5jX2VuZCAt IGFkanVzdGVkX21vZGUtPmhzeW5jX3N0YXJ0Owo+ICsJaGJwID0gYWRqdXN0ZWRfbW9kZS0+aHRv dGFsIC0gYWRqdXN0ZWRfbW9kZS0+aHN5bmNfZW5kOwo+ICAKPiAgCWlmIChpbnRlbF9kc2ktPmR1 YWxfbGluaykgewo+ICAJCWhhY3RpdmUgLz0gMjsKPiBAQCAtNzI0LDkgKzcyNCw5IEBAIHN0YXRp YyB2b2lkIHNldF9kc2lfdGltaW5ncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJ aGJwIC89IDI7Cj4gIAl9Cj4gIAo+IC0JdmZwID0gbW9kZS0+dnN5bmNfc3RhcnQgLSBtb2RlLT52 ZGlzcGxheTsKPiAtCXZzeW5jID0gbW9kZS0+dnN5bmNfZW5kIC0gbW9kZS0+dnN5bmNfc3RhcnQ7 Cj4gLQl2YnAgPSBtb2RlLT52dG90YWwgLSBtb2RlLT52c3luY19lbmQ7Cj4gKwl2ZnAgPSBhZGp1 c3RlZF9tb2RlLT52c3luY19zdGFydCAtIGFkanVzdGVkX21vZGUtPnZkaXNwbGF5Owo+ICsJdnN5 bmMgPSBhZGp1c3RlZF9tb2RlLT52c3luY19lbmQgLSBhZGp1c3RlZF9tb2RlLT52c3luY19zdGFy dDsKPiArCXZicCA9IGFkanVzdGVkX21vZGUtPnZ0b3RhbCAtIGFkanVzdGVkX21vZGUtPnZzeW5j X2VuZDsKPiAgCj4gIAkvKiBob3Jpem9udGFsIHZhbHVlcyBhcmUgaW4gdGVybXMgb2YgaGlnaCBz cGVlZCBieXRlIGNsb2NrICovCj4gIAloYWN0aXZlID0gdHhieXRlY2xraHMoaGFjdGl2ZSwgYnBw LCBsYW5lX2NvdW50LAo+IEBAIC03NDUsMTEgKzc0NSwxMSBAQCBzdGF0aWMgdm9pZCBzZXRfZHNp X3RpbWluZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkgKiB3aGVyZWFzIHRo ZXNlIHZhbHVlcyBzaG91bGQgYmUgYmFzZWQgb24gcmVzb2x1dGlvbi4KPiAgCQkJICovCj4gIAkJ CUk5MTVfV1JJVEUoQlhUX01JUElfVFJBTlNfSEFDVElWRShwb3J0KSwKPiAtCQkJCQltb2RlLT5o ZGlzcGxheSk7Cj4gKwkJCQkgICBhZGp1c3RlZF9tb2RlLT5oZGlzcGxheSk7Cj4gIAkJCUk5MTVf V1JJVEUoQlhUX01JUElfVFJBTlNfVkFDVElWRShwb3J0KSwKPiAtCQkJCQltb2RlLT52ZGlzcGxh eSk7Cj4gKwkJCQkgICBhZGp1c3RlZF9tb2RlLT52ZGlzcGxheSk7Cj4gIAkJCUk5MTVfV1JJVEUo QlhUX01JUElfVFJBTlNfVlRPVEFMKHBvcnQpLAo+IC0JCQkJCW1vZGUtPnZ0b3RhbCk7Cj4gKwkJ CQkgICBhZGp1c3RlZF9tb2RlLT52dG90YWwpOwo+ICAJCX0KPiAgCj4gIAkJSTkxNV9XUklURShN SVBJX0hBQ1RJVkVfQVJFQV9DT1VOVChwb3J0KSwgaGFjdGl2ZSk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wYW5lbC5jCj4gaW5kZXggMmMxMWI0ZS4uNDI5NGY2MDUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMKPiBAQCAtMTcyLDQ2ICsxNzIsNDYgQEAgZG9uZToKPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQKPiAtY2VudHJlX2hvcml6b250YWxseShzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPiArY2VudHJlX2hvcml6b250YWxseShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSwKPiAgCQkgICAgaW50IHdpZHRoKQo+ICB7Cj4gIAl1MzIgYm9yZGVy LCBzeW5jX3BvcywgYmxhbmtfd2lkdGgsIHN5bmNfd2lkdGg7Cj4gIAo+ICAJLyoga2VlcCB0aGUg aHN5bmMgYW5kIGhibGFuayB3aWR0aHMgY29uc3RhbnQgKi8KPiAtCXN5bmNfd2lkdGggPSBtb2Rl LT5jcnRjX2hzeW5jX2VuZCAtIG1vZGUtPmNydGNfaHN5bmNfc3RhcnQ7Cj4gLQlibGFua193aWR0 aCA9IG1vZGUtPmNydGNfaGJsYW5rX2VuZCAtIG1vZGUtPmNydGNfaGJsYW5rX3N0YXJ0Owo+ICsJ c3luY193aWR0aCA9IGFkanVzdGVkX21vZGUtPmNydGNfaHN5bmNfZW5kIC0gYWRqdXN0ZWRfbW9k ZS0+Y3J0Y19oc3luY19zdGFydDsKPiArCWJsYW5rX3dpZHRoID0gYWRqdXN0ZWRfbW9kZS0+Y3J0 Y19oYmxhbmtfZW5kIC0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oYmxhbmtfc3RhcnQ7Cj4gIAlzeW5j X3BvcyA9IChibGFua193aWR0aCAtIHN5bmNfd2lkdGggKyAxKSAvIDI7Cj4gIAo+IC0JYm9yZGVy ID0gKG1vZGUtPmhkaXNwbGF5IC0gd2lkdGggKyAxKSAvIDI7Cj4gKwlib3JkZXIgPSAoYWRqdXN0 ZWRfbW9kZS0+aGRpc3BsYXkgLSB3aWR0aCArIDEpIC8gMjsKPiAgCWJvcmRlciArPSBib3JkZXIg JiAxOyAvKiBtYWtlIHRoZSBib3JkZXIgZXZlbiAqLwo+ICAKPiAtCW1vZGUtPmNydGNfaGRpc3Bs YXkgPSB3aWR0aDsKPiAtCW1vZGUtPmNydGNfaGJsYW5rX3N0YXJ0ID0gd2lkdGggKyBib3JkZXI7 Cj4gLQltb2RlLT5jcnRjX2hibGFua19lbmQgPSBtb2RlLT5jcnRjX2hibGFua19zdGFydCArIGJs YW5rX3dpZHRoOwo+ICsJYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA9IHdpZHRoOwo+ICsJ YWRqdXN0ZWRfbW9kZS0+Y3J0Y19oYmxhbmtfc3RhcnQgPSB3aWR0aCArIGJvcmRlcjsKPiArCWFk anVzdGVkX21vZGUtPmNydGNfaGJsYW5rX2VuZCA9IGFkanVzdGVkX21vZGUtPmNydGNfaGJsYW5r X3N0YXJ0ICsgYmxhbmtfd2lkdGg7Cj4gIAo+IC0JbW9kZS0+Y3J0Y19oc3luY19zdGFydCA9IG1v ZGUtPmNydGNfaGJsYW5rX3N0YXJ0ICsgc3luY19wb3M7Cj4gLQltb2RlLT5jcnRjX2hzeW5jX2Vu ZCA9IG1vZGUtPmNydGNfaHN5bmNfc3RhcnQgKyBzeW5jX3dpZHRoOwo+ICsJYWRqdXN0ZWRfbW9k ZS0+Y3J0Y19oc3luY19zdGFydCA9IGFkanVzdGVkX21vZGUtPmNydGNfaGJsYW5rX3N0YXJ0ICsg c3luY19wb3M7Cj4gKwlhZGp1c3RlZF9tb2RlLT5jcnRjX2hzeW5jX2VuZCA9IGFkanVzdGVkX21v ZGUtPmNydGNfaHN5bmNfc3RhcnQgKyBzeW5jX3dpZHRoOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9p ZAo+IC1jZW50cmVfdmVydGljYWxseShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAr Y2VudHJlX3ZlcnRpY2FsbHkoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUs Cj4gIAkJICBpbnQgaGVpZ2h0KQo+ICB7Cj4gIAl1MzIgYm9yZGVyLCBzeW5jX3BvcywgYmxhbmtf d2lkdGgsIHN5bmNfd2lkdGg7Cj4gIAo+ICAJLyoga2VlcCB0aGUgdnN5bmMgYW5kIHZibGFuayB3 aWR0aHMgY29uc3RhbnQgKi8KPiAtCXN5bmNfd2lkdGggPSBtb2RlLT5jcnRjX3ZzeW5jX2VuZCAt IG1vZGUtPmNydGNfdnN5bmNfc3RhcnQ7Cj4gLQlibGFua193aWR0aCA9IG1vZGUtPmNydGNfdmJs YW5rX2VuZCAtIG1vZGUtPmNydGNfdmJsYW5rX3N0YXJ0Owo+ICsJc3luY193aWR0aCA9IGFkanVz dGVkX21vZGUtPmNydGNfdnN5bmNfZW5kIC0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19zdGFy dDsKPiArCWJsYW5rX3dpZHRoID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y192YmxhbmtfZW5kIC0gYWRq dXN0ZWRfbW9kZS0+Y3J0Y192Ymxhbmtfc3RhcnQ7Cj4gIAlzeW5jX3BvcyA9IChibGFua193aWR0 aCAtIHN5bmNfd2lkdGggKyAxKSAvIDI7Cj4gIAo+IC0JYm9yZGVyID0gKG1vZGUtPnZkaXNwbGF5 IC0gaGVpZ2h0ICsgMSkgLyAyOwo+ICsJYm9yZGVyID0gKGFkanVzdGVkX21vZGUtPnZkaXNwbGF5 IC0gaGVpZ2h0ICsgMSkgLyAyOwo+ICAKPiAtCW1vZGUtPmNydGNfdmRpc3BsYXkgPSBoZWlnaHQ7 Cj4gLQltb2RlLT5jcnRjX3ZibGFua19zdGFydCA9IGhlaWdodCArIGJvcmRlcjsKPiAtCW1vZGUt PmNydGNfdmJsYW5rX2VuZCA9IG1vZGUtPmNydGNfdmJsYW5rX3N0YXJ0ICsgYmxhbmtfd2lkdGg7 Cj4gKwlhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5ID0gaGVpZ2h0Owo+ICsJYWRqdXN0ZWRf bW9kZS0+Y3J0Y192Ymxhbmtfc3RhcnQgPSBoZWlnaHQgKyBib3JkZXI7Cj4gKwlhZGp1c3RlZF9t b2RlLT5jcnRjX3ZibGFua19lbmQgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZibGFua19zdGFydCAr IGJsYW5rX3dpZHRoOwo+ICAKPiAtCW1vZGUtPmNydGNfdnN5bmNfc3RhcnQgPSBtb2RlLT5jcnRj X3ZibGFua19zdGFydCArIHN5bmNfcG9zOwo+IC0JbW9kZS0+Y3J0Y192c3luY19lbmQgPSBtb2Rl LT5jcnRjX3ZzeW5jX3N0YXJ0ICsgc3luY193aWR0aDsKPiArCWFkanVzdGVkX21vZGUtPmNydGNf dnN5bmNfc3RhcnQgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZibGFua19zdGFydCArIHN5bmNfcG9z Owo+ICsJYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19lbmQgPSBhZGp1c3RlZF9tb2RlLT5jcnRj X3ZzeW5jX3N0YXJ0ICsgc3luY193aWR0aDsKPiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSB1MzIg cGFuZWxfZml0dGVyX3NjYWxpbmcodTMyIHNvdXJjZSwgdTMyIHRhcmdldCkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc2R2by5jCj4gaW5kZXggYjBiOTZmZC4uYWI3NWI2MSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMKPiBAQCAtNjAzLDExICs2MDMsMTEgQEAgbG9nX2ZhaWw6Cj4gIAly ZXR1cm4gZmFsc2U7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgaW50ZWxfc2R2b19nZXRfcGl4ZWxf bXVsdGlwbGllcihzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArc3RhdGljIGludCBp bnRlbF9zZHZvX2dldF9waXhlbF9tdWx0aXBsaWVyKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICphZGp1c3RlZF9tb2RlKQo+ICB7Cj4gLQlpZiAobW9kZS0+Y2xvY2sgPj0gMTAwMDAwKQo+ ICsJaWYgKGFkanVzdGVkX21vZGUtPmNsb2NrID49IDEwMDAwMCkKPiAgCQlyZXR1cm4gMTsKPiAt CWVsc2UgaWYgKG1vZGUtPmNsb2NrID49IDUwMDAwKQo+ICsJZWxzZSBpZiAoYWRqdXN0ZWRfbW9k ZS0+Y2xvY2sgPj0gNTAwMDApCj4gIAkJcmV0dXJuIDI7Cj4gIAllbHNlCj4gIAkJcmV0dXJuIDQ7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCA4MjE4MDQwLi5iMjI5YzY3 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBAQCAtNTMsMTMgKzUzLDE1 IEBAIGZvcm1hdF9pc195dXYodWludDMyX3QgZm9ybWF0KQo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0 aWMgaW50IHVzZWNzX3RvX3NjYW5saW5lcyhjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSwgaW50IHVzZWNzKQo+ICtzdGF0aWMgaW50IHVzZWNzX3RvX3NjYW5saW5lcyhjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSwKPiArCQkJICAgICAgaW50IHVz ZWNzKQo+ICB7Cj4gIAkvKiBwYXJhbm9pYSAqLwo+IC0JaWYgKCFtb2RlLT5jcnRjX2h0b3RhbCkK PiArCWlmICghYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWwpCj4gIAkJcmV0dXJuIDE7Cj4gIAo+ IC0JcmV0dXJuIERJVl9ST1VORF9VUCh1c2VjcyAqIG1vZGUtPmNydGNfY2xvY2ssIDEwMDAgKiBt b2RlLT5jcnRjX2h0b3RhbCk7Cj4gKwlyZXR1cm4gRElWX1JPVU5EX1VQKHVzZWNzICogYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19jbG9jaywKPiArCQkJICAgIDEwMDAgKiBhZGp1c3RlZF9tb2RlLT5jcnRj X2h0b3RhbCk7Cj4gIH0KPiAgCj4gIC8qKgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==