From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v2.1 06/23] v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY Date: Fri, 31 Aug 2018 11:02:55 +0300 Message-ID: <20180831080255.25285-1-sakari.ailus@linux.intel.com> References: <20180827093000.29165-7-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180827093000.29165-7-sakari.ailus@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org VGhlIENTSS0yIGJ1cyBtYXkgdXNlIGVpdGhlciBELVBIWSBvciBDLVBIWS4gTWFrZSB0aGlzIHZp c2libGUgaW4gbWVkaWEKYnVzIGVudW0uCgpTaWduZWQtb2ZmLWJ5OiBTYWthcmkgQWlsdXMgPHNh a2FyaS5haWx1c0BsaW51eC5pbnRlbC5jb20+ClRlc3RlZC1ieTogU3RldmUgTG9uZ2VyYmVhbSA8 c3RldmVfbG9uZ2VyYmVhbUBtZW50b3IuY29tPgotLS0Kc2luY2UgdjI6Ci0gZHJpdmVycy9ncHUv aXB1LXYzL2lwdS1jc2kuYyBnb3QgY2hhbmdlZCwgcmVxdWlyaW5nIGNoYW5nZXMgaGVyZS4KCiBk cml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNzaS5jICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0t LQogZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4MC5jICAgICAgICAgICAgICAgICAgICAgIHwgMiAr LQogZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgNCAr Ky0tCiBkcml2ZXJzL21lZGlhL2kyYy9vdjU2NDUuYyAgICAgICAgICAgICAgICAgICAgICAgfCAy ICstCiBkcml2ZXJzL21lZGlhL2kyYy9vdjcyNTEuYyAgICAgICAgICAgICAgICAgICAgICAgfCA0 ICsrLS0KIGRyaXZlcnMvbWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMgICAgICAgICB8 IDIgKy0KIGRyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYyAgICAgICAgICAgICAgICAgICAgICB8 IDQgKystLQogZHJpdmVycy9tZWRpYS9pMmMvczVrNmFhLmMgICAgICAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy9tZWRpYS9pMmMvc21pYXBwL3NtaWFwcC1jb3JlLmMgICAgICAgICAg IHwgMiArLQogZHJpdmVycy9tZWRpYS9pMmMvc29jX2NhbWVyYS9vdjU2NDIuYyAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy9tZWRpYS9pMmMvdGMzNTg3NDMuYyAgICAgICAgICAgICAgICAgICAg IHwgNCArKy0tCiBkcml2ZXJzL21lZGlhL3BjaS9pbnRlbC9pcHUzL2lwdTMtY2lvMi5jICAgICAg ICAgfCAyICstCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NhZGVuY2UvY2Rucy1jc2kycnguYyAg ICAgfCAyICstCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NhZGVuY2UvY2Rucy1jc2kydHguYyAg ICAgfCAyICstCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tY2FtLWNvcmUu YyAgfCA0ICsrLS0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21tcC1kcml2 ZXIuYyB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwLmMgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcHhhX2NhbWVyYS5jICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jc2kyLmMg ICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfbWVkaWFi dXMuYyB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIvc3RtMzItZGNtaS5jICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGktdnBlL2NhbC5jICAgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMgICAgICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14LW1lZGlhLWNzaS5jICAg ICAgICB8IDIgKy0KIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14Ni1taXBpLWNzaTIuYyAg ICAgICB8IDIgKy0KIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgwNzQvaW14MDc0LmMgICAgICAg ICAgICB8IDIgKy0KIGluY2x1ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1cy5oICAgICAgICAgICAgICAg ICAgICB8IDYgKysrKy0tCiAyNyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAzNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNzaS5jIGIv ZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1jc2kuYwppbmRleCA5NTRlZWZlMTQ0ZTIuLmFhMGUzMGEy YmExOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1jc2kuYworKysgYi9kcml2 ZXJzL2dwdS9pcHUtdjMvaXB1LWNzaS5jCkBAIC0yMzIsNyArMjMyLDcgQEAgc3RhdGljIGludCBt YnVzX2NvZGVfdG9fYnVzX2NmZyhzdHJ1Y3QgaXB1X2NzaV9idXNfY29uZmlnICpjZmcsIHUzMiBt YnVzX2NvZGUsCiAJY2FzZSBNRURJQV9CVVNfRk1UX0JHUjU2NV8yWDhfTEU6CiAJY2FzZSBNRURJ QV9CVVNfRk1UX1JHQjU2NV8yWDhfQkU6CiAJY2FzZSBNRURJQV9CVVNfRk1UX1JHQjU2NV8yWDhf TEU6Ci0JCWlmIChtYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTIpCisJCWlmIChtYnVzX3R5cGUg PT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkKIAkJCWNmZy0+ZGF0YV9mbXQgPSBDU0lfU0VOU19DT05G X0RBVEFfRk1UX1JHQjU2NTsKIAkJZWxzZQogCQkJY2ZnLT5kYXRhX2ZtdCA9IENTSV9TRU5TX0NP TkZfREFUQV9GTVRfQkFZRVI7CkBAIC0zNTksNyArMzU5LDcgQEAgc3RhdGljIGludCBmaWxsX2Nz aV9idXNfY2ZnKHN0cnVjdCBpcHVfY3NpX2J1c19jb25maWcgKmNzaWNmZywKIAkJZWxzZQogCQkJ Y3NpY2ZnLT5jbGtfbW9kZSA9IElQVV9DU0lfQ0xLX01PREVfQ0NJUjY1Nl9QUk9HUkVTU0lWRTsK IAkJYnJlYWs7Ci0JY2FzZSBWNEwyX01CVVNfQ1NJMjoKKwljYXNlIFY0TDJfTUJVU19DU0kyX0RQ SFk6CiAJCS8qCiAJCSAqIE1JUEkgQ1NJLTIgcmVxdWlyZXMgbm9uIGdhdGVkIGNsb2NrIG1vZGUs IGFsbCBvdGhlcgogCQkgKiBwYXJhbWV0ZXJzIGFyZSBub3QgYXBwbGljYWJsZSBmb3IgTUlQSSBD U0ktMiBidXMuCkBAIC02MTEsNyArNjExLDcgQEAgaW50IGlwdV9jc2lfc2V0X21pcGlfZGF0YXR5 cGUoc3RydWN0IGlwdV9jc2kgKmNzaSwgdTMyIHZjLAogCWlmICh2YyA+IDMpCiAJCXJldHVybiAt RUlOVkFMOwogCi0JcmV0ID0gbWJ1c19jb2RlX3RvX2J1c19jZmcoJmNmZywgbWJ1c19mbXQtPmNv ZGUsIFY0TDJfTUJVU19DU0kyKTsKKwlyZXQgPSBtYnVzX2NvZGVfdG9fYnVzX2NmZygmY2ZnLCBt YnVzX2ZtdC0+Y29kZSwgVjRMMl9NQlVTX0NTSTJfRFBIWSk7CiAJaWYgKHJldCA8IDApCiAJCXJl dHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL2FkdjcxODAuYyBiL2Ry aXZlcnMvbWVkaWEvaTJjL2FkdjcxODAuYwppbmRleCBkZTEwMzY3ZDU1MGIuLjI4NDhhNDZkMTQ5 YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4MC5jCisrKyBiL2RyaXZlcnMv bWVkaWEvaTJjL2FkdjcxODAuYwpAQCAtNzYxLDcgKzc2MSw3IEBAIHN0YXRpYyBpbnQgYWR2NzE4 MF9nX21idXNfY29uZmlnKHN0cnVjdCB2NGwyX3N1YmRldiAqc2QsCiAJc3RydWN0IGFkdjcxODBf c3RhdGUgKnN0YXRlID0gdG9fc3RhdGUoc2QpOwogCiAJaWYgKHN0YXRlLT5jaGlwX2luZm8tPmZs YWdzICYgQURWNzE4MF9GTEFHX01JUElfQ1NJMikgewotCQljZmctPnR5cGUgPSBWNEwyX01CVVNf Q1NJMjsKKwkJY2ZnLT50eXBlID0gVjRMMl9NQlVTX0NTSTJfRFBIWTsKIAkJY2ZnLT5mbGFncyA9 IFY0TDJfTUJVU19DU0kyXzFfTEFORSB8CiAJCQkJVjRMMl9NQlVTX0NTSTJfQ0hBTk5FTF8wIHwK IAkJCQlWNEwyX01CVVNfQ1NJMl9DT05USU5VT1VTX0NMT0NLOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS9pMmMvb3Y1NjQwLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDAuYwppbmRleCAw NzFmNGJjMjQwY2EuLjk0MjUzMWFhYWU5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMv b3Y1NjQwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQwLmMKQEAgLTE3ODYsNyArMTc4 Niw3IEBAIHN0YXRpYyBpbnQgb3Y1NjQwX3NldF9wb3dlcihzdHJ1Y3Qgb3Y1NjQwX2RldiAqc2Vu c29yLCBib29sIG9uKQogCQlpZiAocmV0KQogCQkJZ290byBwb3dlcl9vZmY7CiAKLQkJaWYgKHNl bnNvci0+ZXAuYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTIpIHsKKwkJaWYgKHNlbnNvci0+ZXAu YnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQkJLyoKIAkJCSAqIHN0YXJ0IHN0 cmVhbWluZyBicmllZmx5IGZvbGxvd2VkIGJ5IHN0cmVhbSBvZmYgaW4KIAkJCSAqIG9yZGVyIHRv IGNvYXggdGhlIGNsb2NrIGxhbmUgaW50byBMUC0xMSBzdGF0ZS4KQEAgLTI1NTAsNyArMjU1MCw3 IEBAIHN0YXRpYyBpbnQgb3Y1NjQwX3Nfc3RyZWFtKHN0cnVjdCB2NGwyX3N1YmRldiAqc2QsIGlu dCBlbmFibGUpCiAJCQkJZ290byBvdXQ7CiAJCX0KIAotCQlpZiAoc2Vuc29yLT5lcC5idXNfdHlw ZSA9PSBWNEwyX01CVVNfQ1NJMikKKwkJaWYgKHNlbnNvci0+ZXAuYnVzX3R5cGUgPT0gVjRMMl9N QlVTX0NTSTJfRFBIWSkKIAkJCXJldCA9IG92NTY0MF9zZXRfc3RyZWFtX21pcGkoc2Vuc29yLCBl bmFibGUpOwogCQllbHNlCiAJCQlyZXQgPSBvdjU2NDBfc2V0X3N0cmVhbV9kdnAoc2Vuc29yLCBl bmFibGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ1LmMgYi9kcml2ZXJz L21lZGlhL2kyYy9vdjU2NDUuYwppbmRleCAxNzIyY2RhYjBkYWYuLjVlYmE4ZGQ3MjIyYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ1LmMKKysrIGIvZHJpdmVycy9tZWRpYS9p MmMvb3Y1NjQ1LmMKQEAgLTExMjcsNyArMTEyNyw3IEBAIHN0YXRpYyBpbnQgb3Y1NjQ1X3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCiAJCXJldHVybiByZXQ7CiAJfQogCi0JaWYgKG92 NTY0NS0+ZXAuYnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAob3Y1NjQ1LT5lcC5i dXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiaW52YWxp ZCBidXMgdHlwZSwgbXVzdCBiZSBDU0kyXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9v djcyNTEuYwppbmRleCBkM2ViYjc1MjlmY2EuLjBjMTAyMDNmODIyYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMK QEAgLTEyNzksOSArMTI3OSw5IEBAIHN0YXRpYyBpbnQgb3Y3MjUxX3Byb2JlKHN0cnVjdCBpMmNf Y2xpZW50ICpjbGllbnQpCiAJCXJldHVybiByZXQ7CiAJfQogCi0JaWYgKG92NzI1MS0+ZXAuYnVz X3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAob3Y3MjUxLT5lcC5idXNfdHlwZSAhPSBW NEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiaW52YWxpZCBidXMgdHlwZSAo JXUpLCBtdXN0IGJlIENTSTIgKCV1KVxuIiwKLQkJCW92NzI1MS0+ZXAuYnVzX3R5cGUsIFY0TDJf TUJVU19DU0kyKTsKKwkJCW92NzI1MS0+ZXAuYnVzX3R5cGUsIFY0TDJfTUJVU19DU0kyX0RQSFkp OwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJj L3M1YzczbTMvczVjNzNtMy1jb3JlLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1Yzcz bTMtY29yZS5jCmluZGV4IGNlMTk2YjYwZjkxNy4uOWQ1NzM5Y2FmZWMzIDEwMDY0NAotLS0gYS9k cml2ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1YzczbTMtY29yZS5jCisrKyBiL2RyaXZlcnMvbWVk aWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMKQEAgLTE2NDQsNyArMTY0NCw3IEBAIHN0YXRp YyBpbnQgczVjNzNtM19nZXRfcGxhdGZvcm1fZGF0YShzdHJ1Y3QgczVjNzNtMyAqc3RhdGUpCiAJ aWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWlmIChlcC5idXNfdHlwZSAhPSBWNEwyX01CVVNf Q1NJMikgeworCWlmIChlcC5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRl dl9lcnIoZGV2LCAidW5zdXBwb3J0ZWQgYnVzIHR5cGVcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zNWs1YmFmLmMgYi9kcml2ZXJzL21l ZGlhL2kyYy9zNWs1YmFmLmMKaW5kZXggNTAwN2M5NjU5MzQyLi40YzQxYTc3MGIxMzIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYworKysgYi9kcml2ZXJzL21lZGlhL2ky Yy9zNWs1YmFmLmMKQEAgLTc2Niw3ICs3NjYsNyBAQCBzdGF0aWMgaW50IHM1azViYWZfaHdfc2V0 X3ZpZGVvX2J1cyhzdHJ1Y3QgczVrNWJhZiAqc3RhdGUpCiB7CiAJdTE2IGVuX3BrdHM7CiAKLQlp ZiAoc3RhdGUtPmJ1c190eXBlID09IFY0TDJfTUJVU19DU0kyKQorCWlmIChzdGF0ZS0+YnVzX3R5 cGUgPT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkKIAkJZW5fcGt0cyA9IEVOX1BBQ0tFVFNfQ1NJMjsK IAllbHNlCiAJCWVuX3BrdHMgPSAwOwpAQCAtMTg3NSw3ICsxODc1LDcgQEAgc3RhdGljIGludCBz NWs1YmFmX3BhcnNlX2RldmljZV9ub2RlKHN0cnVjdCBzNWs1YmFmICpzdGF0ZSwgc3RydWN0IGRl dmljZSAqZGV2KQogCXN0YXRlLT5idXNfdHlwZSA9IGVwLmJ1c190eXBlOwogCiAJc3dpdGNoIChz dGF0ZS0+YnVzX3R5cGUpIHsKLQljYXNlIFY0TDJfTUJVU19DU0kyOgorCWNhc2UgVjRMMl9NQlVT X0NTSTJfRFBIWToKIAkJc3RhdGUtPm5sYW5lcyA9IGVwLmJ1cy5taXBpX2NzaTIubnVtX2RhdGFf bGFuZXM7CiAJCWJyZWFrOwogCWNhc2UgVjRMMl9NQlVTX1BBUkFMTEVMOgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9pMmMvczVrNmFhLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs2YWEuYwpp bmRleCAxM2MxMGI1ZTJiNDUuLjVmMDk3YWU3YTViMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRp YS9pMmMvczVrNmFhLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvczVrNmFhLmMKQEAgLTY4OCw3 ICs2ODgsNyBAQCBzdGF0aWMgaW50IHM1azZhYV9jb25maWd1cmVfdmlkZW9fYnVzKHN0cnVjdCBz NWs2YWEgKnM1azZhYSwKIAkgKiBidXQgdGhlcmUgaXMgbm90aGluZyBpbmRpY2F0aW5nIGhvdyB0 byBzd2l0Y2ggYmV0d2VlbiBib3RoCiAJICogaW4gdGhlIGRhdGFzaGVldC4gRm9yIG5vdyBkZWZh dWx0IEJULjYwMSBpbnRlcmZhY2UgaXMgYXNzdW1lZC4KIAkgKi8KLQlpZiAoYnVzX3R5cGUgPT0g VjRMMl9NQlVTX0NTSTIpCisJaWYgKGJ1c190eXBlID09IFY0TDJfTUJVU19DU0kyX0RQSFkpCiAJ CWNmZyA9IG5sYW5lczsKIAllbHNlIGlmIChidXNfdHlwZSAhPSBWNEwyX01CVVNfUEFSQUxMRUwp CiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc21pYXBw L3NtaWFwcC1jb3JlLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zbWlhcHAvc21pYXBwLWNvcmUuYwpp bmRleCAxMjM2NjgzZGE4ZjcuLjllMzNjMjAwOGJhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRp YS9pMmMvc21pYXBwL3NtaWFwcC1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc21pYXBw L3NtaWFwcC1jb3JlLmMKQEAgLTI3ODQsNyArMjc4NCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc21pYXBw X2h3Y29uZmlnICpzbWlhcHBfZ2V0X2h3Y29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldikKIAkJZ290 byBvdXRfZXJyOwogCiAJc3dpdGNoIChidXNfY2ZnLT5idXNfdHlwZSkgewotCWNhc2UgVjRMMl9N QlVTX0NTSTI6CisJY2FzZSBWNEwyX01CVVNfQ1NJMl9EUEhZOgogCQlod2NmZy0+Y3NpX3NpZ25h bGxpbmdfbW9kZSA9IFNNSUFQUF9DU0lfU0lHTkFMTElOR19NT0RFX0NTSTI7CiAJCWh3Y2ZnLT5s YW5lcyA9IGJ1c19jZmctPmJ1cy5taXBpX2NzaTIubnVtX2RhdGFfbGFuZXM7CiAJCWJyZWFrOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc29jX2NhbWVyYS9vdjU2NDIuYyBiL2RyaXZl cnMvbWVkaWEvaTJjL3NvY19jYW1lcmEvb3Y1NjQyLmMKaW5kZXggMzlmNDIwZGI5YzcwLi5iYzA0 NTI1OTUxMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3NvY19jYW1lcmEvb3Y1NjQy LmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc29jX2NhbWVyYS9vdjU2NDIuYwpAQCAtOTEzLDcg KzkxMyw3IEBAIHN0YXRpYyBpbnQgb3Y1NjQyX2dldF9zZWxlY3Rpb24oc3RydWN0IHY0bDJfc3Vi ZGV2ICpzZCwKIHN0YXRpYyBpbnQgb3Y1NjQyX2dfbWJ1c19jb25maWcoc3RydWN0IHY0bDJfc3Vi ZGV2ICpzZCwKIAkJCQlzdHJ1Y3QgdjRsMl9tYnVzX2NvbmZpZyAqY2ZnKQogewotCWNmZy0+dHlw ZSA9IFY0TDJfTUJVU19DU0kyOworCWNmZy0+dHlwZSA9IFY0TDJfTUJVU19DU0kyX0RQSFk7CiAJ Y2ZnLT5mbGFncyA9IFY0TDJfTUJVU19DU0kyXzJfTEFORSB8IFY0TDJfTUJVU19DU0kyX0NIQU5O RUxfMCB8CiAJCQkJCVY0TDJfTUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0s7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4NzQzLmMgYi9kcml2ZXJzL21lZGlhL2kyYy90YzM1 ODc0My5jCmluZGV4IDQ0YzQxOTMzNDE1YS4uNmEyMDY0NTk3MTI0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL21lZGlhL2kyYy90YzM1ODc0My5jCisrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4NzQz LmMKQEAgLTE2MDcsNyArMTYwNyw3IEBAIHN0YXRpYyBpbnQgdGMzNTg3NDNfZ19tYnVzX2NvbmZp ZyhzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLAogewogCXN0cnVjdCB0YzM1ODc0M19zdGF0ZSAqc3Rh dGUgPSB0b19zdGF0ZShzZCk7CiAKLQljZmctPnR5cGUgPSBWNEwyX01CVVNfQ1NJMjsKKwljZmct PnR5cGUgPSBWNEwyX01CVVNfQ1NJMl9EUEhZOwogCiAJLyogU3VwcG9ydCBmb3Igbm9uLWNvbnRp bnVvdXMgQ1NJLTIgY2xvY2sgaXMgbWlzc2luZyBpbiB0aGUgZHJpdmVyICovCiAJY2ZnLT5mbGFn cyA9IFY0TDJfTUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0s7CkBAIC0xOTIyLDcgKzE5MjIsNyBA QCBzdGF0aWMgaW50IHRjMzU4NzQzX3Byb2JlX29mKHN0cnVjdCB0YzM1ODc0M19zdGF0ZSAqc3Rh dGUpCiAJCWdvdG8gcHV0X25vZGU7CiAJfQogCi0JaWYgKGVuZHBvaW50LT5idXNfdHlwZSAhPSBW NEwyX01CVVNfQ1NJMiB8fAorCWlmIChlbmRwb2ludC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NT STJfRFBIWSB8fAogCSAgICBlbmRwb2ludC0+YnVzLm1pcGlfY3NpMi5udW1fZGF0YV9sYW5lcyA9 PSAwIHx8CiAJICAgIGVuZHBvaW50LT5ucl9vZl9saW5rX2ZyZXF1ZW5jaWVzID09IDApIHsKIAkJ ZGV2X2VycihkZXYsICJtaXNzaW5nIENTSS0yIHByb3BlcnRpZXMgaW4gZW5kcG9pbnRcbiIpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wY2kvaW50ZWwvaXB1My9pcHUzLWNpbzIuYyBiL2Ry aXZlcnMvbWVkaWEvcGNpL2ludGVsL2lwdTMvaXB1My1jaW8yLmMKaW5kZXggY2EzYWQxMThkMTBi Li5jZjc3YmM2ZGE0YTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGNpL2ludGVsL2lwdTMv aXB1My1jaW8yLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wY2kvaW50ZWwvaXB1My9pcHUzLWNpbzIu YwpAQCAtMTQ4NCw3ICsxNDg0LDcgQEAgc3RhdGljIGludCBjaW8yX2Z3bm9kZV9wYXJzZShzdHJ1 Y3QgZGV2aWNlICpkZXYsCiAJc3RydWN0IHNlbnNvcl9hc3luY19zdWJkZXYgKnNfYXNkID0KIAkJ CWNvbnRhaW5lcl9vZihhc2QsIHN0cnVjdCBzZW5zb3JfYXN5bmNfc3ViZGV2LCBhc2QpOwogCi0J aWYgKHZlcC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodmVwLT5idXNfdHlw ZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiT25seSBDU0kyIGJ1 cyB0eXBlIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NhZGVuY2UvY2Rucy1jc2kycngu YyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY2FkZW5jZS9jZG5zLWNzaTJyeC5jCmluZGV4IGRh M2ViMzQ5NzE2Zi4uMDc3NmEzNGYyOGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL2NhZGVuY2UvY2Rucy1jc2kycnguYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2Nh ZGVuY2UvY2Rucy1jc2kycnguYwpAQCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyBpbnQgY3NpMnJ4 X3BhcnNlX2R0KHN0cnVjdCBjc2kycnhfcHJpdiAqY3NpMnJ4KQogCQlyZXR1cm4gcmV0OwogCX0K IAotCWlmICh2NGwyX2VwLmJ1c190eXBlICE9IFY0TDJfTUJVU19DU0kyKSB7CisJaWYgKHY0bDJf ZXAuYnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQlkZXZfZXJyKGNzaTJyeC0+ ZGV2LCAiVW5zdXBwb3J0ZWQgbWVkaWEgYnVzIHR5cGU6IDB4JXhcbiIsCiAJCQl2NGwyX2VwLmJ1 c190eXBlKTsKIAkJb2Zfbm9kZV9wdXQoZXApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2Nh ZGVuY2UvY2Rucy1jc2kydHguYwppbmRleCA0MGQwZGU2OTBmZjQuLjYyMjRkYWY4OTFkNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMKKysr IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMKQEAgLTQ0Niw3 ICs0NDYsNyBAQCBzdGF0aWMgaW50IGNzaTJ0eF9jaGVja19sYW5lcyhzdHJ1Y3QgY3NpMnR4X3By aXYgKmNzaTJ0eCkKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKHY0bDJfZXAuYnVzX3R5cGUgIT0g VjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodjRsMl9lcC5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJ Ml9EUEhZKSB7CiAJCWRldl9lcnIoY3NpMnR4LT5kZXYsICJVbnN1cHBvcnRlZCBtZWRpYSBidXMg dHlwZTogMHgleFxuIiwKIAkJCXY0bDJfZXAuYnVzX3R5cGUpOwogCQlyZXQgPSAtRUlOVkFMOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1jb3Jl LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tY2FtLWNvcmUuYwppbmRl eCBkZmRiZDQzNTRiNzQuLjVlMjA0MjdhZWNhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1jb3JlLmMKQEAgLTc5NCw3ICs3OTQsNyBAQCBzdGF0aWMg dm9pZCBtY2FtX2N0bHJfaW1hZ2Uoc3RydWN0IG1jYW1fY2FtZXJhICpjYW0pCiAJLyoKIAkgKiBU aGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBnZW5lcmF0aW9uIG9mIEVPRihEVlAgb25seSkKIAkgKi8K LQlpZiAoY2FtLT5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMikKKwlpZiAoY2FtLT5idXNfdHlw ZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKQogCQltY2FtX3JlZ19zZXRfYml0KGNhbSwgUkVHX0NU UkwwLAogCQkJCUMwX0VPRl9WU1lOQyB8IEMwX1ZFREdFX0NUUkwpOwogfQpAQCAtMTAyMyw3ICsx MDIzLDcgQEAgc3RhdGljIGludCBtY2FtX3JlYWRfc2V0dXAoc3RydWN0IG1jYW1fY2FtZXJhICpj YW0pCiAJCWNhbS0+Y2FsY19kcGh5KGNhbSk7CiAJY2FtX2RiZyhjYW0sICJjYW1lcmE6IERQSFkg c2V0czogZHBoeTM9MHgleCwgZHBoeTU9MHgleCwgZHBoeTY9MHgleFxuIiwKIAkJCWNhbS0+ZHBo eVswXSwgY2FtLT5kcGh5WzFdLCBjYW0tPmRwaHlbMl0pOwotCWlmIChjYW0tPmJ1c190eXBlID09 IFY0TDJfTUJVU19DU0kyKQorCWlmIChjYW0tPmJ1c190eXBlID09IFY0TDJfTUJVU19DU0kyX0RQ SFkpCiAJCW1jYW1fZW5hYmxlX21pcGkoY2FtKTsKIAllbHNlCiAJCW1jYW1fZGlzYWJsZV9taXBp KGNhbSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9t bXAtZHJpdmVyLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJp dmVyLmMKaW5kZXggNmQ5ZjBhYmIyNjYwLi4yNWNlMzFiNzFhNDUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21tcC1kcml2ZXIuYworKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJpdmVyLmMKQEAgLTM2Miw3ICszNjIs NyBAQCBzdGF0aWMgaW50IG1tcGNhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCW1jYW0tPm1jbGtfZGl2ID0gcGRhdGEtPm1jbGtfZGl2OwogCW1jYW0tPmJ1c190eXBlID0g cGRhdGEtPmJ1c190eXBlOwogCW1jYW0tPmRwaHkgPSBwZGF0YS0+ZHBoeTsKLQlpZiAobWNhbS0+ YnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAobWNhbS0+YnVzX3R5cGUgPT0gVjRM Ml9NQlVTX0NTSTJfRFBIWSkgewogCQljYW0tPm1pcGlfY2xrID0gZGV2bV9jbGtfZ2V0KG1jYW0t PmRldiwgIm1pcGkiKTsKIAkJaWYgKChJU19FUlIoY2FtLT5taXBpX2NsaykgJiYgbWNhbS0+ZHBo eVsyXSA9PSAwKSkKIAkJCXJldHVybiBQVFJfRVJSKGNhbS0+bWlwaV9jbGspOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vb21hcDNpc3AvaXNwLmMKaW5kZXggYTU2ZjAyMDc5NGU2Li5hY2UzYmY0YmEyYTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwLmMKKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYwpAQCAtMjA1NCw3ICsyMDU0LDcg QEAgc3RhdGljIGludCBpc3BfZndub2RlX3BhcnNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCWRl dl9kYmcoZGV2LCAiQ1NJLTEvQ0NQLTIgY29uZmlndXJhdGlvblxuIik7CiAJCQljc2kxID0gdHJ1 ZTsKIAkJCWJyZWFrOwotCQljYXNlIFY0TDJfTUJVU19DU0kyOgorCQljYXNlIFY0TDJfTUJVU19D U0kyX0RQSFk6CiAJCQlkZXZfZGJnKGRldiwgIkNTSS0yIGNvbmZpZ3VyYXRpb25cbiIpOwogCQkJ Y3NpMSA9IGZhbHNlOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3B4YV9jYW1lcmEuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcHhhX2NhbWVyYS5jCmlu ZGV4IDE0MDFmNTRkZWQwMS4uMjUyMmY3MDc5ZGRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3B4YV9jYW1lcmEuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3B4YV9j YW1lcmEuYwpAQCAtNjMzLDcgKzYzMyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcHhhX21idXNf Y29uZmlnX2NvbXBhdGlibGUoY29uc3Qgc3RydWN0IHY0bDJfbWJ1c19jb25maWcgKmNmCiAJCW1v ZGUgPSBjb21tb25fZmxhZ3MgJiAoVjRMMl9NQlVTX01BU1RFUiB8IFY0TDJfTUJVU19TTEFWRSk7 CiAJCXJldHVybiAoIWhzeW5jIHx8ICF2c3luYyB8fCAhcGNsayB8fCAhZGF0YSB8fCAhbW9kZSkg PwogCQkJMCA6IGNvbW1vbl9mbGFnczsKLQljYXNlIFY0TDJfTUJVU19DU0kyOgorCWNhc2UgVjRM Ml9NQlVTX0NTSTJfRFBIWToKIAkJbWlwaV9sYW5lcyA9IGNvbW1vbl9mbGFncyAmIFY0TDJfTUJV U19DU0kyX0xBTkVTOwogCQltaXBpX2Nsb2NrID0gY29tbW9uX2ZsYWdzICYgKFY0TDJfTUJVU19D U0kyX05PTkNPTlRJTlVPVVNfQ0xPQ0sgfAogCQkJCQkgICAgIFY0TDJfTUJVU19DU0kyX0NPTlRJ TlVPVVNfQ0xPQ0spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yY2FyLXZp bi9yY2FyLWNzaTIuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jc2ky LmMKaW5kZXggNzVlYmQ5YzIzODEzLi4yNWVkYzJlZGQxOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jc2kyLmMKKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9yY2FyLXZpbi9yY2FyLWNzaTIuYwpAQCAtNzE0LDcgKzcxNCw3IEBAIHN0YXRpYyBp bnQgcmNzaTJfcGFyc2VfdjRsMihzdHJ1Y3QgcmNhcl9jc2kyICpwcml2LAogCWlmICh2ZXAtPmJh c2UucG9ydCB8fCB2ZXAtPmJhc2UuaWQpCiAJCXJldHVybiAtRU5PVENPTk47CiAKLQlpZiAodmVw LT5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMikgeworCWlmICh2ZXAtPmJ1c190eXBlICE9IFY0 TDJfTUJVU19DU0kyX0RQSFkpIHsKIAkJZGV2X2Vycihwcml2LT5kZXYsICJVbnN1cHBvcnRlZCBi dXM6ICV1XG4iLCB2ZXAtPmJ1c190eXBlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jCmluZGV4IDBh ZDRiMjgyNjZlNC4uYmU3NDAwOGVjMGNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3NvY19jYW1lcmEvc29jX21lZGlhYnVzLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jCkBAIC01MDMsNyArNTAzLDcgQEAgdW5zaWduZWQg aW50IHNvY19tYnVzX2NvbmZpZ19jb21wYXRpYmxlKGNvbnN0IHN0cnVjdCB2NGwyX21idXNfY29u ZmlnICpjZmcsCiAJCW1vZGUgPSBjb21tb25fZmxhZ3MgJiAoVjRMMl9NQlVTX01BU1RFUiB8IFY0 TDJfTUJVU19TTEFWRSk7CiAJCXJldHVybiAoIWhzeW5jIHx8ICF2c3luYyB8fCAhcGNsayB8fCAh ZGF0YSB8fCAhbW9kZSkgPwogCQkJMCA6IGNvbW1vbl9mbGFnczsKLQljYXNlIFY0TDJfTUJVU19D U0kyOgorCWNhc2UgVjRMMl9NQlVTX0NTSTJfRFBIWToKIAkJbWlwaV9sYW5lcyA9IGNvbW1vbl9m bGFncyAmIFY0TDJfTUJVU19DU0kyX0xBTkVTOwogCQltaXBpX2Nsb2NrID0gY29tbW9uX2ZsYWdz ICYgKFY0TDJfTUJVU19DU0kyX05PTkNPTlRJTlVPVVNfQ0xPQ0sgfAogCQkJCQkgICAgIFY0TDJf TUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0bTMy L3N0bTMyLWRjbWkuYwppbmRleCBiNDExMGU2NDU4ZDkuLjM4YjUyYTA1OTk4NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMKKysrIGIvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMKQEAgLTE2NjAsNyArMTY2MCw3IEBA IHN0YXRpYyBpbnQgZGNtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQly ZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQlpZiAoZXAuYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTIp IHsKKwlpZiAoZXAuYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQlkZXZfZXJy KCZwZGV2LT5kZXYsICJDU0kgYnVzIG5vdCBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4gLUVOT0RF VjsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS9jYWwuYyBi L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGktdnBlL2NhbC5jCmluZGV4IDY4NzJjYjI2MzI3MC4u MjEzNDEwM2MxOWY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS9j YWwuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS9jYWwuYwpAQCAtMTcxMCw3 ICsxNzEwLDcgQEAgc3RhdGljIGludCBvZl9jYWxfY3JlYXRlX2luc3RhbmNlKHN0cnVjdCBjYWxf Y3R4ICpjdHgsIGludCBpbnN0KQogCX0KIAl2NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZShvZl9m d25vZGVfaGFuZGxlKHJlbW90ZV9lcCksIGVuZHBvaW50KTsKIAotCWlmIChlbmRwb2ludC0+YnVz X3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAoZW5kcG9pbnQtPmJ1c190eXBlICE9IFY0 TDJfTUJVU19DU0kyX0RQSFkpIHsKIAkJY3R4X2VycihjdHgsICJQb3J0OiVkIHN1Yi1kZXZpY2Ug JXMgaXMgbm90IGEgQ1NJMiBkZXZpY2VcbiIsCiAJCQlpbnN0LCBzZW5zb3Jfbm9kZS0+bmFtZSk7 CiAJCWdvdG8gZXJyX3B1dF9yZW1vdGVfZXA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLWZ3bm9kZS5jIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25v ZGUuYwppbmRleCAxMDRlZjdmMTc1NGQuLjU0MTYyMjE3YmIzNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYworKysgYi9kcml2ZXJzL21lZGlhL3Y0bDIt Y29yZS92NGwyLWZ3bm9kZS5jCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIGludCB2NGwyX2Z3 bm9kZV9lbmRwb2ludF9wYXJzZV9jc2kyX2J1cyhzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2Rl LAogCX0KIAogCWJ1cy0+ZmxhZ3MgPSBmbGFnczsKLQl2ZXAtPmJ1c190eXBlID0gVjRMMl9NQlVT X0NTSTI7CisJdmVwLT5idXNfdHlwZSA9IFY0TDJfTUJVU19DU0kyX0RQSFk7CiAKIAlyZXR1cm4g MDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14LW1lZGlhLWNz aS5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXgtbWVkaWEtY3NpLmMKaW5kZXggOGU3 NDlmZGVjOGQxLi41MzkxNTlkOWFmNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9pbXgvaW14LW1lZGlhLWNzaS5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14 LW1lZGlhLWNzaS5jCkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgY3Np X3ByaXYgKnNkX3RvX2RldihzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkZXYpCiAKIHN0YXRpYyBpbmxp bmUgYm9vbCBpc19wYXJhbGxlbF9idXMoc3RydWN0IHY0bDJfZndub2RlX2VuZHBvaW50ICplcCkK IHsKLQlyZXR1cm4gZXAtPmJ1c190eXBlICE9IFY0TDJfTUJVU19DU0kyOworCXJldHVybiBlcC0+ YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTJfRFBIWTsKIH0KIAogc3RhdGljIGlubGluZSBib29s IGlzX3BhcmFsbGVsXzE2Yml0X2J1cyhzdHJ1Y3QgdjRsMl9md25vZGVfZW5kcG9pbnQgKmVwKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2LW1pcGktY3NpMi5jIGIv ZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2LW1pcGktY3NpMi5jCmluZGV4IDk0ZWI5YTFm MzhiYi4uNzQ0MzhhNGMxMjY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaW14 L2lteDYtbWlwaS1jc2kyLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2LW1p cGktY3NpMi5jCkBAIC01NjMsNyArNTYzLDcgQEAgc3RhdGljIGludCBjc2kyX3BhcnNlX2VuZHBv aW50KHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYgKHZl cC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodmVwLT5idXNfdHlwZSAhPSBW NEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCXY0bDJfZXJyKCZjc2kyLT5zZCwgImludmFsaWQgYnVz IHR5cGUsIG11c3QgYmUgTUlQSSBDU0kyXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteDA3NC9pbXgwNzQuYyBiL2RyaXZlcnMv c3RhZ2luZy9tZWRpYS9pbXgwNzQvaW14MDc0LmMKaW5kZXggNzdmMWUwMjQzZDZlLi4wZWVlOWYw ZGVmNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgwNzQvaW14MDc0LmMK KysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteDA3NC9pbXgwNzQuYwpAQCAtMjYzLDcgKzI2 Myw3IEBAIHN0YXRpYyBpbnQgaW14MDc0X3NfcG93ZXIoc3RydWN0IHY0bDJfc3ViZGV2ICpzZCwg aW50IG9uKQogc3RhdGljIGludCBpbXgwNzRfZ19tYnVzX2NvbmZpZyhzdHJ1Y3QgdjRsMl9zdWJk ZXYgKnNkLAogCQkJCXN0cnVjdCB2NGwyX21idXNfY29uZmlnICpjZmcpCiB7Ci0JY2ZnLT50eXBl ID0gVjRMMl9NQlVTX0NTSTI7CisJY2ZnLT50eXBlID0gVjRMMl9NQlVTX0NTSTJfRFBIWTsKIAlj ZmctPmZsYWdzID0gVjRMMl9NQlVTX0NTSTJfMl9MQU5FIHwKIAkJVjRMMl9NQlVTX0NTSTJfQ0hB Tk5FTF8wIHwKIAkJVjRMMl9NQlVTX0NTSTJfQ09OVElOVU9VU19DTE9DSzsKZGlmZiAtLWdpdCBh L2luY2x1ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1cy5oIGIvaW5jbHVkZS9tZWRpYS92NGwyLW1lZGlh YnVzLmgKaW5kZXggNGJiYjVmM2QyYjAyLi4yNmUxYzY0NGRlZDYgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1cy5oCisrKyBiL2luY2x1ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1 cy5oCkBAIC03NSwxNCArNzUsMTYgQEAKICAqCQkJYWxzbyBiZSB1c2VkIGZvciBCVC4xMTIwCiAg KiBAVjRMMl9NQlVTX0NTSTE6CU1JUEkgQ1NJLTEgc2VyaWFsIGludGVyZmFjZQogICogQFY0TDJf TUJVU19DQ1AyOglDQ1AyIChDb21wYWN0IENhbWVyYSBQb3J0IDIpCi0gKiBAVjRMMl9NQlVTX0NT STI6CU1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZQorICogQFY0TDJfTUJVU19DU0kyX0RQSFk6 IE1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZSwgd2l0aCBELVBIWQorICogQFY0TDJfTUJVU19D U0kyX0NQSFk6IE1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZSwgd2l0aCBDLVBIWQogICovCiBl bnVtIHY0bDJfbWJ1c190eXBlIHsKIAlWNEwyX01CVVNfUEFSQUxMRUwsCiAJVjRMMl9NQlVTX0JU NjU2LAogCVY0TDJfTUJVU19DU0kxLAogCVY0TDJfTUJVU19DQ1AyLAotCVY0TDJfTUJVU19DU0ky LAorCVY0TDJfTUJVU19DU0kyX0RQSFksCisJVjRMMl9NQlVTX0NTSTJfQ1BIWSwKIH07CiAKIC8q KgotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK