From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 6/8] drm/i915: Pass hpd_pin to long_pulse_detect() Date: Thu, 5 Jul 2018 14:14:05 -0700 Message-ID: <20180705211405.GM734@intel.com> References: <20180705164357.28512-1-ville.syrjala@linux.intel.com> <20180705164357.28512-7-ville.syrjala@linux.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 ESMTPS id 68E816EF23 for ; Thu, 5 Jul 2018 21:14:06 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180705164357.28512-7-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMDUsIDIwMTggYXQgMDc6NDM6NTVQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFdlJ3JlIGRvaW5nIGEgcG9pbnRsZXNzIHRyYW5zbGF0aW9uIGZyb20gaHBkX3Bp biB0byBwb3J0IHNpbXBseSBmb3IKPiBwYXNzaW5nIHRoZSB0aGluZyB0byBsb25nX3B1bHNlX2Rl dGVjdCgpLiBMZXQncyBwYXNzIHRoZSBocGRfcGluCj4gZGlyZWN0bHkgaW5zdGVhZC4KPiAKPiBU aGlzIHJlbW92ZXMgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgaHBkX3BpbiBhbmQgcG9ydCBhbHdh eXMKPiBtYXRjaC4gVGhlIG9ubHkgb3RoZXIgcGxhY2Ugd2hlcmUgd2UgbWFrZSB0aGF0IGFzc3Vt cHRpb24gYW55bW9yZQo+IGlzIGludGVsX2hwZF9waW5fZGVmYXVsdCgpIGFuZCB0aGF0J3MgZmlu ZSBhcyBpdCdzIHdoYXQgZGV0ZXJtaW5lcwo+IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUg dHdvLiBJZiB3ZSBldmVyIGdldCBoYXJkd2FyZSB3aGVyZQo+IHRoZSBocGQgcGlucyBhcmUgd2ly ZWQgaW4gbW9yZSBpbnRlcmVzdGluZyB3YXlzIGl0IHNob3VsZCBiZQo+IHRyaXZpYWwgdG8gaGFu ZGxlIGZyb20gbm93IG9uLgo+IAo+IFRoaXMgc2hvdWxkIGFsc28gZml4IHRoZSBJU19DTkxfV0lU SF9QT1JUX0YoKSBjYXNlIGFzIHRoYXQgbWFwcGVkCj4gcGluIEUgYmFjayB0byBwb3J0IEYgYW5k IHBhc3NlZCB0aGF0IHRvCj4gc3B0X3BvcnRfaG90cGx1ZzJfbG9uZ19kZXRlY3QoKSB3aGljaCB3 b3VsZCBhbHdheXMgcmV0dXJuIGZhbHNlCj4gZm9yIHBvcnQgRi4gTm93IHRoYXQgd2UgcGFzcyBp biBwaW4gRSBkaXJlY3RseSBpdCdsbCBhY3R1YWxseQo+IGRvIHRoZSByaWdodCB0aGluZy4KPiAK PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IEZpeGVzOiBjZjUz OTAyZjQ4YzMgKCJkcm0vaTkxNS9jbmw6IEFkZCBIUEQgc3VwcG9ydCBmb3IgUG9ydCBGLiIpCgpU aGFua3MhCgpJIGNvdWxkIHN3ZWFyIHRoYXQgSSBoYWQgYSB2ZXJzaW9uIHNpbWlsYXIgdG8gdGhp cyBzb21ld2hlcmUsCmJ1dCBhbnl3YXlzIHRoaXMgaXMgbXVjaCBiZXR0ZXIuLi4KClJldmlld2Vk LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cgo+IFNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAyIC0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgIHwgOTUgKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYyB8 IDMxIC0tLS0tLS0tLS0tLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDgz IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGE4MDhiYjhh YTRkOC4uNWFmYWRjODk3ZTc2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI3 NDYsOCArMjc0Niw2IEBAIHZvaWQgaW50ZWxfaHBkX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgdm9pZCBpbnRlbF9ocGRfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIGludGVsX2hwZF9pbml0X3dvcmsoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBpbnRlbF9ocGRfY2FuY2VsX3dv cmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAtZW51bSBwb3J0IGludGVs X2hwZF9waW5fdG9fcG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJ CQllbnVtIGhwZF9waW4gcGluKTsKPiAgZW51bSBocGRfcGluIGludGVsX2hwZF9waW5fZGVmYXVs dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkgICBlbnVtIHBvcnQg cG9ydCk7Cj4gIGJvb2wgaW50ZWxfaHBkX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBlbnVtIGhwZF9waW4gcGluKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBp bmRleCAxYzNmZjA3ZDlmMmQuLmJiN2M3NTQ5NzlmOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYwo+IEBAIC0xNTc2LDEyMiArMTU3NiwxMjIgQEAgc3RhdGljIHZvaWQgZ2VuOF9ndF9pcnFf aGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgCX0KPiAgfQo+ICAKPiAt c3RhdGljIGJvb2wgZ2VuMTFfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0 LCB1MzIgdmFsKQo+ICtzdGF0aWMgYm9vbCBnZW4xMV9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3Qo ZW51bSBocGRfcGluIHBpbiwgdTMyIHZhbCkKPiAgewo+IC0Jc3dpdGNoIChwb3J0KSB7Cj4gLQlj YXNlIFBPUlRfQzoKPiArCXN3aXRjaCAocGluKSB7Cj4gKwljYXNlIEhQRF9QT1JUX0M6Cj4gIAkJ cmV0dXJuIHZhbCAmIEdFTjExX0hPVFBMVUdfQ1RMX0xPTkdfREVURUNUKFBPUlRfVEMxKTsKPiAt CWNhc2UgUE9SVF9EOgo+ICsJY2FzZSBIUERfUE9SVF9EOgo+ICAJCXJldHVybiB2YWwgJiBHRU4x MV9IT1RQTFVHX0NUTF9MT05HX0RFVEVDVChQT1JUX1RDMik7Cj4gLQljYXNlIFBPUlRfRToKPiAr CWNhc2UgSFBEX1BPUlRfRToKPiAgCQlyZXR1cm4gdmFsICYgR0VOMTFfSE9UUExVR19DVExfTE9O R19ERVRFQ1QoUE9SVF9UQzMpOwo+IC0JY2FzZSBQT1JUX0Y6Cj4gKwljYXNlIEhQRF9QT1JUX0Y6 Cj4gIAkJcmV0dXJuIHZhbCAmIEdFTjExX0hPVFBMVUdfQ1RMX0xPTkdfREVURUNUKFBPUlRfVEM0 KTsKPiAgCWRlZmF1bHQ6Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0 aWMgYm9vbCBieHRfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIg dmFsKQo+ICtzdGF0aWMgYm9vbCBieHRfcG9ydF9ob3RwbHVnX2xvbmdfZGV0ZWN0KGVudW0gaHBk X3BpbiBwaW4sIHUzMiB2YWwpCj4gIHsKPiAtCXN3aXRjaCAocG9ydCkgewo+IC0JY2FzZSBQT1JU X0E6Cj4gKwlzd2l0Y2ggKHBpbikgewo+ICsJY2FzZSBIUERfUE9SVF9BOgo+ICAJCXJldHVybiB2 YWwgJiBQT1JUQV9IT1RQTFVHX0xPTkdfREVURUNUOwo+IC0JY2FzZSBQT1JUX0I6Cj4gKwljYXNl IEhQRF9QT1JUX0I6Cj4gIAkJcmV0dXJuIHZhbCAmIFBPUlRCX0hPVFBMVUdfTE9OR19ERVRFQ1Q7 Cj4gLQljYXNlIFBPUlRfQzoKPiArCWNhc2UgSFBEX1BPUlRfQzoKPiAgCQlyZXR1cm4gdmFsICYg UE9SVENfSE9UUExVR19MT05HX0RFVEVDVDsKPiAgCWRlZmF1bHQ6Cj4gIAkJcmV0dXJuIGZhbHNl Owo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0aWMgYm9vbCBpY3BfZGRpX3BvcnRfaG90cGx1Z19sb25n X2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiArc3RhdGljIGJvb2wgaWNwX2RkaV9w b3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBocGRfcGluIHBpbiwgdTMyIHZhbCkKPiAgewo+ IC0Jc3dpdGNoIChwb3J0KSB7Cj4gLQljYXNlIFBPUlRfQToKPiArCXN3aXRjaCAocGluKSB7Cj4g KwljYXNlIEhQRF9QT1JUX0E6Cj4gIAkJcmV0dXJuIHZhbCAmIElDUF9ERElBX0hQRF9MT05HX0RF VEVDVDsKPiAtCWNhc2UgUE9SVF9COgo+ICsJY2FzZSBIUERfUE9SVF9COgo+ICAJCXJldHVybiB2 YWwgJiBJQ1BfRERJQl9IUERfTE9OR19ERVRFQ1Q7Cj4gIAlkZWZhdWx0Ogo+ICAJCXJldHVybiBm YWxzZTsKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgaWNwX3RjX3BvcnRfaG90cGx1Z19s b25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiArc3RhdGljIGJvb2wgaWNwX3Rj X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIGhwZF9waW4gcGluLCB1MzIgdmFsKQo+ICB7 Cj4gLQlzd2l0Y2ggKHBvcnQpIHsKPiAtCWNhc2UgUE9SVF9DOgo+ICsJc3dpdGNoIChwaW4pIHsK PiArCWNhc2UgSFBEX1BPUlRfQzoKPiAgCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RF VEVDVChQT1JUX1RDMSk7Cj4gLQljYXNlIFBPUlRfRDoKPiArCWNhc2UgSFBEX1BPUlRfRDoKPiAg CQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDMik7Cj4gLQljYXNl IFBPUlRfRToKPiArCWNhc2UgSFBEX1BPUlRfRToKPiAgCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQ RF9MT05HX0RFVEVDVChQT1JUX1RDMyk7Cj4gLQljYXNlIFBPUlRfRjoKPiArCWNhc2UgSFBEX1BP UlRfRjoKPiAgCQlyZXR1cm4gdmFsICYgSUNQX1RDX0hQRF9MT05HX0RFVEVDVChQT1JUX1RDNCk7 Cj4gIAlkZWZhdWx0Ogo+ICAJCXJldHVybiBmYWxzZTsKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGlj IGJvb2wgc3B0X3BvcnRfaG90cGx1ZzJfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2 YWwpCj4gK3N0YXRpYyBib29sIHNwdF9wb3J0X2hvdHBsdWcyX2xvbmdfZGV0ZWN0KGVudW0gaHBk X3BpbiBwaW4sIHUzMiB2YWwpCj4gIHsKPiAtCXN3aXRjaCAocG9ydCkgewo+IC0JY2FzZSBQT1JU X0U6Cj4gKwlzd2l0Y2ggKHBpbikgewo+ICsJY2FzZSBIUERfUE9SVF9FOgo+ICAJCXJldHVybiB2 YWwgJiBQT1JURV9IT1RQTFVHX0xPTkdfREVURUNUOwo+ICAJZGVmYXVsdDoKPiAgCQlyZXR1cm4g ZmFsc2U7Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIHNwdF9wb3J0X2hvdHBsdWdfbG9u Z19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpCj4gK3N0YXRpYyBib29sIHNwdF9wb3J0 X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBocGRfcGluIHBpbiwgdTMyIHZhbCkKPiAgewo+IC0J c3dpdGNoIChwb3J0KSB7Cj4gLQljYXNlIFBPUlRfQToKPiArCXN3aXRjaCAocGluKSB7Cj4gKwlj YXNlIEhQRF9QT1JUX0E6Cj4gIAkJcmV0dXJuIHZhbCAmIFBPUlRBX0hPVFBMVUdfTE9OR19ERVRF Q1Q7Cj4gLQljYXNlIFBPUlRfQjoKPiArCWNhc2UgSFBEX1BPUlRfQjoKPiAgCQlyZXR1cm4gdmFs ICYgUE9SVEJfSE9UUExVR19MT05HX0RFVEVDVDsKPiAtCWNhc2UgUE9SVF9DOgo+ICsJY2FzZSBI UERfUE9SVF9DOgo+ICAJCXJldHVybiB2YWwgJiBQT1JUQ19IT1RQTFVHX0xPTkdfREVURUNUOwo+ IC0JY2FzZSBQT1JUX0Q6Cj4gKwljYXNlIEhQRF9QT1JUX0Q6Cj4gIAkJcmV0dXJuIHZhbCAmIFBP UlREX0hPVFBMVUdfTE9OR19ERVRFQ1Q7Cj4gIAlkZWZhdWx0Ogo+ICAJCXJldHVybiBmYWxzZTsK PiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgaWxrX3BvcnRfaG90cGx1Z19sb25nX2RldGVj dChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiArc3RhdGljIGJvb2wgaWxrX3BvcnRfaG90cGx1 Z19sb25nX2RldGVjdChlbnVtIGhwZF9waW4gcGluLCB1MzIgdmFsKQo+ICB7Cj4gLQlzd2l0Y2gg KHBvcnQpIHsKPiAtCWNhc2UgUE9SVF9BOgo+ICsJc3dpdGNoIChwaW4pIHsKPiArCWNhc2UgSFBE X1BPUlRfQToKPiAgCQlyZXR1cm4gdmFsICYgRElHSVRBTF9QT1JUQV9IT1RQTFVHX0xPTkdfREVU RUNUOwo+ICAJZGVmYXVsdDoKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0 YXRpYyBib29sIHBjaF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUz MiB2YWwpCj4gK3N0YXRpYyBib29sIHBjaF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBo cGRfcGluIHBpbiwgdTMyIHZhbCkKPiAgewo+IC0Jc3dpdGNoIChwb3J0KSB7Cj4gLQljYXNlIFBP UlRfQjoKPiArCXN3aXRjaCAocGluKSB7Cj4gKwljYXNlIEhQRF9QT1JUX0I6Cj4gIAkJcmV0dXJu IHZhbCAmIFBPUlRCX0hPVFBMVUdfTE9OR19ERVRFQ1Q7Cj4gLQljYXNlIFBPUlRfQzoKPiArCWNh c2UgSFBEX1BPUlRfQzoKPiAgCQlyZXR1cm4gdmFsICYgUE9SVENfSE9UUExVR19MT05HX0RFVEVD VDsKPiAtCWNhc2UgUE9SVF9EOgo+ICsJY2FzZSBIUERfUE9SVF9EOgo+ICAJCXJldHVybiB2YWwg JiBQT1JURF9IT1RQTFVHX0xPTkdfREVURUNUOwo+ICAJZGVmYXVsdDoKPiAgCQlyZXR1cm4gZmFs c2U7Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGk5eHhfcG9ydF9ob3RwbHVnX2xvbmdf ZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFsKQo+ICtzdGF0aWMgYm9vbCBpOXh4X3BvcnRf aG90cGx1Z19sb25nX2RldGVjdChlbnVtIGhwZF9waW4gcGluLCB1MzIgdmFsKQo+ICB7Cj4gLQlz d2l0Y2ggKHBvcnQpIHsKPiAtCWNhc2UgUE9SVF9COgo+ICsJc3dpdGNoIChwaW4pIHsKPiArCWNh c2UgSFBEX1BPUlRfQjoKPiAgCQlyZXR1cm4gdmFsICYgUE9SVEJfSE9UUExVR19JTlRfTE9OR19Q VUxTRTsKPiAtCWNhc2UgUE9SVF9DOgo+ICsJY2FzZSBIUERfUE9SVF9DOgo+ICAJCXJldHVybiB2 YWwgJiBQT1JUQ19IT1RQTFVHX0lOVF9MT05HX1BVTFNFOwo+IC0JY2FzZSBQT1JUX0Q6Cj4gKwlj YXNlIEhQRF9QT1JUX0Q6Cj4gIAkJcmV0dXJuIHZhbCAmIFBPUlREX0hPVFBMVUdfSU5UX0xPTkdf UFVMU0U7Cj4gIAlkZWZhdWx0Ogo+ICAJCXJldHVybiBmYWxzZTsKPiBAQCAtMTcwOSw5ICsxNzA5 LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2hwZF9waW5zKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiAgCQkJICAgICAgIHUzMiAqcGluX21hc2ssIHUzMiAqbG9uZ19tYXNr LAo+ICAJCQkgICAgICAgdTMyIGhvdHBsdWdfdHJpZ2dlciwgdTMyIGRpZ19ob3RwbHVnX3JlZywK PiAgCQkJICAgICAgIGNvbnN0IHUzMiBocGRbSFBEX05VTV9QSU5TXSwKPiAtCQkJICAgICAgIGJv b2wgbG9uZ19wdWxzZV9kZXRlY3QoZW51bSBwb3J0IHBvcnQsIHUzMiB2YWwpKQo+ICsJCQkgICAg ICAgYm9vbCBsb25nX3B1bHNlX2RldGVjdChlbnVtIGhwZF9waW4gcGluLCB1MzIgdmFsKSkKPiAg ewo+IC0JZW51bSBwb3J0IHBvcnQ7Cj4gIAllbnVtIGhwZF9waW4gcGluOwo+ICAKPiAgCWZvcl9l YWNoX2hwZF9waW4ocGluKSB7Cj4gQEAgLTE3MjAsMTEgKzE3MTksNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9nZXRfaHBkX3BpbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAK PiAgCQkqcGluX21hc2sgfD0gQklUKHBpbik7Cj4gIAo+IC0JCXBvcnQgPSBpbnRlbF9ocGRfcGlu X3RvX3BvcnQoZGV2X3ByaXYsIHBpbik7Cj4gLQkJaWYgKHBvcnQgPT0gUE9SVF9OT05FKQo+IC0J CQljb250aW51ZTsKPiAtCj4gLQkJaWYgKGxvbmdfcHVsc2VfZGV0ZWN0KHBvcnQsIGRpZ19ob3Rw bHVnX3JlZykpCj4gKwkJaWYgKGxvbmdfcHVsc2VfZGV0ZWN0KHBpbiwgZGlnX2hvdHBsdWdfcmVn KSkKPiAgCQkJKmxvbmdfbWFzayB8PSBCSVQocGluKTsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hvdHBsdWcuYwo+IGluZGV4IGQ5ZDYxZDExZGQyYi4uNjQ4YTEzYzYwNDNjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwo+IEBAIC03NiwzNyArNzYsNiBA QAo+ICAgKiBpdCB3aWxsIHVzZSBpOTE1X2hvdHBsdWdfd29ya19mdW5jIHdoZXJlIHRoaXMgbG9n aWMgaXMgaGFuZGxlZC4KPiAgICovCj4gIAo+IC0vKioKPiAtICogaW50ZWxfaHBkX3BvcnQgLSBy ZXR1cm4gcG9ydCBoYXJkIGFzc29jaWF0ZWQgd2l0aCBjZXJ0YWluIHBpbi4KPiAtICogQGRldl9w cml2OiBwcml2YXRlIGRyaXZlciBkYXRhIHBvaW50ZXIKPiAtICogQHBpbjogdGhlIGhwZCBwaW4g dG8gZ2V0IGFzc29jaWF0ZWQgcG9ydAo+IC0gKgo+IC0gKiBSZXR1cm4gcG9ydCB0aGF0IGlzIGFz c29jaWF0YWRlIHdpdGggQHBpbiBhbmQgUE9SVF9OT05FIGlmIG5vIHBvcnQgaXMKPiAtICogaGFy ZCBhc3NvY2lhdGVkIHdpdGggdGhhdCBAcGluLgo+IC0gKi8KPiAtZW51bSBwb3J0IGludGVsX2hw ZF9waW5fdG9fcG9ydChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQll bnVtIGhwZF9waW4gcGluKQo+IC17Cj4gLQlzd2l0Y2ggKHBpbikgewo+IC0JY2FzZSBIUERfUE9S VF9BOgo+IC0JCXJldHVybiBQT1JUX0E7Cj4gLQljYXNlIEhQRF9QT1JUX0I6Cj4gLQkJcmV0dXJu IFBPUlRfQjsKPiAtCWNhc2UgSFBEX1BPUlRfQzoKPiAtCQlyZXR1cm4gUE9SVF9DOwo+IC0JY2Fz ZSBIUERfUE9SVF9EOgo+IC0JCXJldHVybiBQT1JUX0Q7Cj4gLQljYXNlIEhQRF9QT1JUX0U6Cj4g LQkJaWYgKElTX0NOTF9XSVRIX1BPUlRfRihkZXZfcHJpdikpCj4gLQkJCXJldHVybiBQT1JUX0Y7 Cj4gLQkJcmV0dXJuIFBPUlRfRTsKPiAtCWNhc2UgSFBEX1BPUlRfRjoKPiAtCQlyZXR1cm4gUE9S VF9GOwo+IC0JZGVmYXVsdDoKPiAtCQlyZXR1cm4gUE9SVF9OT05FOyAvKiBubyBwb3J0IGZvciB0 aGlzIHBpbiAqLwo+IC0JfQo+IC19Cj4gLQo+ICAvKioKPiAgICogaW50ZWxfaHBkX3Bpbl9kZWZh dWx0IC0gcmV0dXJuIGRlZmF1bHQgcGluIGFzc29jaWF0ZWQgd2l0aCBjZXJ0YWluIHBvcnQuCj4g ICAqIEBkZXZfcHJpdjogcHJpdmF0ZSBkcml2ZXIgZGF0YSBwb2ludGVyCj4gLS0gCj4gMi4xNi40 Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=