From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 02/13] drm/i915: Make panel fitter functions take state Date: Wed, 3 Oct 2018 16:59:12 +0300 Message-ID: <20181003135912.GU9144@intel.com> References: <20181003133715.3713-1-maarten.lankhorst@linux.intel.com> <20181003133715.3713-3-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1FF996E19C for ; Wed, 3 Oct 2018 13:59:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181003133715.3713-3-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMDMsIDIwMTggYXQgMDM6Mzc6MDRQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgOTEgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUg Y2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDI2NGZlZWQ3NmMwOC4uNzAxY2FhYjRlMzgy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xNTgsOSArMTU4 LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRj ICosIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqKTsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZmluaXNo X2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqLCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKik7 Cj4gIHN0YXRpYyB2b2lkIGludGVsX2NydGNfaW5pdF9zY2FsZXJzKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLAo+ICAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiAtc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 Yyk7Cj4gLXN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywgYm9vbCBmb3JjZSk7Cj4gLXN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiArc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2Vu YWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gK3N0YXRp YyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUpOwo+ICtzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJsZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIHN0YXRpYyB2b2lk IGludGVsX21vZGVzZXRfc2V0dXBfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg CQkJCQkgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwo+ICBzdGF0aWMgdm9p ZCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7Cj4gQEAgLTM5MTksMTIgKzM5MTksMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3Bp cGVfY29uZmlnKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGEKPiAg CQlza2xfZGV0YWNoX3NjYWxlcnMoY3J0Yyk7Cj4gIAo+ICAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+ cGNoX3BmaXQuZW5hYmxlZCkKPiAtCQkJc2t5bGFrZV9wZml0X2VuYWJsZShjcnRjKTsKPiArCQkJ c2t5bGFrZV9wZml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7Cj4gIAl9IGVsc2UgaWYgKEhBU19Q Q0hfU1BMSVQoZGV2X3ByaXYpKSB7Cj4gIAkJaWYgKG5ld19jcnRjX3N0YXRlLT5wY2hfcGZpdC5l bmFibGVkKQo+IC0JCQlpcm9ubGFrZV9wZml0X2VuYWJsZShjcnRjKTsKPiArCQkJaXJvbmxha2Vf cGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUpOwo+ICAJCWVsc2UgaWYgKG9sZF9jcnRjX3N0YXRl LT5wY2hfcGZpdC5lbmFibGVkKQo+IC0JCQlpcm9ubGFrZV9wZml0X2Rpc2FibGUoY3J0YywgdHJ1 ZSk7Cj4gKwkJCWlyb25sYWtlX3BmaXRfZGlzYWJsZShvbGRfY3J0Y19zdGF0ZSk7Cj4gIAl9Cj4g IH0KPiAgCj4gQEAgLTUwNDEsMTkgKzUwNDEsMTkgQEAgc3RhdGljIHZvaWQgc2t5bGFrZV9zY2Fs ZXJfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQlza2xfZGV0YWNoX3NjYWxl cihjcnRjLCBpKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJs ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IC0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0JaW50IHBpcGUgPSBjcnRjLT5w aXBlOwo+IC0Jc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQo+ IC0JCSZjcnRjLT5jb25maWctPnNjYWxlcl9zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwll bnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z Y2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9Cj4gKwkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0 ZTsKPiAgCj4gLQlpZiAoY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKSB7Cj4gKwlpZiAo Y3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkgewo+ICAJCXUxNiB1dl9yZ2JfaHBoYXNlLCB1 dl9yZ2JfdnBoYXNlOwo+ICAJCWludCBpZDsKPiAgCj4gLQkJaWYgKFdBUk5fT04oY3J0Yy0+Y29u ZmlnLT5zY2FsZXJfc3RhdGUuc2NhbGVyX2lkIDwgMCkpCj4gKwkJaWYgKFdBUk5fT04oY3J0Y19z dGF0ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcl9pZCA8IDApKQo+ICAJCQlyZXR1cm47Cj4gIAo+ICAJ CXV2X3JnYl9ocGhhc2UgPSBza2xfc2NhbGVyX2NhbGNfcGhhc2UoMSwgZmFsc2UpOwo+IEBAIC01 MDY2LDE4ICs1MDY2LDE4IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfcGZpdF9lbmFibGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMpCj4gIAkJCSAgICAgIFBTX1lfUEhBU0UoMCkgfCBQU19VVl9SR0Jf UEhBU0UodXZfcmdiX3ZwaGFzZSkpOwo+ICAJCUk5MTVfV1JJVEVfRlcoU0tMX1BTX0hQSEFTRShw aXBlLCBpZCksCj4gIAkJCSAgICAgIFBTX1lfUEhBU0UoMCkgfCBQU19VVl9SR0JfUEhBU0UodXZf cmdiX2hwaGFzZSkpOwo+IC0JCUk5MTVfV1JJVEUoU0tMX1BTX1dJTl9QT1MocGlwZSwgaWQpLCBj cnRjLT5jb25maWctPnBjaF9wZml0LnBvcyk7Cj4gLQkJSTkxNV9XUklURShTS0xfUFNfV0lOX1Na KHBpcGUsIGlkKSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5zaXplKTsKPiArCQlJOTE1X1dSSVRF KFNLTF9QU19XSU5fUE9TKHBpcGUsIGlkKSwgY3J0Y19zdGF0ZS0+cGNoX3BmaXQucG9zKTsKPiAr CQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fU1oocGlwZSwgaWQpLCBjcnRjX3N0YXRlLT5wY2hfcGZp dC5zaXplKTsKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFi bGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRf ZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4g LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp Owo+ICAJaW50IHBpcGUgPSBjcnRjLT5waXBlOwo+ICAKPiAtCWlmIChjcnRjLT5jb25maWctPnBj aF9wZml0LmVuYWJsZWQpIHsKPiArCWlmIChjcnRjX3N0YXRlLT5wY2hfcGZpdC5lbmFibGVkKSB7 Cj4gIAkJLyogRm9yY2UgdXNlIG9mIGhhcmQtY29kZWQgZmlsdGVyIGNvZWZmaWNpZW50cwo+ICAJ CSAqIGFzIHNvbWUgcHJlLXByb2dyYW1tZWQgdmFsdWVzIGFyZSBicm9rZW4sCj4gIAkJICogZS5n LiB4MjAxLgo+IEBAIC01MDg3LDggKzUwODcsOCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0 X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQkJCQkJIFBGX1BJUEVfU0VMX0lW QihwaXBlKSk7Cj4gIAkJZWxzZQo+ICAJCQlJOTE1X1dSSVRFKFBGX0NUTChwaXBlKSwgUEZfRU5B QkxFIHwgUEZfRklMVEVSX01FRF8zeDMpOwo+IC0JCUk5MTVfV1JJVEUoUEZfV0lOX1BPUyhwaXBl KSwgY3J0Yy0+Y29uZmlnLT5wY2hfcGZpdC5wb3MpOwo+IC0JCUk5MTVfV1JJVEUoUEZfV0lOX1Na KHBpcGUpLCBjcnRjLT5jb25maWctPnBjaF9wZml0LnNpemUpOwo+ICsJCUk5MTVfV1JJVEUoUEZf V0lOX1BPUyhwaXBlKSwgY3J0Y19zdGF0ZS0+cGNoX3BmaXQucG9zKTsKPiArCQlJOTE1X1dSSVRF KFBGX1dJTl9TWihwaXBlKSwgY3J0Y19zdGF0ZS0+cGNoX3BmaXQuc2l6ZSk7Cj4gIAl9Cj4gIH0K PiAgCj4gQEAgLTU2MjAsNyArNTYyMCw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5h YmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCQlhc3NlcnRfZmRp X3J4X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsKPiAgCX0KPiAgCj4gLQlpcm9ubGFrZV9wZml0 X2VuYWJsZShpbnRlbF9jcnRjKTsKPiArCWlyb25sYWtlX3BmaXRfZW5hYmxlKHBpcGVfY29uZmln KTsKPiAgCj4gIAkvKgo+ICAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHRo ZSBwaXBlIGlzIHJ1bm5pbmcgYnV0IHdpdGgKPiBAQCAtNTc1Miw5ICs1NzUyLDkgQEAgc3RhdGlj IHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCj4gIAkJZ2xrX3BpcGVfc2NhbGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJpdiwgcGlw ZSwgdHJ1ZSk7Cj4gIAo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAtCQlza3ls YWtlX3BmaXRfZW5hYmxlKGludGVsX2NydGMpOwo+ICsJCXNreWxha2VfcGZpdF9lbmFibGUocGlw ZV9jb25maWcpOwo+ICAJZWxzZQo+IC0JCWlyb25sYWtlX3BmaXRfZW5hYmxlKGludGVsX2NydGMp Owo+ICsJCWlyb25sYWtlX3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKPiAgCj4gIAkvKgo+ICAJ ICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHRoZSBwaXBlIGlzIHJ1bm5pbmcg YnV0IHdpdGgKPiBAQCAtNTgxMiwxNSArNTgxMiwxNSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCX0KPiAg fQo+ICAKPiAtc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLCBib29sIGZvcmNlKQo+ICtzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2Rpc2Fi bGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ICB7Cj4g LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQlpbnQgcGlwZSA9IGNy dGMtPnBpcGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xk X2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0 Yy0+cGlwZTsKPiAgCj4gIAkvKiBUbyBhdm9pZCB1cHNldHRpbmcgdGhlIHBvd2VyIHdlbGwgb24g aGFzd2VsbCBvbmx5IGRpc2FibGUgdGhlIHBmaXQgaWYKPiAgCSAqIGl0J3MgaW4gdXNlLiBUaGUg aHcgc3RhdGUgY29kZSB3aWxsIG1ha2Ugc3VyZSB3ZSBnZXQgdGhpcyByaWdodC4gKi8KPiAtCWlm IChmb3JjZSB8fCBjcnRjLT5jb25maWctPnBjaF9wZml0LmVuYWJsZWQpIHsKPiArCWlmIChvbGRf Y3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCkgewoKSSB0aGluayB0aGUgcmVtb3ZhbCBvZiAn Zm9yY2UnIGRlc2VydmVzIGEgbWVudGlvbiBpbiB0aGUgY29tbWl0IG1lc3NhZ2UKKHdoaWNoIHdh cyBtaXNzaW5nIGVudGlyZWx5IEkgZ3Vlc3M/KS4gSSBkbyBhZ3JlZSB0aGF0ICdmb3JjZScgaXMg bm90Cm5lZWRlZC4KClNvIHdpdGggY29tbWl0IG1lc3NhZ2UgYWRkZWQKUmV2aWV3ZWQtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CgpJIGhhdmUgYSBm ZWVsaW5nIG1hbnkgb2YgdGhlc2UgbGFjayBhIGNvbW1pdCBtZXNzYWdlLiBJdCdzIHByb2JhYmx5 CmdvaW5nIHRvIGJlY29tZSByZXBpdGl0aXZlIGNvbnNpZGVyaW5nIHRoZSB0b3BpYywgYnV0IEkg dGhpbmsgd2Ugc3RpbGwKd2FudCBzb21ldGhpbmcgdGhlcmUgdG8ganVzdGlmeSB0aGUgY2hhbmdl cyAocHJvYmFibHkgY291bGQganVzdApjb3B5IHBhc3RlIHRoZSBzYW1lIHRoaW5nIHRvIGVhY2gg cGF0Y2gpLgoKPiAgCQlJOTE1X1dSSVRFKFBGX0NUTChwaXBlKSwgMCk7Cj4gIAkJSTkxNV9XUklU RShQRl9XSU5fUE9TKHBpcGUpLCAwKTsKPiAgCQlJOTE1X1dSSVRFKFBGX1dJTl9TWihwaXBlKSwg MCk7Cj4gQEAgLTU4NTEsNyArNTg1MSw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZGlz YWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAo+ICAJaW50 ZWxfZGlzYWJsZV9waXBlKG9sZF9jcnRjX3N0YXRlKTsKPiAgCj4gLQlpcm9ubGFrZV9wZml0X2Rp c2FibGUoaW50ZWxfY3J0YywgZmFsc2UpOwo+ICsJaXJvbmxha2VfcGZpdF9kaXNhYmxlKG9sZF9j cnRjX3N0YXRlKTsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29k ZXIpCj4gIAkJaXJvbmxha2VfZmRpX2Rpc2FibGUoY3J0Yyk7Cj4gQEAgLTU5MTIsNyArNTkxMiw3 IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4g IAkJc2t5bGFrZV9zY2FsZXJfZGlzYWJsZShpbnRlbF9jcnRjKTsKPiAgCWVsc2UKPiAtCQlpcm9u bGFrZV9wZml0X2Rpc2FibGUoaW50ZWxfY3J0YywgZmFsc2UpOwo+ICsJCWlyb25sYWtlX3BmaXRf ZGlzYWJsZShvbGRfY3J0Y19zdGF0ZSk7Cj4gIAo+ICAJaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNh YmxlKGNydGMsIG9sZF9jcnRjX3N0YXRlLCBvbGRfc3RhdGUpOwo+ICAKPiBAQCAtNTkyMCwxMyAr NTkyMCwxMiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAkJaWNsX3VubWFwX3BsbHNfdG9fcG9ydHMo Y3J0Yywgb2xkX2NydGNfc3RhdGUsIG9sZF9zdGF0ZSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lk IGk5eHhfcGZpdF9lbmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lk IGk5eHhfcGZpdF9lbmFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gIHsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9IGNydGMtPmNvbmZpZzsKPiArCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7Cj4gIAo+IC0JaWYgKCFwaXBlX2NvbmZpZy0+Z21jaF9wZml0LmNvbnRyb2wp Cj4gKwlpZiAoIWNydGNfc3RhdGUtPmdtY2hfcGZpdC5jb250cm9sKQo+ICAJCXJldHVybjsKPiAg Cj4gIAkvKgo+IEBAIC01OTM2LDggKzU5MzUsOCBAQCBzdGF0aWMgdm9pZCBpOXh4X3BmaXRfZW5h YmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJV0FSTl9PTihJOTE1X1JFQUQoUEZJVF9D T05UUk9MKSAmIFBGSVRfRU5BQkxFKTsKPiAgCWFzc2VydF9waXBlX2Rpc2FibGVkKGRldl9wcml2 LCBjcnRjLT5waXBlKTsKPiAgCj4gLQlJOTE1X1dSSVRFKFBGSVRfUEdNX1JBVElPUywgcGlwZV9j b25maWctPmdtY2hfcGZpdC5wZ21fcmF0aW9zKTsKPiAtCUk5MTVfV1JJVEUoUEZJVF9DT05UUk9M LCBwaXBlX2NvbmZpZy0+Z21jaF9wZml0LmNvbnRyb2wpOwo+ICsJSTkxNV9XUklURShQRklUX1BH TV9SQVRJT1MsIGNydGNfc3RhdGUtPmdtY2hfcGZpdC5wZ21fcmF0aW9zKTsKPiArCUk5MTVfV1JJ VEUoUEZJVF9DT05UUk9MLCBjcnRjX3N0YXRlLT5nbWNoX3BmaXQuY29udHJvbCk7Cj4gIAo+ICAJ LyogQm9yZGVyIGNvbG9yIGluIGNhc2Ugd2UgZG9uJ3Qgc2NhbGUgdXAgdG8gdGhlIGZ1bGwgc2Ny ZWVuLiBCbGFjayBieQo+ICAJICogZGVmYXVsdCwgY2hhbmdlIHRvIHNvbWV0aGluZyBlbHNlIGZv ciBkZWJ1Z2dpbmcuICovCj4gQEAgLTYwOTMsNyArNjA5Miw3IEBAIHN0YXRpYyB2b2lkIHZhbGxl eXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ ICAKPiAgCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUoY3J0YywgcGlwZV9jb25maWcsIG9sZF9z dGF0ZSk7Cj4gIAo+IC0JaTl4eF9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKPiArCWk5eHhfcGZp dF9lbmFibGUocGlwZV9jb25maWcpOwo+ICAKPiAgCWludGVsX2NvbG9yX2xvYWRfbHV0cygmcGlw ZV9jb25maWctPmJhc2UpOwo+ICAKPiBAQCAtNjE0OSw3ICs2MTQ4LDcgQEAgc3RhdGljIHZvaWQg aTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4g IAo+ICAJaTl4eF9lbmFibGVfcGxsKGludGVsX2NydGMsIHBpcGVfY29uZmlnKTsKPiAgCj4gLQlp OXh4X3BmaXRfZW5hYmxlKGludGVsX2NydGMpOwo+ICsJaTl4eF9wZml0X2VuYWJsZShwaXBlX2Nv bmZpZyk7Cj4gIAo+ICAJaW50ZWxfY29sb3JfbG9hZF9sdXRzKCZwaXBlX2NvbmZpZy0+YmFzZSk7 Cj4gIAo+IEBAIC02MTY2LDEyICs2MTY1LDEyIEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJaW50ZWxfZW5jb2Rl cnNfZW5hYmxlKGNydGMsIHBpcGVfY29uZmlnLCBvbGRfc3RhdGUpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgdm9pZCBpOXh4X3BmaXRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArc3Rh dGljIHZvaWQgaTl4eF9wZml0X2Rpc2FibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km9sZF9jcnRjX3N0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2Ny dGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiAgCj4gLQlpZiAoIWNydGMtPmNvbmZpZy0+ Z21jaF9wZml0LmNvbnRyb2wpCj4gKwlpZiAoIW9sZF9jcnRjX3N0YXRlLT5nbWNoX3BmaXQuY29u dHJvbCkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYs IGNydGMtPnBpcGUpOwo+IEBAIC02MjA0LDcgKzYyMDMsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAo+ ICAJaW50ZWxfZGlzYWJsZV9waXBlKG9sZF9jcnRjX3N0YXRlKTsKPiAgCj4gLQlpOXh4X3BmaXRf ZGlzYWJsZShpbnRlbF9jcnRjKTsKPiArCWk5eHhfcGZpdF9kaXNhYmxlKG9sZF9jcnRjX3N0YXRl KTsKPiAgCj4gIAlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xkX2NydGNfc3Rh dGUsIG9sZF9zdGF0ZSk7Cj4gIAo+IC0tIAo+IDIuMTkuMAo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK