From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/icl: combo port vswing programming changes per BSPEC Date: Mon, 3 Dec 2018 14:19:59 +0200 Message-ID: <20181203121959.GF9144@intel.com> References: <1543618681-15255-1-git-send-email-clinton.a.taylor@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id A1EF489911 for ; Mon, 3 Dec 2018 12:20:02 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1543618681-15255-1-git-send-email-clinton.a.taylor@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: clinton.a.taylor@intel.com Cc: Intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMzAsIDIwMTggYXQgMDI6NTg6MDFQTSAtMDgwMCwgY2xpbnRvbi5hLnRheWxv ckBpbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5bG9y QGludGVsLmNvbT4KPiAKPiBJbiBBdWd1c3QgMjAxOCB0aGUgQlNQRUMgY2hhbmdlZCB0aGUgSUNM IHBvcnQgcHJvZ3JhbW1pbmcgc2VxdWVuY2UgdG8KPiBjbG9zZWx5IHJlc2VtYmxlIGVhcmxpZXIg Z2VuIHByb2dyYW1taW5nIHNlcXVlbmNlLgo+IAo+IEJTcGVjOiAyMTI1Nwo+IENjOiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsg PGltcmUuZGVha0BpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGlu dGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDbGludCBUYXlsb3IgPGNsaW50b24uYS50YXlsb3JA aW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAg fCAgIDQgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAyMjMgKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgICAzIC0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25z KCspLCAxNDQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXgg ZDNlZjk3OS4uZTYzMmU5OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC0xODY2 LDYgKzE4NjYsMTAgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+ICAKPiAgI2RlZmluZSBD TkxfUE9SVF9UWF9EVzdfR1JQKHBvcnQpCV9NTUlPKF9DTkxfUE9SVF9UWF9EV19HUlAoKHBvcnQp LCA3KSkKPiAgI2RlZmluZSBDTkxfUE9SVF9UWF9EVzdfTE4wKHBvcnQpCV9NTUlPKF9DTkxfUE9S VF9UWF9EV19MTjAoKHBvcnQpLCA3KSkKPiArI2RlZmluZSBJQ0xfUE9SVF9UWF9EVzdfQVVYKHBv cnQpCV9NTUlPKF9JQ0xfUE9SVF9UWF9EV19BVVgoNywgcG9ydCkpCj4gKyNkZWZpbmUgSUNMX1BP UlRfVFhfRFc3X0dSUChwb3J0KQlfTU1JTyhfSUNMX1BPUlRfVFhfRFdfR1JQKDcsIHBvcnQpKQo+ ICsjZGVmaW5lIElDTF9QT1JUX1RYX0RXN19MTjAocG9ydCkJX01NSU8oX0lDTF9QT1JUX1RYX0RX X0xOKDcsIDAsIHBvcnQpKQo+ICsjZGVmaW5lIElDTF9QT1JUX1RYX0RXN19MTihwb3J0LCBsbikJ X01NSU8oX0lDTF9QT1JUX1RYX0RXX0xOKDcsIGxuLCBwb3J0KSkKPiAgI2RlZmluZSAgIE5fU0NB TEFSKHgpCQkJKCh4KSA8PCAyNCkKPiAgI2RlZmluZSAgIE5fU0NBTEFSX01BU0sJCQkoMHg3RiA8 PCAyNCkKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA2MWQ3MTQ1Li4yMTk0 NjRlOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTQ5MywxMDMgKzQ5Myw2 MyBAQCBzdHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgewo+ICAJeyAweDIsIDB4N0YsIDB4M0YsIDB4 MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4wICAgKi8KPiAgfTsKPiAgCj4gLXN0cnVj dCBpY2xfY29tYm9fcGh5X2RkaV9idWZfdHJhbnMgewo+IC0JdTMyIGR3Ml9zd2luZ19zZWxlY3Q7 Cj4gLQl1MzIgZHcyX3N3aW5nX3NjYWxhcjsKPiAtCXUzMiBkdzRfc2NhbGluZzsKPiAtfTsKPiAt Cj4gLS8qIFZvbHRhZ2UgU3dpbmcgUHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDAuODVWIGZvciBEUCAq Lwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGljbF9jb21ib19waHlfZGRpX2J1Zl90cmFucyBpY2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGRtaV8wXzg1VltdID0gewo+IC0JCQkJLyog Vm9sdGFnZSBtViAgZGIgICAgKi8KPiAtCXsgMHgyLCAweDk4LCAweDAwMTggfSwJLyogNDAwICAg ICAgICAgMC4wICAgKi8KPiAtCXsgMHgyLCAweDk4LCAweDMwMTUgfSwJLyogNDAwICAgICAgICAg My41ICAgKi8KPiAtCXsgMHgyLCAweDk4LCAweDYwMTIgfSwJLyogNDAwICAgICAgICAgNi4wICAg Ki8KPiAtCXsgMHgyLCAweDk4LCAweDkwMEYgfSwJLyogNDAwICAgICAgICAgOS41ICAgKi8KPiAt CXsgMHhCLCAweDcwLCAweDAwMTggfSwJLyogNjAwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHhC LCAweDcwLCAweDMwMTUgfSwJLyogNjAwICAgICAgICAgMy41ICAgKi8KPiAtCXsgMHhCLCAweDcw LCAweDYwMTIgfSwJLyogNjAwICAgICAgICAgNi4wICAgKi8KPiAtCXsgMHg1LCAweDAwLCAweDAw MTggfSwJLyogODAwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHg1LCAweDAwLCAweDMwMTUgfSwJ LyogODAwICAgICAgICAgMy41ICAgKi8KPiAtCXsgMHg2LCAweDk4LCAweDAwMTggfSwJLyogMTIw MCAgICAgICAgMC4wICAgKi8KPiAtfTsKPiAtCj4gLS8qIEZJWE1FIC0gQWZ0ZXIgdGFibGUgaXMg dXBkYXRlZCBpbiBCc3BlYyAqLwo+IC0vKiBWb2x0YWdlIFN3aW5nIFByb2dyYW1taW5nIGZvciBW Y2NJTyAwLjg1ViBmb3IgZURQICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWNsX2NvbWJvX3Bo eV9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF84NVZb XSA9IHsKPiAtCQkJCS8qIFZvbHRhZ2UgbVYgIGRiICAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgw MCB9LAkvKiAyMDAgICAgICAgICAwLjAgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyog MjAwICAgICAgICAgMS41ICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDIwMCAgICAg ICAgIDQuMCAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAyMDAgICAgICAgICA2LjAg ICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMjUwICAgICAgICAgMC4wICAgKi8KPiAt CXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDI1MCAgICAgICAgIDEuNSAgICovCj4gLQl7IDB4MCwg MHgwMCwgMHgwMCB9LAkvKiAyNTAgICAgICAgICA0LjAgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4 MDAgfSwJLyogMzAwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8q IDMwMCAgICAgICAgIDEuNSAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAg ICAgICAwLjAgICAqLwo+ICsvKiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnMgKi8KPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90 cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiArCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8K PiArCXsgMHhBLCAweDM1LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDM1MCAgIDM1MCAgICAgIDAu MCAgICovCj4gKwl7IDB4QSwgMHg0RiwgMHgzNywgMHgwMCwgMHgwOCB9LAkvKiAzNTAgICA1MDAg ICAgICAzLjEgICAqLwo+ICsJeyAweEMsIDB4NzEsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogMzUw ICAgNzAwICAgICAgNi4wICAgKi8KPiArCXsgMHg2LCAweDdGLCAweDJCLCAweDAwLCAweDE0IH0s CS8qIDM1MCAgIDkwMCAgICAgIDguMiAgICovCj4gKwl7IDB4QSwgMHg0QywgMHgzRiwgMHgwMCwg MHgwMCB9LAkvKiA1MDAgICA1MDAgICAgICAwLjAgICAqLwo+ICsJeyAweEMsIDB4NzMsIDB4MzQs IDB4MDAsIDB4MEIgfSwJLyogNTAwICAgNzAwICAgICAgMi45ICAgKi8KPiArCXsgMHg2LCAweDdG LCAweDJGLCAweDAwLCAweDEwIH0sCS8qIDUwMCAgIDkwMCAgICAgIDUuMSAgICovCj4gKwl7IDB4 QywgMHg2QywgMHgzQywgMHgwMCwgMHgwMyB9LAkvKiA2NTAgICA3MDUgICAgICAwLjYgICAqLwo+ ICsJeyAweDYsIDB4N0YsIDB4MzUsIDB4MDAsIDB4MEEgfSwJLyogNjAwICAgOTAwICAgICAgMy41 ICAgKi8KPiArCXsgMHg2LCAweDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDkwMCAgIDkwMCAg ICAgIDAuMCAgICovCj4gIH07Cj4gIAo+IC0vKiBWb2x0YWdlIFN3aW5nIFByb2dyYW1taW5nIGZv ciBWY2NJTyAwLjk1ViBmb3IgRFAgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBpY2xfY29tYm9f cGh5X2RkaV9idWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hkbWlf MF85NVZbXSA9IHsKPiAtCQkJCS8qIFZvbHRhZ2UgbVYgIGRiICAgICovCj4gLQl7IDB4MiwgMHg5 OCwgMHgwMDE4IH0sCS8qIDQwMCAgICAgICAgIDAuMCAgICovCj4gLQl7IDB4MiwgMHg5OCwgMHgz MDE1IH0sCS8qIDQwMCAgICAgICAgIDMuNSAgICovCj4gLQl7IDB4MiwgMHg5OCwgMHg2MDEyIH0s CS8qIDQwMCAgICAgICAgIDYuMCAgICovCj4gLQl7IDB4MiwgMHg5OCwgMHg5MDBGIH0sCS8qIDQw MCAgICAgICAgIDkuNSAgICovCj4gLQl7IDB4NCwgMHg5OCwgMHgwMDE4IH0sCS8qIDYwMCAgICAg ICAgIDAuMCAgICovCj4gLQl7IDB4NCwgMHg5OCwgMHgzMDE1IH0sCS8qIDYwMCAgICAgICAgIDMu NSAgICovCj4gLQl7IDB4NCwgMHg5OCwgMHg2MDEyIH0sCS8qIDYwMCAgICAgICAgIDYuMCAgICov Cj4gLQl7IDB4NSwgMHg3NiwgMHgwMDE4IH0sCS8qIDgwMCAgICAgICAgIDAuMCAgICovCj4gLQl7 IDB4NSwgMHg3NiwgMHgzMDE1IH0sCS8qIDgwMCAgICAgICAgIDMuNSAgICovCj4gLQl7IDB4Niwg MHg5OCwgMHgwMDE4IH0sCS8qIDEyMDAgICAgICAgIDAuMCAgICovCj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgY25sX2RkaV9idWZfdHJhbnMgaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Vk cF9sb3dzd2luZ1tdID0gewo+ICsJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ICsJ eyAweDAsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMjAwICAgMjAwICAgICAgMC4wICAg Ki8KPiArCXsgMHg4LCAweDdGLCAweDM4LCAweDAwLCAweDA3IH0sCS8qIDIwMCAgIDI1MCAgICAg IDEuOSAgICovCj4gKwl7IDB4MSwgMHg3RiwgMHgzMywgMHgwMCwgMHgwQyB9LAkvKiAyMDAgICAz MDAgICAgICAzLjUgICAqLwo+ICsJeyAweDksIDB4N0YsIDB4MzEsIDB4MDAsIDB4MEUgfSwJLyog MjAwICAgMzUwICAgICAgNC45ICAgKi8KPiArCXsgMHg4LCAweDdGLCAweDNGLCAweDAwLCAweDAw IH0sCS8qIDI1MCAgIDI1MCAgICAgIDAuMCAgICovCj4gKwl7IDB4MSwgMHg3RiwgMHgzOCwgMHgw MCwgMHgwNyB9LAkvKiAyNTAgICAzMDAgICAgICAxLjYgICAqLwo+ICsJeyAweDksIDB4N0YsIDB4 MzUsIDB4MDAsIDB4MEEgfSwJLyogMjUwICAgMzUwICAgICAgMi45ICAgKi8KPiArCXsgMHgxLCAw eDdGLCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDMwMCAgIDMwMCAgICAgIDAuMCAgICovCj4gKwl7 IDB4OSwgMHg3RiwgMHgzOCwgMHgwMCwgMHgwNyB9LAkvKiAzMDAgICAzNTAgICAgICAxLjMgICAq Lwo+ICsJeyAweDksIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgMzUwICAgICAg MC4wICAgKi8KPiAgfTsKPiAgCj4gLS8qIEZJWE1FIC0gQWZ0ZXIgdGFibGUgaXMgdXBkYXRlZCBp biBCc3BlYyAqLwo+IC0vKiBWb2x0YWdlIFN3aW5nIFByb2dyYW1taW5nIGZvciBWY2NJTyAwLjk1 ViBmb3IgZURQICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWNsX2NvbWJvX3BoeV9kZGlfYnVm X3RyYW5zIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfMF85NVZbXSA9IHsKPiAt CQkJCS8qIFZvbHRhZ2UgbVYgIGRiICAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAy MDAgICAgICAgICAwLjAgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMjAwICAgICAg ICAgMS41ICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDIwMCAgICAgICAgIDQuMCAg ICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAyMDAgICAgICAgICA2LjAgICAqLwo+IC0J eyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMjUwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHgwLCAw eDAwLCAweDAwIH0sCS8qIDI1MCAgICAgICAgIDEuNSAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgw MCB9LAkvKiAyNTAgICAgICAgICA0LjAgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyog MzAwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDMwMCAgICAg ICAgIDEuNSAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAzNTAgICAgICAgICAwLjAg ICAqLwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zIGljbF9jb21ib19w aHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyM1tdID0gewo+ICsJCQkJCQkvKiBOVCBtViBUcmFu cyBtViBkYiAgICAqLwo+ICsJeyAweEEsIDB4MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogMzUw ICAgMzUwICAgICAgMC4wICAgKi8KPiArCXsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0s CS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCj4gKwl7IDB4QywgMHg3MSwgMHgyRiwgMHgwMCwg MHgxMCB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLwo+ICsJeyAweDYsIDB4N0YsIDB4MkIs IDB4MDAsIDB4MTQgfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAgKi8KPiArCXsgMHhBLCAweDRD LCAweDNGLCAweDAwLCAweDAwIH0sCS8qIDUwMCAgIDUwMCAgICAgIDAuMCAgICovCj4gKwl7IDB4 QywgMHg3MywgMHgzNCwgMHgwMCwgMHgwQiB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLwo+ ICsJeyAweDYsIDB4N0YsIDB4MkYsIDB4MDAsIDB4MTAgfSwJLyogNTAwICAgOTAwICAgICAgNS4x ICAgKi8KPiArCXsgMHhDLCAweDZDLCAweDNDLCAweDAwLCAweDAzIH0sCS8qIDY1MCAgIDcwMCAg ICAgIDAuNiAgICovCj4gKwl7IDB4NiwgMHg3RiwgMHgzNSwgMHgwMCwgMHgwQSB9LAkvKiA2MDAg ICA5MDAgICAgICAzLjUgICAqLwo+ICsJeyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJ LyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KPiAgfTsKPiAgCj4gLS8qIFZvbHRhZ2UgU3dpbmcg UHJvZ3JhbW1pbmcgZm9yIFZjY0lPIDEuMDVWIGZvciBEUCAqLwo+IC1zdGF0aWMgY29uc3Qgc3Ry dWN0IGljbF9jb21ib19waHlfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xh dGlvbnNfZHBfaGRtaV8xXzA1VltdID0gewo+IC0JCQkJLyogVm9sdGFnZSBtViAgZGIgICAgKi8K PiAtCXsgMHgyLCAweDk4LCAweDAwMTggfSwJLyogNDAwICAgICAgICAgMC4wICAgKi8KPiAtCXsg MHgyLCAweDk4LCAweDMwMTUgfSwJLyogNDAwICAgICAgICAgMy41ICAgKi8KPiAtCXsgMHgyLCAw eDk4LCAweDYwMTIgfSwJLyogNDAwICAgICAgICAgNi4wICAgKi8KPiAtCXsgMHgyLCAweDk4LCAw eDkwMEYgfSwJLyogNDAwICAgICAgICAgOS41ICAgKi8KPiAtCXsgMHg0LCAweDk4LCAweDAwMTgg fSwJLyogNjAwICAgICAgICAgMC4wICAgKi8KPiAtCXsgMHg0LCAweDk4LCAweDMwMTUgfSwJLyog NjAwICAgICAgICAgMy41ICAgKi8KPiAtCXsgMHg0LCAweDk4LCAweDYwMTIgfSwJLyogNjAwICAg ICAgICAgNi4wICAgKi8KPiAtCXsgMHg1LCAweDcxLCAweDAwMTggfSwJLyogODAwICAgICAgICAg MC4wICAgKi8KPiAtCXsgMHg1LCAweDcxLCAweDMwMTUgfSwJLyogODAwICAgICAgICAgMy41ICAg Ki8KPiAtCXsgMHg2LCAweDk4LCAweDAwMTggfSwJLyogMTIwMCAgICAgICAgMC4wICAgKi8KPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90 cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+ICsJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAq Lwo+ICsJeyAweEEsIDB4NjAsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDUwICAgNDUwICAgICAg MC4wICAgKi8KPiArCXsgMHhCLCAweDczLCAweDM2LCAweDAwLCAweDA5IH0sCS8qIDQ1MCAgIDY1 MCAgICAgIDMuMiAgICovCj4gKwl7IDB4NiwgMHg3RiwgMHgzMSwgMHgwMCwgMHgwRSB9LAkvKiA0 NTAgICA4NTAgICAgICA1LjUgICAqLwo+ICsJeyAweEIsIDB4NzMsIDB4M0YsIDB4MDAsIDB4MDAg fSwJLyogNjUwICAgNjUwICAgICAgMC4wICAgQUxTICovCj4gKwl7IDB4NiwgMHg3RiwgMHgzNywg MHgwMCwgMHgwOCB9LAkvKiA2NTAgICA4NTAgICAgICAyLjMgICAqLwo+ICsJeyAweDYsIDB4N0Ys IDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogODUwICAgODUwICAgICAgMC4wICAgKi8KPiArCXsgMHg2 LCAweDdGLCAweDM1LCAweDAwLCAweDBBIH0sCS8qIDYwMCAgIDg1MCAgICAgIDMuMCAgICovCj4g IH07Cj4gIAo+IC0vKiBGSVhNRSAtIEFmdGVyIHRhYmxlIGlzIHVwZGF0ZWQgaW4gQnNwZWMgKi8K PiAtLyogVm9sdGFnZSBTd2luZyBQcm9ncmFtbWluZyBmb3IgVmNjSU8gMS4wNVYgZm9yIGVEUCAq Lwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGljbF9jb21ib19waHlfZGRpX2J1Zl90cmFucyBpY2xf Y29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwXzFfMDVWW10gPSB7Cj4gLQkJCQkvKiBWb2x0 YWdlIG1WICBkYiAgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMjAwICAgICAgICAg MC4wICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDIwMCAgICAgICAgIDEuNSAgICov Cj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAyMDAgICAgICAgICA0LjAgICAqLwo+IC0JeyAw eDAsIDB4MDAsIDB4MDAgfSwJLyogMjAwICAgICAgICAgNi4wICAgKi8KPiAtCXsgMHgwLCAweDAw LCAweDAwIH0sCS8qIDI1MCAgICAgICAgIDAuMCAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9 LAkvKiAyNTAgICAgICAgICAxLjUgICAqLwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMjUw ICAgICAgICAgNC4wICAgKi8KPiAtCXsgMHgwLCAweDAwLCAweDAwIH0sCS8qIDMwMCAgICAgICAg IDAuMCAgICovCj4gLQl7IDB4MCwgMHgwMCwgMHgwMCB9LAkvKiAzMDAgICAgICAgICAxLjUgICAq Lwo+IC0JeyAweDAsIDB4MDAsIDB4MDAgfSwJLyogMzUwICAgICAgICAgMC4wICAgKi8KPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyBpY2xfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfbWlwaVtdID0gewo+ICsJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLwo+ ICsJeyAweDIsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSwJLyogNDAwICAgNDAwICAgICAgMC4w ICAgKi8KPiAgfTsKPiAgCj4gIHN0cnVjdCBpY2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgewo+IEBA IC04NzAsNDMgKzgzMCwyNyBAQCBzdGF0aWMgaW50IHNrbF9idWZfdHJhbnNfbnVtX2VudHJpZXMo ZW51bSBwb3J0IHBvcnQsIGludCBuX2VudHJpZXMpCj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBj b25zdCBzdHJ1Y3QgaWNsX2NvbWJvX3BoeV9kZGlfYnVmX3RyYW5zICoKPiArc3RhdGljIGNvbnN0 IHN0cnVjdCBjbmxfZGRpX2J1Zl90cmFucyAqCj4gIGljbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQsCj4gIAkJCWlu dCB0eXBlLCBpbnQgKm5fZW50cmllcykKPiAgewo+IC0JdTMyIHZvbHRhZ2UgPSBJOTE1X1JFQUQo SUNMX1BPUlRfQ09NUF9EVzMocG9ydCkpICYgVk9MVEFHRV9JTkZPX01BU0s7Cj4gIAo+ICAJaWYg KHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCAmJiBkZXZfcHJpdi0+dmJ0LmVkcC5sb3dfdnN3aW5n KSB7Cj4gLQkJc3dpdGNoICh2b2x0YWdlKSB7Cj4gLQkJY2FzZSBWT0xUQUdFX0lORk9fMF84NVY6 Cj4gLQkJCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19lZHBfMF84NVYpOwo+IC0JCQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRp b25zX2VkcF8wXzg1VjsKPiAtCQljYXNlIFZPTFRBR0VfSU5GT18wXzk1VjoKPiAtCQkJKm5fZW50 cmllcyA9IEFSUkFZX1NJWkUoaWNsX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF8wXzk1 Vik7Cj4gLQkJCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwXzBfOTVW Owo+IC0JCWNhc2UgVk9MVEFHRV9JTkZPXzFfMDVWOgo+IC0JCQkqbl9lbnRyaWVzID0gQVJSQVlf U0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwXzFfMDVWKTsKPiAtCQkJcmV0 dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfMV8wNVY7Cj4gLQkJZGVmYXVs dDoKPiAtCQkJTUlTU0lOR19DQVNFKHZvbHRhZ2UpOwo+IC0JCQlyZXR1cm4gTlVMTDsKPiAtCQl9 Cj4gLQl9IGVsc2Ugewo+IC0JCXN3aXRjaCAodm9sdGFnZSkgewo+IC0JCWNhc2UgVk9MVEFHRV9J TkZPXzBfODVWOgo+IC0JCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGRtaV8wXzg1Vik7Cj4gLQkJCXJldHVybiBpY2xfY29tYm9fcGh5 X2RkaV90cmFuc2xhdGlvbnNfZHBfaGRtaV8wXzg1VjsKPiAtCQljYXNlIFZPTFRBR0VfSU5GT18w Xzk1VjoKPiAtCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoaWNsX2NvbWJvX3BoeV9kZGlfdHJh bnNsYXRpb25zX2RwX2hkbWlfMF85NVYpOwo+IC0JCQlyZXR1cm4gaWNsX2NvbWJvX3BoeV9kZGlf dHJhbnNsYXRpb25zX2RwX2hkbWlfMF85NVY7Cj4gLQkJY2FzZSBWT0xUQUdFX0lORk9fMV8wNVY6 Cj4gLQkJCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19kcF9oZG1pXzFfMDVWKTsKPiAtCQkJcmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5z bGF0aW9uc19kcF9oZG1pXzFfMDVWOwo+IC0JCWRlZmF1bHQ6Cj4gLQkJCU1JU1NJTkdfQ0FTRSh2 b2x0YWdlKTsKPiAtCQkJcmV0dXJuIE5VTEw7Cj4gLQkJfQo+ICsJCSpuX2VudHJpZXMgPSBBUlJB WV9TSVpFKGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfbG93c3dpbmcpOwo+ICsJ CXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2xvd3N3aW5nOwo+ICsJ fSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsKPiArCQkqbl9lbnRyaWVzID0g QVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjMpOwo+ICsJ CXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjM7Cj4gKwl9IGVs c2UgaWYgKCh0eXBlID09IElOVEVMX09VVFBVVF9EUCkgfHwgKHR5cGUgPT0gSU5URUxfT1VUUFVU X0RESSkgfHwKPiArCQkgICAgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQX01TVCkpIHsKCkkgd291 bGQgbW92ZSB0aGUgaGRtaSBjYXNlIGZpcnN0IHRvIG1hdGNoIGhvdyBtb3N0IG90aGVyIHBsYXRm b3JtcyBkbwppdCwgYW5kIHRvIGVsaW1pbmF0ZSB0aGlzIGNvbXBsaWNhdGVkIERQIGNoZWNrLgoK PiArCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZHApOwo+ICsJCXJldHVybiBpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHA7Cj4g Kwl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiArCQkqbl9lbnRyaWVz ID0gQVJSQVlfU0laRShpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaSk7Cj4gKwkJ cmV0dXJuIGljbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19oZG1pOwo+ICAJfQo+ICsKPiAr CXJldHVybiBOVUxMOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGludGVsX2RkaV9oZG1pX2xldmVs KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCj4gQEAg LTI0NjMsNyArMjQwNyw3IEBAIHN0YXRpYyB2b2lkIGNubF9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICBzdGF0aWMgdm9pZCBpY2xfZGRpX2NvbWJv X3Zzd2luZ19wcm9ncmFtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJ CQkgdTMyIGxldmVsLCBlbnVtIHBvcnQgcG9ydCwgaW50IHR5cGUpCj4gIHsKPiAtCWNvbnN0IHN0 cnVjdCBpY2xfY29tYm9fcGh5X2RkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnMgPSBOVUxM Owo+ICsJY29uc3Qgc3RydWN0IGNubF9kZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zID0g TlVMTDsKPiAgCXUzMiBuX2VudHJpZXMsIHZhbDsKPiAgCWludCBsbjsKPiAgCj4gQEAgLTI0Nzcs MzQgKzI0MjEsMjMgQEAgc3RhdGljIHZvaWQgaWNsX2RkaV9jb21ib192c3dpbmdfcHJvZ3JhbShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJbGV2ZWwgPSBuX2VudHJpZXMg LSAxOwo+ICAJfQo+ICAKPiAtCS8qIFNldCBQT1JUX1RYX0RXNSBSdGVybSBTZWwgdG8gMTEwYi4g Ki8KPiArCS8qIFNldCBQT1JUX1RYX0RXNSAqLwo+ICAJdmFsID0gSTkxNV9SRUFEKElDTF9QT1JU X1RYX0RXNV9MTjAocG9ydCkpOwo+IC0JdmFsICY9IH5SVEVSTV9TRUxFQ1RfTUFTSzsKPiArCXZh bCAmPSB+KFNDQUxJTkdfTU9ERV9TRUxfTUFTSyB8IFJURVJNX1NFTEVDVF9NQVNLIHwKPiArCQkg IFRBUDJfRElTQUJMRSB8IFRBUDNfRElTQUJMRSk7Cj4gKwl2YWwgfD0gU0NBTElOR19NT0RFX1NF TCgweDIpOwo+ICAJdmFsIHw9IFJURVJNX1NFTEVDVCgweDYpOwo+IC0JSTkxNV9XUklURShJQ0xf UE9SVF9UWF9EVzVfR1JQKHBvcnQpLCB2YWwpOwo+IC0KPiAtCS8qIFByb2dyYW0gUE9SVF9UWF9E VzUgKi8KPiAtCXZhbCA9IEk5MTVfUkVBRChJQ0xfUE9SVF9UWF9EVzVfTE4wKHBvcnQpKTsKPiAt CS8qIFNldCBEaXNhYmxlVGFwMiBhbmQgRGlzYWJsZVRhcDMgaWYgTUlQSSBEU0kKPiAtCSAqIENs ZWFyIERpc2FibGVUYXAyIGFuZCBEaXNhYmxlVGFwMyBmb3IgYWxsIG90aGVyIFBvcnRzCj4gLQkg Ki8KPiAtCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9EU0kpIHsKPiAtCQl2YWwgfD0gVEFQMl9E SVNBQkxFOwo+IC0JCXZhbCB8PSBUQVAzX0RJU0FCTEU7Cj4gLQl9IGVsc2Ugewo+IC0JCXZhbCAm PSB+VEFQMl9ESVNBQkxFOwo+IC0JCXZhbCAmPSB+VEFQM19ESVNBQkxFOwo+IC0JfQo+ICsJdmFs IHw9IFRBUDNfRElTQUJMRTsKPiAgCUk5MTVfV1JJVEUoSUNMX1BPUlRfVFhfRFc1X0dSUChwb3J0 KSwgdmFsKTsKPiAgCj4gIAkvKiBQcm9ncmFtIFBPUlRfVFhfRFcyICovCj4gIAl2YWwgPSBJOTE1 X1JFQUQoSUNMX1BPUlRfVFhfRFcyX0xOMChwb3J0KSk7Cj4gIAl2YWwgJj0gfihTV0lOR19TRUxf TE9XRVJfTUFTSyB8IFNXSU5HX1NFTF9VUFBFUl9NQVNLIHwKPiAgCQkgUkNPTVBfU0NBTEFSX01B U0spOwo+IC0JdmFsIHw9IFNXSU5HX1NFTF9VUFBFUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5k dzJfc3dpbmdfc2VsZWN0KTsKPiAtCXZhbCB8PSBTV0lOR19TRUxfTE9XRVIoZGRpX3RyYW5zbGF0 aW9uc1tsZXZlbF0uZHcyX3N3aW5nX3NlbGVjdCk7Cj4gKwl2YWwgfD0gU1dJTkdfU0VMX1VQUEVS KGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3Ml9zd2luZ19zZWwpOwo+ICsJdmFsIHw9IFNXSU5H X1NFTF9MT1dFUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2VsKTsKPiAgCS8q IFByb2dyYW0gUmNvbXAgc2NhbGFyIGZvciBldmVyeSB0YWJsZSBlbnRyeSAqLwo+IC0JdmFsIHw9 IFJDT01QX1NDQUxBUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzJfc3dpbmdfc2NhbGFyKTsK PiArCXZhbCB8PSBSQ09NUF9TQ0FMQVIoMHg5OCk7Cj4gIAlJOTE1X1dSSVRFKElDTF9QT1JUX1RY X0RXMl9HUlAocG9ydCksIHZhbCk7Cj4gIAo+ICAJLyogUHJvZ3JhbSBQT1JUX1RYX0RXNCAqLwo+ IEBAIC0yNTEzLDkgKzI0NDYsMTcgQEAgc3RhdGljIHZvaWQgaWNsX2RkaV9jb21ib192c3dpbmdf cHJvZ3JhbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJdmFsID0gSTkx NV9SRUFEKElDTF9QT1JUX1RYX0RXNF9MTihwb3J0LCBsbikpOwo+ICAJCXZhbCAmPSB+KFBPU1Rf Q1VSU09SXzFfTUFTSyB8IFBPU1RfQ1VSU09SXzJfTUFTSyB8Cj4gIAkJCSBDVVJTT1JfQ09FRkZf TUFTSyk7Cj4gLQkJdmFsIHw9IGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9zY2FsaW5nOwo+ ICsJCXZhbCB8PSBQT1NUX0NVUlNPUl8xKGRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmR3NF9wb3N0 X2N1cnNvcl8xKTsKPiArCQl2YWwgfD0gUE9TVF9DVVJTT1JfMihkZGlfdHJhbnNsYXRpb25zW2xl dmVsXS5kdzRfcG9zdF9jdXJzb3JfMik7Cj4gKwkJdmFsIHw9IENVUlNPUl9DT0VGRihkZGlfdHJh bnNsYXRpb25zW2xldmVsXS5kdzRfY3Vyc29yX2NvZWZmKTsKPiAgCQlJOTE1X1dSSVRFKElDTF9Q T1JUX1RYX0RXNF9MTihwb3J0LCBsbiksIHZhbCk7Cj4gIAl9Cj4gKwo+ICsJLyogUHJvZ3JhbSBQ T1JUX1RYX0RXNyAqLwoKVGhlIGNvbW1lbnQgaXMgcmVkdW5kYW50LgoKPiArCXZhbCA9IEk5MTVf UkVBRChJQ0xfUE9SVF9UWF9EVzdfTE4wKHBvcnQpKTsKPiArCXZhbCAmPSB+Tl9TQ0FMQVJfTUFT SzsKPiArCXZhbCB8PSBOX1NDQUxBUihkZGlfdHJhbnNsYXRpb25zW2xldmVsXS5kdzdfbl9zY2Fs YXIpOwo+ICsJSTkxNV9XUklURShJQ0xfUE9SVF9UWF9EVzdfR1JQKHBvcnQpLCB2YWwpOwo+ICB9 Cj4gIAo+ICBzdGF0aWMgdm9pZCBpY2xfY29tYm9fcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IDc4OWY2NDdiZC4uNmMxMjVhZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBAQCAtMTU0MzUsOSArMTU0MzUsNiBAQCBzdGF0aWMgdm9pZCBpbnRl bF9zYW5pdGl6ZV9lbmNvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAKPiAg CS8qIG5vdGlmeSBvcHJlZ2lvbiBvZiB0aGUgc2FuaXRpemVkIGVuY29kZXIgc3RhdGUgKi8KPiAg CWludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKGVuY29kZXIsIGNvbm5lY3RvciAmJiBoYXNf YWN0aXZlX2NydGMpOwo+IC0KPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+IC0J CWljbF9zYW5pdGl6ZV9lbmNvZGVyX3BsbF9tYXBwaW5nKGVuY29kZXIpOwo+ICB9Cj4gIAo+ICB2 b2lkIGk5MTVfcmVkaXNhYmxlX3ZnYV9wb3dlcl9vbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gLS0gCj4gMS45LjEKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==