From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 2/7] drm/i915: Always call the adjusted mode 'adjusted_mode' Date: Thu, 24 Sep 2015 11:01:37 +0300 Message-ID: <1443081697.3303.5.camel@sorvi> References: <1441708851-24646-1-git-send-email-ville.syrjala@linux.intel.com> <1441708851-24646-3-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 087976E675 for ; Thu, 24 Sep 2015 01:00:49 -0700 (PDT) In-Reply-To: <1441708851-24646-3-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 Y29jY2luZWxsZSBkb2VzIGEgZmluZSBqb2Igb24gcmVuYW1pbmcgdGhlIHZhcmlhYmxlcy4gQWx0 aG91Z2gsIGl0IGRvZXMKYnJlYWsgdGhlIHJ1bGUgb2YgODAgY2hhcmFjdGVyIGxpbmUgd2lkdGgu IAoKUmV2aWV3ZWQtYnk6IE1pa2EgS2Fob2xhIDxtaWthLmthaG9sYUBpbnRlbC5jb20+CgpPbiBU dWUsIDIwMTUtMDktMDggYXQgMTM6NDAgKzAzMDAsIHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tIHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gCj4gQWx3YXlzIG5hbWUgYW55IHZhcmlhYmxlIHBvaW50aW5nIGF0IHRoZSBh ZGp1c3RlZCBtb2RlIGFzCj4gJ2FkanVzdGVhZF9tb2RlJy4gVGhpcyB3aWxsIG1ha2UgaXQgbXVj aCBlYXNpZXIgdG8gaWRlbnRpZnkKPiB3aGVuIHdlIHNob3VsZCB1c2UgdGhlIGNydGNfIHRpbWlu Z3MgYW5kIHdoZW4gd2Ugc2hvdWRsbid0Lgo+IAo+IENvbnZlcnNpb24gd2FzIHBlcmZvcm1lZCB3 aXRoIGNvY2NpbmVsbGU6Cj4gQEAKPiBleHByZXNzaW9uIEU7Cj4gaWRlbnRpZmllciBJOwo+IEBA Cj4gLSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqSSA9ICZFLmFkanVzdGVkX21vZGU7Cj4gKyBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZFLmFkanVzdGVkX21vZGU7 Cj4gPC4uLgo+IC0gSQo+ICsgYWRqdXN0ZWRfbW9kZQo+IC4uLj4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jICAgfCAgNyArKysrLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyICsrKysrLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAgfCAxMyArKysrKystLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8ICA5ICsrKy0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAgMyArLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgMTQgKysrKysrLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8ICA4ICsrKystLS0tCj4gIDggZmlsZXMgY2hhbmdlZCwg MzAgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdWRpby5jCj4gaW5kZXggZjczZGUwYi4uY2Y0ZjVkMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfYXVkaW8uYwo+IEBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBpbnRlbF9hdWRpb19jb2Rl Y19lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIHsKPiAgCXN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5iYXNlOwo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0J c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVz dGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZj cnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiBAQCAtNDE5LDEwICs0MTksMTEgQEAgdm9pZCBpbnRlbF9hdWRpb19jb2RlY19lbmFibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIAlpZiAoaW50ZWxfcGlwZV9oYXNf dHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICAJCWNvbm5lY3Rvci0+ZWxk WzVdIHw9ICgxIDw8IDIpOwo+ICAKPiAtCWNvbm5lY3Rvci0+ZWxkWzZdID0gZHJtX2F2X3N5bmNf ZGVsYXkoY29ubmVjdG9yLCBtb2RlKSAvIDI7Cj4gKwljb25uZWN0b3ItPmVsZFs2XSA9IGRybV9h dl9zeW5jX2RlbGF5KGNvbm5lY3RvciwgYWRqdXN0ZWRfbW9kZSkgLyAyOwo+ICAKPiAgCWlmIChk ZXZfcHJpdi0+ZGlzcGxheS5hdWRpb19jb2RlY19lbmFibGUpCj4gLQkJZGV2X3ByaXYtPmRpc3Bs YXkuYXVkaW9fY29kZWNfZW5hYmxlKGNvbm5lY3RvciwgaW50ZWxfZW5jb2RlciwgbW9kZSk7Cj4g KwkJZGV2X3ByaXYtPmRpc3BsYXkuYXVkaW9fY29kZWNfZW5hYmxlKGNvbm5lY3RvciwgaW50ZWxf ZW5jb2RlciwKPiArCQkJCQkJICAgICBhZGp1c3RlZF9tb2RlKTsKPiAgCj4gIAlpZiAoYWNvbXAg JiYgYWNvbXAtPmF1ZGlvX29wcyAmJiBhY29tcC0+YXVkaW9fb3BzLT5waW5fZWxkX25vdGlmeSkK PiAgCQlhY29tcC0+YXVkaW9fb3BzLT5waW5fZWxkX25vdGlmeShhY29tcC0+YXVkaW9fb3BzLT5h dWRpb19wdHIsIChpbnQpIHBvcnQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCBlNjI5YTFiLi5iOGI3NTQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC00MzQ4LDggKzQzNDgsNyBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4gIGludCBz a2xfdXBkYXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSkKPiAg ewo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHN0YXRl LT5iYXNlLmNydGMpOwo+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PQo+IC0JCSZzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUgPSAmc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCj4g IAlEUk1fREVCVUdfS01TKCJVcGRhdGluZyBzY2FsZXIgZm9yIFtDUlRDOiVpXSBzY2FsZXJfdXNl ciBpbmRleCAldS4ldVxuIiwKPiAgCQkgICAgICBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsIGlu dGVsX2NydGMtPnBpcGUsIFNLTF9DUlRDX0lOREVYKTsKPiBAQCAtNzU3NSw4ICs3NTc0LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gIAllbnVt IHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5jb25maWctPmNwdV90cmFu c2NvZGVyOwo+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IC0J CSZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICAJdWludDMyX3QgY3J0Y192dG90YWwsIGNydGNfdmJsYW5rX2VuZDsK PiAgCWludCB2c3luY3NoaWZ0ID0gMDsKPiAgCj4gQEAgLTEyNzY3LDExICsxMjc2NSwxMSBAQCBz dGF0aWMgdm9pZCB1cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KQo+ICAJICogb25lIHRvIHRoZSB2YWx1ZS4KPiAgCSAqLwo+ICAJaWYgKElTX0dFTjIoZGV2KSkg ewo+IC0JCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmNydGMtPmNvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICphZGp1c3RlZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJ CWludCB2dG90YWw7Cj4gIAo+IC0JCXZ0b3RhbCA9IG1vZGUtPmNydGNfdnRvdGFsOwo+IC0JCWlm IChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ICsJCXZ0b3RhbCA9IGFk anVzdGVkX21vZGUtPmNydGNfdnRvdGFsOwo+ICsJCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAm IERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ICAJCQl2dG90YWwgLz0gMjsKPiAgCj4gIAkJY3J0 Yy0+c2NhbmxpbmVfb2Zmc2V0ID0gdnRvdGFsIC0gMTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2ku Ywo+IGluZGV4IDc4MWMyNjcuLjBjMjZiYTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2ku Ywo+IEBAIC03NTksOCArNzU5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZXBhcmUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+ICAJc3RydWN0IGlu dGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKPiAtCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmaW50ZWxfY3J0Yy0+Y29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAg CWVudW0gcG9ydCBwb3J0Owo+ICAJdW5zaWduZWQgaW50IGJwcCA9IGludGVsX2NydGMtPmNvbmZp Zy0+cGlwZV9icHA7Cj4gIAl1MzIgdmFsLCB0bXA7Cj4gQEAgLTg0MiwxNCArODQxLDE0IEBAIHN0 YXRpYyB2b2lkIGludGVsX2RzaV9wcmVwYXJlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9l bmNvZGVyKQo+ICAJCQlpbnRlbF9kc2ktPnZpZGVvX21vZGVfZm9ybWF0ID09IFZJREVPX01PREVf QlVSU1QpIHsKPiAgCQkJSTkxNV9XUklURShNSVBJX0hTX1RYX1RJTUVPVVQocG9ydCksCj4gIAkJ CQl0eGJ5dGVjbGtocyhhZGp1c3RlZF9tb2RlLT5odG90YWwsIGJwcCwKPiAtCQkJCQlpbnRlbF9k c2ktPmxhbmVfY291bnQsCj4gLQkJCQkJaW50ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvKSArIDEp Owo+ICsJCQkJCSAgICBpbnRlbF9kc2ktPmxhbmVfY291bnQsCj4gKwkJCQkJICAgIGludGVsX2Rz aS0+YnVyc3RfbW9kZV9yYXRpbykgKyAxKTsKPiAgCQl9IGVsc2Ugewo+ICAJCQlJOTE1X1dSSVRF KE1JUElfSFNfVFhfVElNRU9VVChwb3J0KSwKPiAgCQkJCXR4Ynl0ZWNsa2hzKGFkanVzdGVkX21v ZGUtPnZ0b3RhbCAqCj4gLQkJCQkJYWRqdXN0ZWRfbW9kZS0+aHRvdGFsLAo+IC0JCQkJCWJwcCwg aW50ZWxfZHNpLT5sYW5lX2NvdW50LAo+IC0JCQkJCWludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRp bykgKyAxKTsKPiArCQkJCQkgICAgYWRqdXN0ZWRfbW9kZS0+aHRvdGFsLAo+ICsJCQkJCSAgICBi cHAsIGludGVsX2RzaS0+bGFuZV9jb3VudCwKPiArCQkJCQkgICAgaW50ZWxfZHNpLT5idXJzdF9t b2RlX3JhdGlvKSArIDEpOwo+ICAJCX0KPiAgCQlJOTE1X1dSSVRFKE1JUElfTFBfUlhfVElNRU9V VChwb3J0KSwgaW50ZWxfZHNpLT5scF9yeF90aW1lb3V0KTsKPiAgCQlJOTE1X1dSSVRFKE1JUElf VFVSTl9BUk9VTkRfVElNRU9VVChwb3J0KSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4g aW5kZXggZmViMzFkOC4uMGIyNTZjOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK PiBAQCAtMTUyMyw4ICsxNTIzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9wcmVfZW5hYmxl KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfaGRt aSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKPiAgCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNl LmNydGMpOwo+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IC0J CSZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICAKPiAgCWludGVsX2hkbWlfcHJlcGFyZShlbmNvZGVyKTsKPiAgCj4g QEAgLTE1NDEsOCArMTU0MCw3IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9lbmFibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPQo+ICAJCXRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiAtCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmaW50ZWxfY3J0Yy0+Y29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAg CWVudW0gZHBpb19jaGFubmVsIHBvcnQgPSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7Cj4g IAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gIAl1MzIgdmFsOwo+IEBAIC0xODA4LDgg KzE4MDYsNyBAQCBzdGF0aWMgdm9pZCBjaHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KPiAg CQl0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gLQkJJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PSAmaW50ZWxfY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAllbnVtIGRwaW9f Y2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKPiAgCWludCBwaXBlID0g aW50ZWxfY3J0Yy0+cGlwZTsKPiAgCWludCBkYXRhLCBpLCBzdGFnZ2VyOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMKPiBpbmRleCAyYzJkMWYwLi41ZTcwYWNmIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2x2ZHMuYwo+IEBAIC0xMzksOCArMTM5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf cHJlX2VuYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+IC0JY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IC0JCSZjcnRjLT5jb25m aWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICphZGp1c3RlZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJ aW50IHBpcGUgPSBjcnRjLT5waXBlOwo+ICAJdTMyIHRlbXA7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwo+IGluZGV4IDY0YmM3N2UuLjdhYTlhNGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiBAQCAtMTUwMCw4ICsxNTAwLDcgQEAgc3RhdGljIHZvaWQgaTk2NV91cGRhdGVfd20o c3RydWN0IGRybV9jcnRjICp1bnVzZWRfY3J0YykKPiAgCWlmIChjcnRjKSB7Cj4gIAkJLyogc2Vs Zi1yZWZyZXNoIGhhcyBtdWNoIGhpZ2hlciBsYXRlbmN5ICovCj4gIAkJc3RhdGljIGNvbnN0IGlu dCBzcl9sYXRlbmN5X25zID0gMTIwMDA7Cj4gLQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUgPQo+IC0JCQkmdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5i YXNlLmFkanVzdGVkX21vZGU7Cj4gKwkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUgPSAmdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4gIAkJaW50IGNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jazsKPiAgCQlp bnQgaHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7Cj4gIAkJaW50IGhkaXNwbGF5 ID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5waXBlX3NyY193Owo+IEBAIC0xNjQ4LDgg KzE2NDcsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2NydGMgKnVu dXNlZF9jcnRjKQo+ICAJaWYgKEhBU19GV19CTEMoZGV2KSAmJiBlbmFibGVkKSB7Cj4gIAkJLyog c2VsZi1yZWZyZXNoIGhhcyBtdWNoIGhpZ2hlciBsYXRlbmN5ICovCj4gIAkJc3RhdGljIGNvbnN0 IGludCBzcl9sYXRlbmN5X25zID0gNjAwMDsKPiAtCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gLQkJCSZ0b19pbnRlbF9jcnRjKGVuYWJsZWQpLT5jb25m aWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9ICZ0b19pbnRlbF9jcnRjKGVuYWJsZWQpLT5jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZTsKPiAgCQlpbnQgY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr Owo+ICAJCWludCBodG90YWwgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbDsKPiAgCQlpbnQg aGRpc3BsYXkgPSB0b19pbnRlbF9jcnRjKGVuYWJsZWQpLT5jb25maWctPnBpcGVfc3JjX3c7Cj4g QEAgLTIwODYsNyArMjA4NCw3IEBAIGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlID0gJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmaW50ZWxf Y3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAl1MzIgbGluZXRpbWUsIGlwc19s aW5ldGltZTsKPiAgCj4gIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiBAQCAtMjA5NSw5ICsy MDkzLDkgQEAgaHN3X2NvbXB1dGVfbGluZXRpbWVfd20oc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJLyogVGhlIFdNIGFyZSBjb21wdXRlZCB3aXRoIGJh c2Ugb24gaG93IGxvbmcgaXQgdGFrZXMgdG8gZmlsbCBhIHNpbmdsZQo+ICAJICogcm93IGF0IHRo ZSBnaXZlbiBjbG9jayByYXRlLCBtdWx0aXBsaWVkIGJ5IDguCj4gIAkgKiAqLwo+IC0JbGluZXRp bWUgPSBESVZfUk9VTkRfQ0xPU0VTVChtb2RlLT5jcnRjX2h0b3RhbCAqIDEwMDAgKiA4LAo+IC0J CQkJICAgICBtb2RlLT5jcnRjX2Nsb2NrKTsKPiAtCWlwc19saW5ldGltZSA9IERJVl9ST1VORF9D TE9TRVNUKG1vZGUtPmNydGNfaHRvdGFsICogMTAwMCAqIDgsCj4gKwlsaW5ldGltZSA9IERJVl9S T1VORF9DTE9TRVNUKGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsICogMTAwMCAqIDgsCj4gKwkJ CQkgICAgIGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2spOwo+ICsJaXBzX2xpbmV0aW1lID0gRElW X1JPVU5EX0NMT1NFU1QoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWwgKiAxMDAwICogOCwKPiAg CQkJCQkgZGV2X3ByaXYtPmNkY2xrX2ZyZXEpOwo+ICAKPiAgCXJldHVybiBQSVBFX1dNX0xJTkVU SU1FX0lQU19MSU5FVElNRShpcHNfbGluZXRpbWUpIHwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2 by5jCj4gaW5kZXggY2EzZGQ3Yy4uM2E3MGMyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMKPiBAQCAtMTE4OSw4ICsxMTg5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2R2b19wcmVf ZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2VuY29kZXItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhpbnRlbF9lbmNvZGVyLT5iYXNlLmNydGMpOwo+ IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IC0JCSZjcnRjLT5j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph ZGp1c3RlZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Yy0+Y29uZmlnLT5iYXNlLm1vZGU7Cj4g IAlzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2byA9IHRvX3Nkdm8oaW50ZWxfZW5jb2Rlcik7 Cj4gIAl1MzIgc2R2b3g7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCBj YTdlMjY0Li5hNWU1OTliIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBA QCAtNzksMTkgKzc5LDE5IEBAIHN0YXRpYyBpbnQgdXNlY3NfdG9fc2NhbmxpbmVzKGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLCBpbnQgdXNlY3MpCj4gIHZvaWQgaW50ZWxfcGlw ZV91cGRhdGVfc3RhcnQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAtCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmY3J0Yy0+Y29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7 Cj4gIAlsb25nIHRpbWVvdXQgPSBtc2Vjc190b19qaWZmaWVzX3RpbWVvdXQoMSk7Cj4gIAlpbnQg c2NhbmxpbmUsIG1pbiwgbWF4LCB2Ymxhbmtfc3RhcnQ7Cj4gIAl3YWl0X3F1ZXVlX2hlYWRfdCAq d3EgPSBkcm1fY3J0Y192Ymxhbmtfd2FpdHF1ZXVlKCZjcnRjLT5iYXNlKTsKPiAgCURFRklORV9X QUlUKHdhaXQpOwo+ICAKPiAtCXZibGFua19zdGFydCA9IG1vZGUtPmNydGNfdmJsYW5rX3N0YXJ0 Owo+IC0JaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpCj4gKwl2Ymxh bmtfc3RhcnQgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZibGFua19zdGFydDsKPiArCWlmIChhZGp1 c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ICAJCXZibGFua19z dGFydCA9IERJVl9ST1VORF9VUCh2Ymxhbmtfc3RhcnQsIDIpOwo+ICAKPiAgCS8qIEZJWE1FIG5l ZWRzIHRvIGJlIGNhbGlicmF0ZWQgc2Vuc2libHkgKi8KPiAtCW1pbiA9IHZibGFua19zdGFydCAt IHVzZWNzX3RvX3NjYW5saW5lcyhtb2RlLCAxMDApOwo+ICsJbWluID0gdmJsYW5rX3N0YXJ0IC0g dXNlY3NfdG9fc2NhbmxpbmVzKGFkanVzdGVkX21vZGUsIDEwMCk7Cj4gIAltYXggPSB2Ymxhbmtf c3RhcnQgLSAxOwo+ICAKPiAgCWxvY2FsX2lycV9kaXNhYmxlKCk7CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK