From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/10] drm/i915: For HPD connected port use hpd_pin instead of port. Date: Mon, 22 Jan 2018 18:40:56 +0200 Message-ID: <20180122164056.GD5453@intel.com> References: <20180120000524.4746-1-rodrigo.vivi@intel.com> <20180120000524.4746-6-rodrigo.vivi@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 EF1416E099 for ; Mon, 22 Jan 2018 16:40:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180120000524.4746-6-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKYW4gMTksIDIwMTggYXQgMDQ6MDU6MjBQTSAtMDgwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IExldCdzIHRyeSB0byBzaW1wbGlmeSB0aGlzIG1hcHBpbmcgdG8gaHBkX3BpbiAtPiBi aXQKPiBpbnN0ZWFkIHVzaW5nIHBvcnQuCj4gU28gZm9yIENOTCB3aXRoIHBvcnQgRiB3aGVyZSB3 ZSBoYXZlIHRoaXMgcG9ydCB1c2luZwo+IGhkcF9waW4gYW5kIGJpdHMgb2Ygb3RoZXIgcG9ydHMg d2UgZG9uJ3QgbmVlZCB0byBkdXBsaWNhdGVkCj4gdGhlIG1hcHBpbmcuCj4gCj4gQnV0IGZvciBu b3cgdGhpcyBpcyBvbmx5IGEgcmUtb3JnIHdpdGggbm8gZnVuY3Rpb25hbCBjaGFuZ2UKPiBleHBl Y3RlZC4KPiAKPiBDYzogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+ Cj4gU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNv bT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgfCAxNDQgKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgIHwgICAzICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xz cGNvbi5jIHwgICAzICstCj4gIDMgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNzgg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggYWUzYjBiMDMw MTc3Li40ZmY2ZmNmNTQyZTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNDQ4 NywxNzMgKzQ0ODcsMTcwIEBAIGVkcF9kZXRlY3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiAgCXJldHVybiBzdGF0dXM7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGlieF9kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQo+ICtzdGF0aWMgYm9vbCBpYnhf ZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAg ewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVy LT5iYXNlLmRldik7Cj4gIAl1MzIgYml0Owo+ICAKPiAtCXN3aXRjaCAocG9ydC0+YmFzZS5wb3J0 KSB7Cj4gLQljYXNlIFBPUlRfQjoKPiArCXN3aXRjaCAoZW5jb2Rlci0+aHBkX3Bpbikgewo+ICsJ Y2FzZSBIUERfUE9SVF9COgo+ICAJCWJpdCA9IFNERV9QT1JUQl9IT1RQTFVHOwo+ICAJCWJyZWFr Owo+IC0JY2FzZSBQT1JUX0M6Cj4gKwljYXNlIEhQRF9QT1JUX0M6Cj4gIAkJYml0ID0gU0RFX1BP UlRDX0hPVFBMVUc7Cj4gIAkJYnJlYWs7Cj4gLQljYXNlIFBPUlRfRDoKPiArCWNhc2UgSFBEX1BP UlRfRDoKPiAgCQliaXQgPSBTREVfUE9SVERfSE9UUExVRzsKPiAgCQlicmVhazsKPiAgCWRlZmF1 bHQ6Cj4gLQkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9ydCk7Cj4gKwkJTUlTU0lOR19DQVNF KGVuY29kZXItPmhwZF9waW4pOwo+ICAJCXJldHVybiBmYWxzZTsKPiAgCX0KPiAgCj4gIAlyZXR1 cm4gSTkxNV9SRUFEKFNERUlTUikgJiBiaXQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGNwdF9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAtCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQo+ICtzdGF0aWMg Ym9vbCBjcHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPiAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAl1MzIgYml0Owo+ICAKPiAtCXN3aXRjaCAocG9ydC0+ YmFzZS5wb3J0KSB7Cj4gLQljYXNlIFBPUlRfQjoKPiArCXN3aXRjaCAoZW5jb2Rlci0+aHBkX3Bp bikgewo+ICsJY2FzZSBIUERfUE9SVF9COgo+ICAJCWJpdCA9IFNERV9QT1JUQl9IT1RQTFVHX0NQ VDsKPiAgCQlicmVhazsKPiAtCWNhc2UgUE9SVF9DOgo+ICsJY2FzZSBIUERfUE9SVF9DOgo+ICAJ CWJpdCA9IFNERV9QT1JUQ19IT1RQTFVHX0NQVDsKPiAgCQlicmVhazsKPiAtCWNhc2UgUE9SVF9E Ogo+ICsJY2FzZSBIUERfUE9SVF9EOgo+ICAJCWJpdCA9IFNERV9QT1JURF9IT1RQTFVHX0NQVDsK PiAgCQlicmVhazsKPiAgCWRlZmF1bHQ6Cj4gLQkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9y dCk7Cj4gKwkJTUlTU0lOR19DQVNFKGVuY29kZXItPmhwZF9waW4pOwo+ICAJCXJldHVybiBmYWxz ZTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gSTkxNV9SRUFEKFNERUlTUikgJiBiaXQ7Cj4gIH0KPiAg Cj4gLXN0YXRpYyBib29sIHNwdF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpwb3J0KQo+ICtzdGF0aWMgYm9vbCBzcHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAl1MzIgYml0Owo+ ICAKPiAtCXN3aXRjaCAocG9ydC0+YmFzZS5wb3J0KSB7Cj4gLQljYXNlIFBPUlRfQToKPiArCXN3 aXRjaCAoZW5jb2Rlci0+aHBkX3Bpbikgewo+ICsJY2FzZSBIUERfUE9SVF9BOgo+ICAJCWJpdCA9 IFNERV9QT1JUQV9IT1RQTFVHX1NQVDsKPiAgCQlicmVhazsKPiAtCWNhc2UgUE9SVF9FOgo+ICsJ Y2FzZSBIUERfUE9SVF9FOgo+ICAJCWJpdCA9IFNERV9QT1JURV9IT1RQTFVHX1NQVDsKPiAgCQli cmVhazsKPiAgCWRlZmF1bHQ6Cj4gLQkJcmV0dXJuIGNwdF9kaWdpdGFsX3BvcnRfY29ubmVjdGVk KGRldl9wcml2LCBwb3J0KTsKPiArCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo ZW5jb2Rlcik7Cj4gIAl9Cj4gIAo+ICAJcmV0dXJuIEk5MTVfUkVBRChTREVJU1IpICYgYml0Owo+ ICB9Cj4gIAo+IC1zdGF0aWMgYm9vbCBnNHhfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkgICAgICAgc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqcG9ydCkKPiArc3RhdGljIGJvb2wgZzR4X2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJdTMy IGJpdDsKPiAgCj4gLQlzd2l0Y2ggKHBvcnQtPmJhc2UucG9ydCkgewo+IC0JY2FzZSBQT1JUX0I6 Cj4gKwlzd2l0Y2ggKGVuY29kZXItPmhwZF9waW4pIHsKPiArCWNhc2UgSFBEX1BPUlRfQjoKPiAg CQliaXQgPSBQT1JUQl9IT1RQTFVHX0xJVkVfU1RBVFVTX0c0WDsKPiAgCQlicmVhazsKPiAtCWNh c2UgUE9SVF9DOgo+ICsJY2FzZSBIUERfUE9SVF9DOgo+ICAJCWJpdCA9IFBPUlRDX0hPVFBMVUdf TElWRV9TVEFUVVNfRzRYOwo+ICAJCWJyZWFrOwo+IC0JY2FzZSBQT1JUX0Q6Cj4gKwljYXNlIEhQ RF9QT1JUX0Q6Cj4gIAkJYml0ID0gUE9SVERfSE9UUExVR19MSVZFX1NUQVRVU19HNFg7Cj4gIAkJ YnJlYWs7Cj4gIAlkZWZhdWx0Ogo+IC0JCU1JU1NJTkdfQ0FTRShwb3J0LT5iYXNlLnBvcnQpOwo+ ICsJCU1JU1NJTkdfQ0FTRShlbmNvZGVyLT5ocGRfcGluKTsKPiAgCQlyZXR1cm4gZmFsc2U7Cj4g IAl9Cj4gIAo+ICAJcmV0dXJuIEk5MTVfUkVBRChQT1JUX0hPVFBMVUdfU1RBVCkgJiBiaXQ7Cj4g IH0KPiAgCj4gLXN0YXRpYyBib29sIGdtNDVfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqcG9ydCkKPiArc3RhdGljIGJvb2wgZ200NV9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAgCXUzMiBiaXQ7 Cj4gIAo+IC0Jc3dpdGNoIChwb3J0LT5iYXNlLnBvcnQpIHsKPiAtCWNhc2UgUE9SVF9COgo+ICsJ c3dpdGNoIChlbmNvZGVyLT5ocGRfcGluKSB7Cj4gKwljYXNlIEhQRF9QT1JUX0I6Cj4gIAkJYml0 ID0gUE9SVEJfSE9UUExVR19MSVZFX1NUQVRVU19HTTQ1Owo+ICAJCWJyZWFrOwo+IC0JY2FzZSBQ T1JUX0M6Cj4gKwljYXNlIEhQRF9QT1JUX0M6Cj4gIAkJYml0ID0gUE9SVENfSE9UUExVR19MSVZF X1NUQVRVU19HTTQ1Owo+ICAJCWJyZWFrOwo+IC0JY2FzZSBQT1JUX0Q6Cj4gKwljYXNlIEhQRF9Q T1JUX0Q6Cj4gIAkJYml0ID0gUE9SVERfSE9UUExVR19MSVZFX1NUQVRVU19HTTQ1Owo+ICAJCWJy ZWFrOwo+ICAJZGVmYXVsdDoKPiAtCQlNSVNTSU5HX0NBU0UocG9ydC0+YmFzZS5wb3J0KTsKPiAr CQlNSVNTSU5HX0NBU0UoZW5jb2Rlci0+aHBkX3Bpbik7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAJ fQo+ICAKPiAgCXJldHVybiBJOTE1X1JFQUQoUE9SVF9IT1RQTFVHX1NUQVQpICYgYml0Owo+ICB9 Cj4gIAo+IC1zdGF0aWMgYm9vbCBpbGtfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqcG9ydCkKPiArc3RhdGljIGJvb2wgaWxrX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAtCWlmIChwb3J0LT5iYXNlLnBv cnQgPT0gUE9SVF9BKQo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CgpTdHlsZSBuaXQ6IG1pc3NpbmcgbmV3bGluZSBoZXJl LCBhbmQgaW4gc2V2ZXJhbCBvdGhlciBmdW5jdGlvbnMuCgo+ICsJaWYgKGVuY29kZXItPmhwZF9w aW4gPT0gSFBEX1BPUlRfQSkKPiAgCQlyZXR1cm4gSTkxNV9SRUFEKERFSVNSKSAmIERFX0RQX0Ff SE9UUExVRzsKPiAgCWVsc2UKPiAtCQlyZXR1cm4gaWJ4X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo ZGV2X3ByaXYsIHBvcnQpOwo+ICsJCXJldHVybiBpYnhfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChl bmNvZGVyKTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICAgICAgIHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBvcnQpCj4gK3N0YXRpYyBib29sIHNuYl9kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gLQlpZiAo cG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsJaWYgKGVuY29kZXItPmhw ZF9waW4gPT0gSFBEX1BPUlRfQSkKPiAgCQlyZXR1cm4gSTkxNV9SRUFEKERFSVNSKSAmIERFX0RQ X0FfSE9UUExVRzsKPiAgCWVsc2UKPiAtCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoZGV2X3ByaXYsIHBvcnQpOwo+ICsJCXJldHVybiBjcHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3Rl ZChlbmNvZGVyKTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgaXZiX2RpZ2l0YWxfcG9ydF9jb25u ZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICAgICAgIHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBvcnQpCj4gK3N0YXRpYyBib29sIGl2Yl9kaWdpdGFs X3BvcnRfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICB7Cj4gLQlp ZiAocG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsJaWYgKGVuY29kZXIt PmhwZF9waW4gPT0gSFBEX1BPUlRfQSkKPiAgCQlyZXR1cm4gSTkxNV9SRUFEKERFSVNSKSAmIERF X0RQX0FfSE9UUExVR19JVkI7Cj4gIAllbHNlCj4gLQkJcmV0dXJuIGNwdF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKGRldl9wcml2LCBwb3J0KTsKPiArCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9j b25uZWN0ZWQoZW5jb2Rlcik7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGJkd19kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQo+ICtzdGF0aWMgYm9vbCBiZHdf ZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAg ewo+IC0JaWYgKHBvcnQtPmJhc2UucG9ydCA9PSBQT1JUX0EpCj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiArCWlmIChl bmNvZGVyLT5ocGRfcGluID09IEhQRF9QT1JUX0EpCj4gIAkJcmV0dXJuIEk5MTVfUkVBRChHRU44 X0RFX1BPUlRfSVNSKSAmIEdFTjhfUE9SVF9EUF9BX0hPVFBMVUc7Cj4gIAllbHNlCj4gLQkJcmV0 dXJuIGNwdF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBwb3J0KTsKPiArCQlyZXR1 cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4gIH0KPiAgCj4gLXN0YXRp YyBib29sIGJ4dF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAtCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCkKPiArc3RhdGljIGJvb2wgYnh0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwo+IC0JZW51bSBwb3J0IHBv cnQ7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsKPiAgCXUzMiBiaXQ7Cj4gIAo+IC0JcG9ydCA9IGludGVsX2hwZF9waW5f dG9fcG9ydChpbnRlbF9lbmNvZGVyLT5ocGRfcGluKTsKPiAtCXN3aXRjaCAocG9ydCkgewo+IC0J Y2FzZSBQT1JUX0E6Cj4gKwlzd2l0Y2ggKGVuY29kZXItPmhwZF9waW4pIHsKPiArCWNhc2UgSFBE X1BPUlRfQToKPiAgCQliaXQgPSBCWFRfREVfUE9SVF9IUF9ERElBOwo+ICAJCWJyZWFrOwo+IC0J Y2FzZSBQT1JUX0I6Cj4gKwljYXNlIEhQRF9QT1JUX0I6Cj4gIAkJYml0ID0gQlhUX0RFX1BPUlRf SFBfRERJQjsKPiAgCQlicmVhazsKPiAtCWNhc2UgUE9SVF9DOgo+ICsJY2FzZSBIUERfUE9SVF9D Ogo+ICAJCWJpdCA9IEJYVF9ERV9QT1JUX0hQX0RESUM7Cj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0 Ogo+IC0JCU1JU1NJTkdfQ0FTRShwb3J0KTsKPiArCQlNSVNTSU5HX0NBU0UoZW5jb2Rlci0+aHBk X3Bpbik7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiBAQCAtNDY2MiwzMyArNDY1OSwz MyBAQCBzdGF0aWMgYm9vbCBieHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICAvKgo+ICAgKiBpbnRlbF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkIC0gaXMgdGhlIHNwZWNpZmllZCBwb3J0IGNvbm5lY3RlZD8KPiAtICogQGRldl9w cml2OiBpOTE1IHByaXZhdGUgc3RydWN0dXJlCj4gLSAqIEBwb3J0OiB0aGUgcG9ydCB0byB0ZXN0 Cj4gKyAqIEBlbmNvZGVyOiBpbnRlbF9lbmNvZGVyCj4gICAqCj4gICAqIFJldHVybiAldHJ1ZSBp ZiBAcG9ydCBpcyBjb25uZWN0ZWQsICVmYWxzZSBvdGhlcndpc2UuCiAgICAgICAgICAgICAgICAg ICAgICBeXl5eXgoKTmVlZHMgdG8gYmUgdXBkYXRlZCwgYXNzdW1pbmcgdGhpcyBrZXJuZWwgZG9j IGNvbW1lbnQgaXMgYWN0dWFsbHkKdXNlZC4gQW5kIGlmIGl0J3Mgbm90IHVzZWQgd2Ugc2hvdWxk IGp1c3QgbnVrZSBpdC4KCkFwYXJ0IGZyb20gdGhvc2UgdGhpcyBsb29rcyBnb29kLCBzbwpSZXZp ZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Cj4gICAqLwo+IC1ib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpwb3J0KQo+ICtib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsKPiAgCWlmIChIQVNfR01DSF9E SVNQTEFZKGRldl9wcml2KSkgewo+ICAJCWlmIChJU19HTTQ1KGRldl9wcml2KSkKPiAtCQkJcmV0 dXJuIGdtNDVfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7Cj4gKwkJCXJl dHVybiBnbTQ1X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4gIAkJZWxzZQo+IC0J CQlyZXR1cm4gZzR4X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOwo+ICsJ CQlyZXR1cm4gZzR4X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4gIAl9Cj4gIAo+ ICAJaWYgKElTX0dFTjUoZGV2X3ByaXYpKQo+IC0JCXJldHVybiBpbGtfZGlnaXRhbF9wb3J0X2Nv bm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7Cj4gKwkJcmV0dXJuIGlsa19kaWdpdGFsX3BvcnRfY29u bmVjdGVkKGVuY29kZXIpOwo+ICAJZWxzZSBpZiAoSVNfR0VONihkZXZfcHJpdikpCj4gLQkJcmV0 dXJuIHNuYl9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBwb3J0KTsKPiArCQlyZXR1 cm4gc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4gIAllbHNlIGlmIChJU19H RU43KGRldl9wcml2KSkKPiAtCQlyZXR1cm4gaXZiX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2 X3ByaXYsIHBvcnQpOwo+ICsJCXJldHVybiBpdmJfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChlbmNv ZGVyKTsKPiAgCWVsc2UgaWYgKElTX0dFTjgoZGV2X3ByaXYpKQo+IC0JCXJldHVybiBiZHdfZGln aXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7Cj4gKwkJcmV0dXJuIGJkd19kaWdp dGFsX3BvcnRfY29ubmVjdGVkKGVuY29kZXIpOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZf cHJpdikpCj4gLQkJcmV0dXJuIGJ4dF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBw b3J0KTsKPiArCQlyZXR1cm4gYnh0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4g IAllbHNlCj4gLQkJcmV0dXJuIHNwdF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBw b3J0KTsKPiArCQlyZXR1cm4gc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4g IH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZWRpZCAqCj4gQEAgLTQ3NDcsOCArNDc0NCw3IEBAIGlu dGVsX2RwX2xvbmdfcHVsc2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJ LyogQ2FuJ3QgZGlzY29ubmVjdCBlRFAsIGJ1dCB5b3UgY2FuIGNsb3NlIHRoZSBsaWQuLi4gKi8K PiAgCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQo+ICAJCXN0YXR1cyA9IGVkcF9kZXRl Y3QoaW50ZWxfZHApOwo+IC0JZWxzZSBpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChk ZXZfcHJpdiwKPiAtCQkJCQkgICAgICBkcF90b19kaWdfcG9ydChpbnRlbF9kcCkpKQo+ICsJZWxz ZSBpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZCgmZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApLT5iYXNlKSkKPiAgCQlzdGF0dXMgPSBpbnRlbF9kcF9kZXRlY3RfZHBjZChpbnRlbF9kcCk7 Cj4gIAllbHNlCj4gIAkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBhNzNhOWYwZDc5MGYuLjlhZTgyMGY4MjIz NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTE2NzEsOCArMTY3MSw3IEBA IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGludGVsX2RwX3VudXNlZF9sYW5lX21hc2soaW50 IGxhbmVfY291bnQpCj4gIGJvb2wgaW50ZWxfZHBfcmVhZF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApOwo+ICBpbnQgaW50ZWxfZHBfbGlua19yZXF1aXJlZChpbnQgcGl4ZWxfY2xvY2ss IGludCBicHApOwo+ICBpbnQgaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShpbnQgbWF4X2xpbmtfY2xv Y2ssIGludCBtYXhfbGFuZXMpOwo+IC1ib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpwb3J0KTsKPiArYm9vbCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVk KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiAgCj4gIC8qIGludGVsX2RwX2F1eF9i YWNrbGlnaHQuYyAqLwo+ICBpbnQgaW50ZWxfZHBfYXV4X2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHNwY29uLmMKPiBpbmRleCBkY2JjNzg2NDc5ZjkuLjhhZThmNDJmNDMwYSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gQEAgLTE2NywxMSArMTY3LDEwIEBAIHN0 YXRpYyB2b2lkIGxzcGNvbl9yZXN1bWVfaW5fcGNvbl93YShzdHJ1Y3QgaW50ZWxfbHNwY29uICps c3Bjb24pCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBsc3Bjb25fdG9faW50 ZWxfZHAobHNwY29uKTsKPiAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0g ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gIAl1bnNpZ25lZCBs b25nIHN0YXJ0ID0gamlmZmllczsKPiAgCj4gIAl3aGlsZSAoMSkgewo+IC0JCWlmIChpbnRlbF9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBkaWdfcG9ydCkpIHsKPiArCQlpZiAoaW50 ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZCgmZGlnX3BvcnQtPmJhc2UpKSB7Cj4gIAkJCURSTV9E RUJVR19LTVMoIkxTUENPTiByZWNvdmVyaW5nIGluIFBDT04gbW9kZSBhZnRlciAldSBtc1xuIiwK PiAgCQkJCSAgICAgIGppZmZpZXNfdG9fbXNlY3MoamlmZmllcyAtIHN0YXJ0KSk7Cj4gIAkJCXJl dHVybjsKPiAtLSAKPiAyLjEzLjYKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=