From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [BXT MIPI PATCH v5 05/14] drm/i915/bxt: DSI encoder support in CRTC modeset Date: Fri, 2 Oct 2015 14:34:52 +0200 Message-ID: <20151002123452.GJ3383@phenom.ffwll.local> References: <87fv1uc3se.fsf@intel.com> <1443718429-32272-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 993C36E01E for ; Fri, 2 Oct 2015 05:31:59 -0700 (PDT) Received: by wicgb1 with SMTP id gb1so30791660wic.1 for ; Fri, 02 Oct 2015 05:31:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1443718429-32272-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar Cc: shobhit.kumar@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMDEsIDIwMTUgYXQgMTA6MjM6NDlQTSArMDUzMCwgVW1hIFNoYW5rYXIgd3Jv dGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ IAo+IFNLTCBhbmQgQlhUIHF1YWxpZmllcyB0aGUgSEFTX0RESSgpIGNoZWNrLCBhbmQgaGVuY2Ug aGFzd2VsbAo+IG1vZGVzZXQgZnVuY3Rpb25zIGFyZSByZS11c2VkIGZvciBtb2Rlc2V0IHNlcXVl bmNlLiBCdXQgRERJCj4gaW50ZXJmYWNlIGRvZXNuJ3QgaW5jbHVkZSBzdXBwb3J0IGZvciBEU0ku Cj4gVGhpcyBwYXRjaCBhZGRzOgo+IDEuIGNhc2VzIGZvciBEU0kgZW5jb2RlciwgaW4gdGhvc2Ug bW9kZXNldCBmdW5jdGlvbnMgYW5kIGFsbG93cwo+ICAgIGEgQ1JUQyBtb2Rlc2V0Cj4gMi4gQWRk cyBjYWxsIHRvIHByZV9wbGwgZW5hYmxlZCBmcm9tIENSVEMgbW9kZXNldCBmdW5jdGlvbi4gTm90 aGluZwo+ICAgIG5lZWRzIHRvIGJlIGRvbmUgYXMgc3VjaCBpbiBDUlRDIGZvciBEU0kgZW5jb2Rl ciwgYXMgUExMLCBjbG9jawo+ICAgIGFuZCBhbmQgdHJhbnNjb2RlciBwcm9ncmFtbWluZyB3aWxs IGJlIHRha2VuIGNhcmUgaW4gZW5jb2RlcidzCj4gICAgcHJlX2VuYWJsZSBhbmQgcHJlX3BsbF9l bmFibGUgZnVuY3Rpb24uCj4gCj4gdjI6IEZpeGVkIEphbmkncyByZXZpZXcgY29tbWVudHMuIEFk ZGVkIElOVkFMSURfUE9SVCBmb3Igbm9uIERESQo+ICAgICBlbmNvZGVyIGxpa2UgRFNJIGZvciBw bGF0Zm9ybXMgaGF2aW5nIEhBU19EREkgYXMgdHJ1ZS4KPiAKPiB2MzogUmViYXNlZCBvbiBsYXRl c3QgZHJtLW5pZ2h0bHkgYnJhbmNoLiBBZGRlZCBhIFdBUk5fT04gZm9yIGludmFsaWQKPiAgICAg ZW5jb2Rlci4KPiAKPiB2NDogV0FSTl9PTiBmb3IgaW52YWxpZCBlbmNvZGVyIGlzIHJlZmFjdG9y ZWQgYXMgcGVyIEphbmkncyBzdWdnZXN0aW9uLgo+ICAgICBGaXhlZCB0aGUgc2VxdWVuY2UgZm9y IHByZV9wbGxfZW5hYmxlLgo+IAo+IHY1OiBQcm90ZWN0ZWQgRERJIGNvZGUgcGF0aHMgaW4gY2Fz ZSBvZiBEU0kgZW5jb2RlciBjYWxscy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5r YXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KCk9rLCBhZnRlciB0aGlzIHBhdGNoIHdlIGdldCBz dHVmZiBsaWtlIHRoaXM6CgoJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5j b2RlcikgewoJCWlmIChlbmNvZGVyLT5wcmVfcGxsX2VuYWJsZSkKCQkJZW5jb2Rlci0+cHJlX3Bs bF9lbmFibGUoZW5jb2Rlcik7CgkJaWYgKGVuY29kZXItPnByZV9lbmFibGUpCgkJCWVuY29kZXIt PnByZV9lbmFibGUoZW5jb2Rlcik7Cgl9CgoJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGFzX3Bj aF9lbmNvZGVyKSB7CgkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZf cHJpdiwgVFJBTlNDT0RFUl9BLAoJCQkJCQkgICAgICB0cnVlKTsKCQlkZXZfcHJpdi0+ZGlzcGxh eS5mZGlfbGlua190cmFpbihjcnRjKTsKCX0KCglpZiAoIWlzX2RzaSkKCQlpbnRlbF9kZGlfZW5h YmxlX3BpcGVfY2xvY2soaW50ZWxfY3J0Yyk7CgoxLiBQbGVhc2UgcmVtb3ZlIHByZV9wbGxfZW5h YmxlIGFnYWluLCB3ZSBkb24ndCBuZWVkIDIgY2FsbGJhY2tzIGluCmV4YWN0bHkgdGhlIHNhbWUg c3BvdC4gWWVzIHRoaXMgbWlnaHQgbWVhbiB0aGF0IHlvdSBuZWVkIHNwZWNpYWwgYnh0Xwp2ZXJz aW9ucyBvZiB0aGF0IGluIHRoZSBkc2kgZW5jb2Rlciwgd2UgaGF2ZSB0aGF0IGV2ZXJ5d2hlcmUu CgoyLiB0aGUgaGFzX3BjaF9lbmNvZGVyIGlzIGFscmVhZHkgc29tZXRoaW5nIGVuY29kZXItc3Bl Y2lmaWMgKGl0J3MKZXhjbHVzaXZlbHkgdXNlZCBieSB0aGUgSFNXIExQVCBDUlQgZW5jb2Rlciku IE5vdyB3ZSBoYXZlIGFub3RoZXIgb25lIG9mCnRob3NlIGZvciB0aGUgIWlzX2RzaSBjYXNlLiBU aGVzZSBzcGVjaWFsLWNhc2VzIHNob3VsZCBiZSBtb3ZlZCBpbnRvIHRoZQplbmNvZGVyLT5wcmVf ZW5hYmxlIGNhbGxiYWNrcywgdGhhdCdzIHdoYXQgdGhleSdyZSBmb3IuCgpJJ20gbm90IGdvaW5n IHRvIGJsb2NrIHRoZXNlIHBhdGNoZXMgYXJlICgxOG1vbnRocyBpcyBhbHJlYWR5IHJpZGljdWxv dXMpLApidXQgSSB3YW50IHRoaXMgY2xlYW51cCBkb25lLiBVbWEsIGNhbiB5b3UgcGxzIG93biB0 aGlzPyBJZiB5b3UgY2FuJ3QgZG8KaXQgeW91cnNlbGYgcGxlYXNlIGVzY2FsYXRlIHRvIEluZHJh bmlsIHNvIGhlIGNhbiBmaW5kIHNvbWVvbmUuCgpUaGFua3MsIERhbmllbAoKCj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgfCAgICA3ICsrKysrLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICB8ICAgMjEgKysrKysrKysrKysrKysr LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMgfCAgICA5ICsr KysrKystLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggY2FjYjA3Yi4uN2I3ZjU0 NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTM5MCw4ICszOTAsMTAgQEAg dm9pZCBpbnRlbF9wcmVwYXJlX2RkaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWVudW0g cG9ydCBwb3J0Owo+ICAJCWJvb2wgc3VwcG9ydHNfaGRtaTsKPiAgCj4gLQkJZGRpX2dldF9lbmNv ZGVyX3BvcnQoaW50ZWxfZW5jb2RlciwgJmludGVsX2RpZ19wb3J0LCAmcG9ydCk7Cj4gKwkJaWYg KGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RTSSkKPiArCQkJY29udGludWU7 Cj4gIAo+ICsJCWRkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2VuY29kZXIsICZpbnRlbF9kaWdf cG9ydCwgJnBvcnQpOwo+ICAJCWlmICh2aXNpdGVkW3BvcnRdKQo+ICAJCQljb250aW51ZTsKPiAg Cj4gQEAgLTE3NzksNyArMTc4MSw4IEBAIGJvb2wgaW50ZWxfZGRpX2dldF9od19zdGF0ZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3BpcGVf Y2xvY2soc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNlOwo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2Vu Y29kZXIgPSBpbnRlbF9kZGlfZ2V0X2NydGNfZW5jb2RlcihjcnRjKTsKPiAgCWVudW0gcG9ydCBw b3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gIAllbnVt IHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5jb25maWctPmNwdV90cmFu c2NvZGVyOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBiOGUwMzEw Li5lYTBmNTMzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC00 OTkxLDYgKzQ5OTEsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiArCWJv b2wgaXNfZHNpID0gaW50ZWxfcGlwZV9oYXNfdHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRf RFNJKTsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgCj4gIAlXQVJOX09OKCFj cnRjLT5zdGF0ZS0+ZW5hYmxlKTsKPiBAQCAtNTAyMyw5ICs1MDI0LDEyIEBAIHN0YXRpYyB2b2lk IGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJaW50ZWxfY3J0 Yy0+YWN0aXZlID0gdHJ1ZTsKPiAgCj4gIAlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5fcmVw b3J0aW5nKGRldl9wcml2LCBwaXBlLCB0cnVlKTsKPiAtCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0 YyhkZXYsIGNydGMsIGVuY29kZXIpCj4gKwlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBj cnRjLCBlbmNvZGVyKSB7Cj4gKwkJaWYgKGVuY29kZXItPnByZV9wbGxfZW5hYmxlKQo+ICsJCQll bmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKPiAgCQlpZiAoZW5jb2Rlci0+cHJlX2Vu YWJsZSkKPiAgCQkJZW5jb2Rlci0+cHJlX2VuYWJsZShlbmNvZGVyKTsKPiArCX0KPiAgCj4gIAlp ZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKPiAgCQlpbnRlbF9zZXRf cGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBUUkFOU0NPREVSX0EsCj4gQEAg LTUwMzMsNyArNTAzNyw4IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmZkaV9saW5rX3RyYWluKGNy dGMpOwo+ICAJfQo+ICAKPiAtCWludGVsX2RkaV9lbmFibGVfcGlwZV9jbG9jayhpbnRlbF9jcnRj KTsKPiArCWlmICghaXNfZHNpKQo+ICsJCWludGVsX2RkaV9lbmFibGVfcGlwZV9jbG9jayhpbnRl bF9jcnRjKTsKPiAgCj4gIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gOSkKPiAgCQlza3ls YWtlX3BmaXRfdXBkYXRlKGludGVsX2NydGMsIDEpOwo+IEBAIC01MDQ5LDcgKzUwNTQsOCBAQCBz dGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAg CWludGVsX2NydGNfbG9hZF9sdXQoY3J0Yyk7Cj4gIAo+ICAJaW50ZWxfZGRpX3NldF9waXBlX3Nl dHRpbmdzKGNydGMpOwo+IC0JaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY3J0Yyk7 Cj4gKwlpZiAoIWlzX2RzaSkKPiArCQlpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhj cnRjKTsKPiAgCj4gIAlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKPiAgCWludGVsX2Vu YWJsZV9waXBlKGludGVsX2NydGMpOwo+IEBAIC01MDU3LDcgKzUwNjMsNyBAQCBzdGF0aWMgdm9p ZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCWlmIChpbnRl bF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKPiAgCQlscHRfcGNoX2VuYWJsZShjcnRj KTsKPiAgCj4gLQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5kcF9lbmNvZGVyX2lzX21zdCkKPiAr CWlmIChpbnRlbF9jcnRjLT5jb25maWctPmRwX2VuY29kZXJfaXNfbXN0ICYmICFpc19kc2kpCj4g IAkJaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKGNydGMsIHRydWUpOwo+ICAKPiAgCWFz c2VydF92YmxhbmtfZGlzYWJsZWQoY3J0Yyk7Cj4gQEAgLTUxNTksNiArNTE2NSw3IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFu c2NvZGVyID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2RlcjsKPiArCWJvb2wgaXNf ZHNpID0gaW50ZWxfcGlwZV9oYXNfdHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRfRFNJKTsK PiAgCj4gIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiAgCQlyZXR1cm47Cj4gQEAgLTUxNzks NyArNTE4Niw4IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmRwX2VuY29kZXJfaXNfbXN0 KQo+ICAJCWludGVsX2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhjcnRjLCBmYWxzZSk7Cj4gIAo+ IC0JaW50ZWxfZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKGRldl9wcml2LCBjcHVfdHJhbnNj b2Rlcik7Cj4gKwlpZiAoIWlzX2RzaSkKPiArCQlpbnRlbF9kZGlfZGlzYWJsZV90cmFuc2NvZGVy X2Z1bmMoZGV2X3ByaXYsIGNwdV90cmFuc2NvZGVyKTsKPiAgCj4gIAlpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPT0gOSkKPiAgCQlza3lsYWtlX3BmaXRfdXBkYXRlKGludGVsX2NydGMsIDApOwo+ IEBAIC01MTg4LDcgKzUxOTYsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAllbHNlCj4gIAkJTUlTU0lOR19DQVNFKElOVEVMX0lO Rk8oZGV2KS0+Z2VuKTsKPiAgCj4gLQlpbnRlbF9kZGlfZGlzYWJsZV9waXBlX2Nsb2NrKGludGVs X2NydGMpOwo+ICsJaWYgKCFpc19kc2kpCj4gKwkJaW50ZWxfZGRpX2Rpc2FibGVfcGlwZV9jbG9j ayhpbnRlbF9jcnRjKTsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2Vu Y29kZXIpIHsKPiAgCQlscHRfZGlzYWJsZV9wY2hfdHJhbnNjb2RlcihkZXZfcHJpdik7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCj4gaW5kZXggNDgxMzM3NC4uZGI1MThlZiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdpb24uYwo+IEBAIC0zMzQsOCArMzM0 LDEyIEBAIGludCBpbnRlbF9vcHJlZ2lvbl9ub3RpZnlfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCWlmICghSEFTX0RESShkZXYpKQo+ICAJCXJldHVybiAw Owo+ICAKPiAtCXBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVy KTsKPiAtCWlmIChwb3J0ID09IFBPUlRfRSkgewo+ICsJaWYgKGludGVsX2VuY29kZXItPnR5cGUg PT0gSU5URUxfT1VUUFVUX0RTSSkKPiArCQlwb3J0ID0gMDsKPiArCWVsc2UKPiArCQlwb3J0ID0g aW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gKwo+ICsJaWYgKHBv cnQgPT0gUE9SVF9FKSAgewo+ICAJCXBvcnQgPSAwOwo+ICAJfSBlbHNlIHsKPiAgCQlwYXJtIHw9 IDEgPDwgcG9ydDsKPiBAQCAtMzU2LDYgKzM2MCw3IEBAIGludCBpbnRlbF9vcHJlZ2lvbl9ub3Rp ZnlfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCQl0eXBl ID0gRElTUExBWV9UWVBFX0VYVEVSTkFMX0ZMQVRfUEFORUw7Cj4gIAkJYnJlYWs7Cj4gIAljYXNl IElOVEVMX09VVFBVVF9FRFA6Cj4gKwljYXNlIElOVEVMX09VVFBVVF9EU0k6Cj4gIAkJdHlwZSA9 IERJU1BMQVlfVFlQRV9JTlRFUk5BTF9GTEFUX1BBTkVMOwo+ICAJCWJyZWFrOwo+ICAJZGVmYXVs dDoKPiAtLSAKPiAxLjcuOS41Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJ bnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=