From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 06/23] v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY Date: Thu, 13 Sep 2018 00:29:25 +0300 Message-ID: <20180912212942.19641-7-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-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: <20180912212942.19641-1-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 c3RldmVfbG9uZ2VyYmVhbUBtZW50b3IuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2lwdS12My9pcHUt Y3NpLmMgICAgICAgICAgICAgICAgICAgICB8IDYgKysrLS0tCiBkcml2ZXJzL21lZGlhL2kyYy9h ZHY3MTgwLmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL21lZGlhL2kyYy9v djU2NDAuYyAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIGRyaXZlcnMvbWVkaWEvaTJj L292NTY0NS5jICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvbWVkaWEvaTJj L292NzI1MS5jICAgICAgICAgICAgICAgICAgICAgICB8IDQgKystLQogZHJpdmVycy9tZWRpYS9p MmMvczVjNzNtMy9zNWM3M20zLWNvcmUuYyAgICAgICAgIHwgMiArLQogZHJpdmVycy9tZWRpYS9p MmMvczVrNWJhZi5jICAgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBkcml2ZXJzL21lZGlh L2kyYy9zNWs2YWEuYyAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL21lZGlh L2kyYy9zbWlhcHAvc21pYXBwLWNvcmUuYyAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL21lZGlh L2kyYy9zb2NfY2FtZXJhL292NTY0Mi5jICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL21lZGlh L2kyYy90YzM1ODc0My5jICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIGRyaXZlcnMvbWVk aWEvcGNpL2ludGVsL2lwdTMvaXB1My1jaW8yLmMgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vY2FkZW5jZS9jZG5zLWNzaTJyeC5jICAgICB8IDIgKy0KIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vY2FkZW5jZS9jZG5zLWNzaTJ0eC5jICAgICB8IDIgKy0KIGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21jYW0tY29yZS5jICB8IDQgKystLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbW1wLWRyaXZlci5jIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYyAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9yY2FyLXZpbi9yY2FyLWNzaTIuYyAgICAgIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMgICAgICAgIHwgMiArLQogZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS90aS12cGUvY2FsLmMgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9t ZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYyAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9z dGFnaW5nL21lZGlhL2lteC9pbXgtbWVkaWEtY3NpLmMgICAgICAgIHwgMiArLQogZHJpdmVycy9z dGFnaW5nL21lZGlhL2lteC9pbXg2LW1pcGktY3NpMi5jICAgICAgIHwgMiArLQogZHJpdmVycy9z dGFnaW5nL21lZGlhL2lteDA3NC9pbXgwNzQuYyAgICAgICAgICAgIHwgMiArLQogaW5jbHVkZS9t ZWRpYS92NGwyLW1lZGlhYnVzLmggICAgICAgICAgICAgICAgICAgIHwgNiArKysrLS0KIDI3IGZp bGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2lwdS12My9pcHUtY3NpLmMgYi9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1 LWNzaS5jCmluZGV4IDk1NGVlZmUxNDRlMi4uYWEwZTMwYTJiYTE4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9pcHUtdjMvaXB1LWNzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2lwdS12My9pcHUtY3Np LmMKQEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgaW50IG1idXNfY29kZV90b19idXNfY2ZnKHN0 cnVjdCBpcHVfY3NpX2J1c19jb25maWcgKmNmZywgdTMyIG1idXNfY29kZSwKIAljYXNlIE1FRElB X0JVU19GTVRfQkdSNTY1XzJYOF9MRToKIAljYXNlIE1FRElBX0JVU19GTVRfUkdCNTY1XzJYOF9C RToKIAljYXNlIE1FRElBX0JVU19GTVRfUkdCNTY1XzJYOF9MRToKLQkJaWYgKG1idXNfdHlwZSA9 PSBWNEwyX01CVVNfQ1NJMikKKwkJaWYgKG1idXNfdHlwZSA9PSBWNEwyX01CVVNfQ1NJMl9EUEhZ KQogCQkJY2ZnLT5kYXRhX2ZtdCA9IENTSV9TRU5TX0NPTkZfREFUQV9GTVRfUkdCNTY1OwogCQll bHNlCiAJCQljZmctPmRhdGFfZm10ID0gQ1NJX1NFTlNfQ09ORl9EQVRBX0ZNVF9CQVlFUjsKQEAg LTM1OSw3ICszNTksNyBAQCBzdGF0aWMgaW50IGZpbGxfY3NpX2J1c19jZmcoc3RydWN0IGlwdV9j c2lfYnVzX2NvbmZpZyAqY3NpY2ZnLAogCQllbHNlCiAJCQljc2ljZmctPmNsa19tb2RlID0gSVBV X0NTSV9DTEtfTU9ERV9DQ0lSNjU2X1BST0dSRVNTSVZFOwogCQlicmVhazsKLQljYXNlIFY0TDJf TUJVU19DU0kyOgorCWNhc2UgVjRMMl9NQlVTX0NTSTJfRFBIWToKIAkJLyoKIAkJICogTUlQSSBD U0ktMiByZXF1aXJlcyBub24gZ2F0ZWQgY2xvY2sgbW9kZSwgYWxsIG90aGVyCiAJCSAqIHBhcmFt ZXRlcnMgYXJlIG5vdCBhcHBsaWNhYmxlIGZvciBNSVBJIENTSS0yIGJ1cy4KQEAgLTYxMSw3ICs2 MTEsNyBAQCBpbnQgaXB1X2NzaV9zZXRfbWlwaV9kYXRhdHlwZShzdHJ1Y3QgaXB1X2NzaSAqY3Np LCB1MzIgdmMsCiAJaWYgKHZjID4gMykKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXQgPSBtYnVz X2NvZGVfdG9fYnVzX2NmZygmY2ZnLCBtYnVzX2ZtdC0+Y29kZSwgVjRMMl9NQlVTX0NTSTIpOwor CXJldCA9IG1idXNfY29kZV90b19idXNfY2ZnKCZjZmcsIG1idXNfZm10LT5jb2RlLCBWNEwyX01C VVNfQ1NJMl9EUEhZKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4MC5jIGIvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4 MC5jCmluZGV4IGRlMTAzNjdkNTUwYi4uMjg0OGE0NmQxNDlhIDEwMDY0NAotLS0gYS9kcml2ZXJz L21lZGlhL2kyYy9hZHY3MTgwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvYWR2NzE4MC5jCkBA IC03NjEsNyArNzYxLDcgQEAgc3RhdGljIGludCBhZHY3MTgwX2dfbWJ1c19jb25maWcoc3RydWN0 IHY0bDJfc3ViZGV2ICpzZCwKIAlzdHJ1Y3QgYWR2NzE4MF9zdGF0ZSAqc3RhdGUgPSB0b19zdGF0 ZShzZCk7CiAKIAlpZiAoc3RhdGUtPmNoaXBfaW5mby0+ZmxhZ3MgJiBBRFY3MTgwX0ZMQUdfTUlQ SV9DU0kyKSB7Ci0JCWNmZy0+dHlwZSA9IFY0TDJfTUJVU19DU0kyOworCQljZmctPnR5cGUgPSBW NEwyX01CVVNfQ1NJMl9EUEhZOwogCQljZmctPmZsYWdzID0gVjRMMl9NQlVTX0NTSTJfMV9MQU5F IHwKIAkJCQlWNEwyX01CVVNfQ1NJMl9DSEFOTkVMXzAgfAogCQkJCVY0TDJfTUJVU19DU0kyX0NP TlRJTlVPVVNfQ0xPQ0s7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDAuYyBi L2RyaXZlcnMvbWVkaWEvaTJjL292NTY0MC5jCmluZGV4IDJkZGQ4NmRkZjY0OS4uYjY1NzU5MjYw MmY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2kyYy9vdjU2NDAuYworKysgYi9kcml2ZXJz L21lZGlhL2kyYy9vdjU2NDAuYwpAQCAtMTc4Nyw3ICsxNzg3LDcgQEAgc3RhdGljIGludCBvdjU2 NDBfc2V0X3Bvd2VyKHN0cnVjdCBvdjU2NDBfZGV2ICpzZW5zb3IsIGJvb2wgb24pCiAJCWlmIChy ZXQpCiAJCQlnb3RvIHBvd2VyX29mZjsKIAotCQlpZiAoc2Vuc29yLT5lcC5idXNfdHlwZSA9PSBW NEwyX01CVVNfQ1NJMikgeworCQlpZiAoc2Vuc29yLT5lcC5idXNfdHlwZSA9PSBWNEwyX01CVVNf Q1NJMl9EUEhZKSB7CiAJCQkvKgogCQkJICogc3RhcnQgc3RyZWFtaW5nIGJyaWVmbHkgZm9sbG93 ZWQgYnkgc3RyZWFtIG9mZiBpbgogCQkJICogb3JkZXIgdG8gY29heCB0aGUgY2xvY2sgbGFuZSBp bnRvIExQLTExIHN0YXRlLgpAQCAtMjU1Nyw3ICsyNTU3LDcgQEAgc3RhdGljIGludCBvdjU2NDBf c19zdHJlYW0oc3RydWN0IHY0bDJfc3ViZGV2ICpzZCwgaW50IGVuYWJsZSkKIAkJCXNlbnNvci0+ cGVuZGluZ19mbXRfY2hhbmdlID0gZmFsc2U7CiAJCX0KIAotCQlpZiAoc2Vuc29yLT5lcC5idXNf dHlwZSA9PSBWNEwyX01CVVNfQ1NJMikKKwkJaWYgKHNlbnNvci0+ZXAuYnVzX3R5cGUgPT0gVjRM Ml9NQlVTX0NTSTJfRFBIWSkKIAkJCXJldCA9IG92NTY0MF9zZXRfc3RyZWFtX21pcGkoc2Vuc29y LCBlbmFibGUpOwogCQllbHNlCiAJCQlyZXQgPSBvdjU2NDBfc2V0X3N0cmVhbV9kdnAoc2Vuc29y LCBlbmFibGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ1LmMgYi9kcml2 ZXJzL21lZGlhL2kyYy9vdjU2NDUuYwppbmRleCAxNzIyY2RhYjBkYWYuLjVlYmE4ZGQ3MjIyYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y1NjQ1LmMKKysrIGIvZHJpdmVycy9tZWRp YS9pMmMvb3Y1NjQ1LmMKQEAgLTExMjcsNyArMTEyNyw3IEBAIHN0YXRpYyBpbnQgb3Y1NjQ1X3By b2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCiAJCXJldHVybiByZXQ7CiAJfQogCi0JaWYg KG92NTY0NS0+ZXAuYnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAob3Y1NjQ1LT5l cC5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiaW52 YWxpZCBidXMgdHlwZSwgbXVzdCBiZSBDU0kyXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMgYi9kcml2ZXJzL21lZGlhL2ky Yy9vdjcyNTEuYwppbmRleCBkM2ViYjc1MjlmY2EuLjBjMTAyMDNmODIyYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUxLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvb3Y3MjUx LmMKQEAgLTEyNzksOSArMTI3OSw5IEBAIHN0YXRpYyBpbnQgb3Y3MjUxX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCiAJCXJldHVybiByZXQ7CiAJfQogCi0JaWYgKG92NzI1MS0+ZXAu YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAob3Y3MjUxLT5lcC5idXNfdHlwZSAh PSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiaW52YWxpZCBidXMgdHlw ZSAoJXUpLCBtdXN0IGJlIENTSTIgKCV1KVxuIiwKLQkJCW92NzI1MS0+ZXAuYnVzX3R5cGUsIFY0 TDJfTUJVU19DU0kyKTsKKwkJCW92NzI1MS0+ZXAuYnVzX3R5cGUsIFY0TDJfTUJVU19DU0kyX0RQ SFkpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv aTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1 YzczbTMtY29yZS5jCmluZGV4IDIxY2E1MTg2ZjllZC4uNDc5Yzk3NTNlODYzIDEwMDY0NAotLS0g YS9kcml2ZXJzL21lZGlhL2kyYy9zNWM3M20zL3M1YzczbTMtY29yZS5jCisrKyBiL2RyaXZlcnMv bWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMKQEAgLTE2NDQsNyArMTY0NCw3IEBAIHN0 YXRpYyBpbnQgczVjNzNtM19nZXRfcGxhdGZvcm1fZGF0YShzdHJ1Y3QgczVjNzNtMyAqc3RhdGUp CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWlmIChlcC5idXNfdHlwZSAhPSBWNEwyX01C VVNfQ1NJMikgeworCWlmIChlcC5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJ CWRldl9lcnIoZGV2LCAidW5zdXBwb3J0ZWQgYnVzIHR5cGVcbiIpOwogCQlyZXR1cm4gLUVJTlZB TDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zNWs1YmFmLmMgYi9kcml2ZXJz L21lZGlhL2kyYy9zNWs1YmFmLmMKaW5kZXggNTAwN2M5NjU5MzQyLi40YzQxYTc3MGIxMzIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYworKysgYi9kcml2ZXJzL21lZGlh L2kyYy9zNWs1YmFmLmMKQEAgLTc2Niw3ICs3NjYsNyBAQCBzdGF0aWMgaW50IHM1azViYWZfaHdf c2V0X3ZpZGVvX2J1cyhzdHJ1Y3QgczVrNWJhZiAqc3RhdGUpCiB7CiAJdTE2IGVuX3BrdHM7CiAK LQlpZiAoc3RhdGUtPmJ1c190eXBlID09IFY0TDJfTUJVU19DU0kyKQorCWlmIChzdGF0ZS0+YnVz X3R5cGUgPT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkKIAkJZW5fcGt0cyA9IEVOX1BBQ0tFVFNfQ1NJ MjsKIAllbHNlCiAJCWVuX3BrdHMgPSAwOwpAQCAtMTg3NSw3ICsxODc1LDcgQEAgc3RhdGljIGlu dCBzNWs1YmFmX3BhcnNlX2RldmljZV9ub2RlKHN0cnVjdCBzNWs1YmFmICpzdGF0ZSwgc3RydWN0 IGRldmljZSAqZGV2KQogCXN0YXRlLT5idXNfdHlwZSA9IGVwLmJ1c190eXBlOwogCiAJc3dpdGNo IChzdGF0ZS0+YnVzX3R5cGUpIHsKLQljYXNlIFY0TDJfTUJVU19DU0kyOgorCWNhc2UgVjRMMl9N QlVTX0NTSTJfRFBIWToKIAkJc3RhdGUtPm5sYW5lcyA9IGVwLmJ1cy5taXBpX2NzaTIubnVtX2Rh dGFfbGFuZXM7CiAJCWJyZWFrOwogCWNhc2UgVjRMMl9NQlVTX1BBUkFMTEVMOgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9pMmMvczVrNmFhLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs2YWEu YwppbmRleCA1MmNhMDMzZjcwNjkuLjg3ZjkzNTE2NzhmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9t ZWRpYS9pMmMvczVrNmFhLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvczVrNmFhLmMKQEAgLTY4 OCw3ICs2ODgsNyBAQCBzdGF0aWMgaW50IHM1azZhYV9jb25maWd1cmVfdmlkZW9fYnVzKHN0cnVj dCBzNWs2YWEgKnM1azZhYSwKIAkgKiBidXQgdGhlcmUgaXMgbm90aGluZyBpbmRpY2F0aW5nIGhv dyB0byBzd2l0Y2ggYmV0d2VlbiBib3RoCiAJICogaW4gdGhlIGRhdGFzaGVldC4gRm9yIG5vdyBk ZWZhdWx0IEJULjYwMSBpbnRlcmZhY2UgaXMgYXNzdW1lZC4KIAkgKi8KLQlpZiAoYnVzX3R5cGUg PT0gVjRMMl9NQlVTX0NTSTIpCisJaWYgKGJ1c190eXBlID09IFY0TDJfTUJVU19DU0kyX0RQSFkp CiAJCWNmZyA9IG5sYW5lczsKIAllbHNlIGlmIChidXNfdHlwZSAhPSBWNEwyX01CVVNfUEFSQUxM RUwpCiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc21p YXBwL3NtaWFwcC1jb3JlLmMgYi9kcml2ZXJzL21lZGlhL2kyYy9zbWlhcHAvc21pYXBwLWNvcmUu YwppbmRleCAxMjM2NjgzZGE4ZjcuLjllMzNjMjAwOGJhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9t ZWRpYS9pMmMvc21pYXBwL3NtaWFwcC1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc21p YXBwL3NtaWFwcC1jb3JlLmMKQEAgLTI3ODQsNyArMjc4NCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc21p YXBwX2h3Y29uZmlnICpzbWlhcHBfZ2V0X2h3Y29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldikKIAkJ Z290byBvdXRfZXJyOwogCiAJc3dpdGNoIChidXNfY2ZnLT5idXNfdHlwZSkgewotCWNhc2UgVjRM Ml9NQlVTX0NTSTI6CisJY2FzZSBWNEwyX01CVVNfQ1NJMl9EUEhZOgogCQlod2NmZy0+Y3NpX3Np Z25hbGxpbmdfbW9kZSA9IFNNSUFQUF9DU0lfU0lHTkFMTElOR19NT0RFX0NTSTI7CiAJCWh3Y2Zn LT5sYW5lcyA9IGJ1c19jZmctPmJ1cy5taXBpX2NzaTIubnVtX2RhdGFfbGFuZXM7CiAJCWJyZWFr OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvc29jX2NhbWVyYS9vdjU2NDIuYyBiL2Ry aXZlcnMvbWVkaWEvaTJjL3NvY19jYW1lcmEvb3Y1NjQyLmMKaW5kZXggMzlmNDIwZGI5YzcwLi5i YzA0NTI1OTUxMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvaTJjL3NvY19jYW1lcmEvb3Y1 NjQyLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMvc29jX2NhbWVyYS9vdjU2NDIuYwpAQCAtOTEz LDcgKzkxMyw3IEBAIHN0YXRpYyBpbnQgb3Y1NjQyX2dldF9zZWxlY3Rpb24oc3RydWN0IHY0bDJf c3ViZGV2ICpzZCwKIHN0YXRpYyBpbnQgb3Y1NjQyX2dfbWJ1c19jb25maWcoc3RydWN0IHY0bDJf c3ViZGV2ICpzZCwKIAkJCQlzdHJ1Y3QgdjRsMl9tYnVzX2NvbmZpZyAqY2ZnKQogewotCWNmZy0+ dHlwZSA9IFY0TDJfTUJVU19DU0kyOworCWNmZy0+dHlwZSA9IFY0TDJfTUJVU19DU0kyX0RQSFk7 CiAJY2ZnLT5mbGFncyA9IFY0TDJfTUJVU19DU0kyXzJfTEFORSB8IFY0TDJfTUJVU19DU0kyX0NI QU5ORUxfMCB8CiAJCQkJCVY0TDJfTUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0s7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4NzQzLmMgYi9kcml2ZXJzL21lZGlhL2kyYy90 YzM1ODc0My5jCmluZGV4IDQ0YzQxOTMzNDE1YS4uNmEyMDY0NTk3MTI0IDEwMDY0NAotLS0gYS9k cml2ZXJzL21lZGlhL2kyYy90YzM1ODc0My5jCisrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3RjMzU4 NzQzLmMKQEAgLTE2MDcsNyArMTYwNyw3IEBAIHN0YXRpYyBpbnQgdGMzNTg3NDNfZ19tYnVzX2Nv bmZpZyhzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLAogewogCXN0cnVjdCB0YzM1ODc0M19zdGF0ZSAq c3RhdGUgPSB0b19zdGF0ZShzZCk7CiAKLQljZmctPnR5cGUgPSBWNEwyX01CVVNfQ1NJMjsKKwlj ZmctPnR5cGUgPSBWNEwyX01CVVNfQ1NJMl9EUEhZOwogCiAJLyogU3VwcG9ydCBmb3Igbm9uLWNv bnRpbnVvdXMgQ1NJLTIgY2xvY2sgaXMgbWlzc2luZyBpbiB0aGUgZHJpdmVyICovCiAJY2ZnLT5m bGFncyA9IFY0TDJfTUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0s7CkBAIC0xOTIyLDcgKzE5MjIs NyBAQCBzdGF0aWMgaW50IHRjMzU4NzQzX3Byb2JlX29mKHN0cnVjdCB0YzM1ODc0M19zdGF0ZSAq c3RhdGUpCiAJCWdvdG8gcHV0X25vZGU7CiAJfQogCi0JaWYgKGVuZHBvaW50LT5idXNfdHlwZSAh PSBWNEwyX01CVVNfQ1NJMiB8fAorCWlmIChlbmRwb2ludC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVT X0NTSTJfRFBIWSB8fAogCSAgICBlbmRwb2ludC0+YnVzLm1pcGlfY3NpMi5udW1fZGF0YV9sYW5l cyA9PSAwIHx8CiAJICAgIGVuZHBvaW50LT5ucl9vZl9saW5rX2ZyZXF1ZW5jaWVzID09IDApIHsK IAkJZGV2X2VycihkZXYsICJtaXNzaW5nIENTSS0yIHByb3BlcnRpZXMgaW4gZW5kcG9pbnRcbiIp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wY2kvaW50ZWwvaXB1My9pcHUzLWNpbzIuYyBi L2RyaXZlcnMvbWVkaWEvcGNpL2ludGVsL2lwdTMvaXB1My1jaW8yLmMKaW5kZXggMDZiNDIyMjMz MjE1Li40NTJlYjliNDIxNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGNpL2ludGVsL2lw dTMvaXB1My1jaW8yLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wY2kvaW50ZWwvaXB1My9pcHUzLWNp bzIuYwpAQCAtMTQ4Miw3ICsxNDgyLDcgQEAgc3RhdGljIGludCBjaW8yX2Z3bm9kZV9wYXJzZShz dHJ1Y3QgZGV2aWNlICpkZXYsCiAJc3RydWN0IHNlbnNvcl9hc3luY19zdWJkZXYgKnNfYXNkID0K IAkJCWNvbnRhaW5lcl9vZihhc2QsIHN0cnVjdCBzZW5zb3JfYXN5bmNfc3ViZGV2LCBhc2QpOwog Ci0JaWYgKHZlcC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodmVwLT5idXNf dHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoZGV2LCAiT25seSBDU0ky IGJ1cyB0eXBlIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NhZGVuY2UvY2Rucy1jc2ky cnguYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY2FkZW5jZS9jZG5zLWNzaTJyeC5jCmluZGV4 IGRhM2ViMzQ5NzE2Zi4uMDc3NmEzNGYyOGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL2NhZGVuY2UvY2Rucy1jc2kycnguYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2NhZGVuY2UvY2Rucy1jc2kycnguYwpAQCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyBpbnQgY3Np MnJ4X3BhcnNlX2R0KHN0cnVjdCBjc2kycnhfcHJpdiAqY3NpMnJ4KQogCQlyZXR1cm4gcmV0Owog CX0KIAotCWlmICh2NGwyX2VwLmJ1c190eXBlICE9IFY0TDJfTUJVU19DU0kyKSB7CisJaWYgKHY0 bDJfZXAuYnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQlkZXZfZXJyKGNzaTJy eC0+ZGV2LCAiVW5zdXBwb3J0ZWQgbWVkaWEgYnVzIHR5cGU6IDB4JXhcbiIsCiAJCQl2NGwyX2Vw LmJ1c190eXBlKTsKIAkJb2Zfbm9kZV9wdXQoZXApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L2NhZGVuY2UvY2Rucy1jc2kydHguYwppbmRleCA0MGQwZGU2OTBmZjQuLjYyMjRkYWY4OTFkNyAx MDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMK KysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jYWRlbmNlL2NkbnMtY3NpMnR4LmMKQEAgLTQ0 Niw3ICs0NDYsNyBAQCBzdGF0aWMgaW50IGNzaTJ0eF9jaGVja19sYW5lcyhzdHJ1Y3QgY3NpMnR4 X3ByaXYgKmNzaTJ0eCkKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKHY0bDJfZXAuYnVzX3R5cGUg IT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodjRsMl9lcC5idXNfdHlwZSAhPSBWNEwyX01CVVNf Q1NJMl9EUEhZKSB7CiAJCWRldl9lcnIoY3NpMnR4LT5kZXYsICJVbnN1cHBvcnRlZCBtZWRpYSBi dXMgdHlwZTogMHgleFxuIiwKIAkJCXY0bDJfZXAuYnVzX3R5cGUpOwogCQlyZXQgPSAtRUlOVkFM OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1j b3JlLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tY2FtLWNvcmUuYwpp bmRleCBmOGUxYWYxMDE4MTcuLmYxYjMwMTgxMDI2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tYXJ2ZWxsLWNjaWMvbWNhbS1jb3JlLmMKQEAgLTc5NCw3ICs3OTQsNyBAQCBzdGF0 aWMgdm9pZCBtY2FtX2N0bHJfaW1hZ2Uoc3RydWN0IG1jYW1fY2FtZXJhICpjYW0pCiAJLyoKIAkg KiBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBnZW5lcmF0aW9uIG9mIEVPRihEVlAgb25seSkKIAkg Ki8KLQlpZiAoY2FtLT5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMikKKwlpZiAoY2FtLT5idXNf dHlwZSAhPSBWNEwyX01CVVNfQ1NJMl9EUEhZKQogCQltY2FtX3JlZ19zZXRfYml0KGNhbSwgUkVH X0NUUkwwLAogCQkJCUMwX0VPRl9WU1lOQyB8IEMwX1ZFREdFX0NUUkwpOwogfQpAQCAtMTAyMyw3 ICsxMDIzLDcgQEAgc3RhdGljIGludCBtY2FtX3JlYWRfc2V0dXAoc3RydWN0IG1jYW1fY2FtZXJh ICpjYW0pCiAJCWNhbS0+Y2FsY19kcGh5KGNhbSk7CiAJY2FtX2RiZyhjYW0sICJjYW1lcmE6IERQ SFkgc2V0czogZHBoeTM9MHgleCwgZHBoeTU9MHgleCwgZHBoeTY9MHgleFxuIiwKIAkJCWNhbS0+ ZHBoeVswXSwgY2FtLT5kcGh5WzFdLCBjYW0tPmRwaHlbMl0pOwotCWlmIChjYW0tPmJ1c190eXBl ID09IFY0TDJfTUJVU19DU0kyKQorCWlmIChjYW0tPmJ1c190eXBlID09IFY0TDJfTUJVU19DU0ky X0RQSFkpCiAJCW1jYW1fZW5hYmxlX21pcGkoY2FtKTsKIAllbHNlCiAJCW1jYW1fZGlzYWJsZV9t aXBpKGNhbSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2Np Yy9tbXAtZHJpdmVyLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAt ZHJpdmVyLmMKaW5kZXggNDE5NjhjZDM4OGFjLi43MGEyODMzZGIwZDEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbWFydmVsbC1jY2ljL21tcC1kcml2ZXIuYworKysgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL21hcnZlbGwtY2NpYy9tbXAtZHJpdmVyLmMKQEAgLTM2Miw3ICsz NjIsNyBAQCBzdGF0aWMgaW50IG1tcGNhbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogCW1jYW0tPm1jbGtfZGl2ID0gcGRhdGEtPm1jbGtfZGl2OwogCW1jYW0tPmJ1c190eXBl ID0gcGRhdGEtPmJ1c190eXBlOwogCW1jYW0tPmRwaHkgPSBwZGF0YS0+ZHBoeTsKLQlpZiAobWNh bS0+YnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAobWNhbS0+YnVzX3R5cGUgPT0g VjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQljYW0tPm1pcGlfY2xrID0gZGV2bV9jbGtfZ2V0KG1j YW0tPmRldiwgIm1pcGkiKTsKIAkJaWYgKChJU19FUlIoY2FtLT5taXBpX2NsaykgJiYgbWNhbS0+ ZHBoeVsyXSA9PSAwKSkKIAkJCXJldHVybiBQVFJfRVJSKGNhbS0+bWlwaV9jbGspOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwLmMKaW5kZXggZjVkZGU4Nzc0Mzk5Li43N2ZiNzk4N2I0 MmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3AvaXNwLmMKKysr IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYwpAQCAtMjA1NCw3ICsyMDU0 LDcgQEAgc3RhdGljIGludCBpc3BfZndub2RlX3BhcnNlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJ CWRldl9kYmcoZGV2LCAiQ1NJLTEvQ0NQLTIgY29uZmlndXJhdGlvblxuIik7CiAJCQljc2kxID0g dHJ1ZTsKIAkJCWJyZWFrOwotCQljYXNlIFY0TDJfTUJVU19DU0kyOgorCQljYXNlIFY0TDJfTUJV U19DU0kyX0RQSFk6CiAJCQlkZXZfZGJnKGRldiwgIkNTSS0yIGNvbmZpZ3VyYXRpb25cbiIpOwog CQkJY3NpMSA9IGZhbHNlOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3B4YV9jYW1lcmEuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcHhhX2NhbWVyYS5j CmluZGV4IDZmNTU5M2M4YzRjNi4uYTQ3YmUxMjQyY2Y0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3B4YV9jYW1lcmEuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3B4 YV9jYW1lcmEuYwpAQCAtNjMzLDcgKzYzMyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcHhhX21i dXNfY29uZmlnX2NvbXBhdGlibGUoY29uc3Qgc3RydWN0IHY0bDJfbWJ1c19jb25maWcgKmNmCiAJ CW1vZGUgPSBjb21tb25fZmxhZ3MgJiAoVjRMMl9NQlVTX01BU1RFUiB8IFY0TDJfTUJVU19TTEFW RSk7CiAJCXJldHVybiAoIWhzeW5jIHx8ICF2c3luYyB8fCAhcGNsayB8fCAhZGF0YSB8fCAhbW9k ZSkgPwogCQkJMCA6IGNvbW1vbl9mbGFnczsKLQljYXNlIFY0TDJfTUJVU19DU0kyOgorCWNhc2Ug VjRMMl9NQlVTX0NTSTJfRFBIWToKIAkJbWlwaV9sYW5lcyA9IGNvbW1vbl9mbGFncyAmIFY0TDJf TUJVU19DU0kyX0xBTkVTOwogCQltaXBpX2Nsb2NrID0gY29tbW9uX2ZsYWdzICYgKFY0TDJfTUJV U19DU0kyX05PTkNPTlRJTlVPVVNfQ0xPQ0sgfAogCQkJCQkgICAgIFY0TDJfTUJVU19DU0kyX0NP TlRJTlVPVVNfQ0xPQ0spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yY2Fy LXZpbi9yY2FyLWNzaTIuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1j c2kyLmMKaW5kZXggNzVlYmQ5YzIzODEzLi4yNWVkYzJlZGQxOTcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jc2kyLmMKKysrIGIvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9yY2FyLXZpbi9yY2FyLWNzaTIuYwpAQCAtNzE0LDcgKzcxNCw3IEBAIHN0YXRp YyBpbnQgcmNzaTJfcGFyc2VfdjRsMihzdHJ1Y3QgcmNhcl9jc2kyICpwcml2LAogCWlmICh2ZXAt PmJhc2UucG9ydCB8fCB2ZXAtPmJhc2UuaWQpCiAJCXJldHVybiAtRU5PVENPTk47CiAKLQlpZiAo dmVwLT5idXNfdHlwZSAhPSBWNEwyX01CVVNfQ1NJMikgeworCWlmICh2ZXAtPmJ1c190eXBlICE9 IFY0TDJfTUJVU19DU0kyX0RQSFkpIHsKIAkJZGV2X2Vycihwcml2LT5kZXYsICJVbnN1cHBvcnRl ZCBidXM6ICV1XG4iLCB2ZXAtPmJ1c190eXBlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5j IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jCmluZGV4 IDBhZDRiMjgyNjZlNC4uYmU3NDAwOGVjMGNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3NvY19jYW1lcmEvc29jX21lZGlhYnVzLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9zb2NfY2FtZXJhL3NvY19tZWRpYWJ1cy5jCkBAIC01MDMsNyArNTAzLDcgQEAgdW5zaWdu ZWQgaW50IHNvY19tYnVzX2NvbmZpZ19jb21wYXRpYmxlKGNvbnN0IHN0cnVjdCB2NGwyX21idXNf Y29uZmlnICpjZmcsCiAJCW1vZGUgPSBjb21tb25fZmxhZ3MgJiAoVjRMMl9NQlVTX01BU1RFUiB8 IFY0TDJfTUJVU19TTEFWRSk7CiAJCXJldHVybiAoIWhzeW5jIHx8ICF2c3luYyB8fCAhcGNsayB8 fCAhZGF0YSB8fCAhbW9kZSkgPwogCQkJMCA6IGNvbW1vbl9mbGFnczsKLQljYXNlIFY0TDJfTUJV U19DU0kyOgorCWNhc2UgVjRMMl9NQlVTX0NTSTJfRFBIWToKIAkJbWlwaV9sYW5lcyA9IGNvbW1v bl9mbGFncyAmIFY0TDJfTUJVU19DU0kyX0xBTkVTOwogCQltaXBpX2Nsb2NrID0gY29tbW9uX2Zs YWdzICYgKFY0TDJfTUJVU19DU0kyX05PTkNPTlRJTlVPVVNfQ0xPQ0sgfAogCQkJCQkgICAgIFY0 TDJfTUJVU19DU0kyX0NPTlRJTlVPVVNfQ0xPQ0spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0 bTMyL3N0bTMyLWRjbWkuYwppbmRleCA0NTFlNmYzMDYwNGQuLmRhMjk2YTJhZmMyZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMKKysrIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMKQEAgLTE2NjAsNyArMTY2MCw3 IEBAIHN0YXRpYyBpbnQgZGNtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQog CQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQlpZiAoZXAuYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NT STIpIHsKKwlpZiAoZXAuYnVzX3R5cGUgPT0gVjRMMl9NQlVTX0NTSTJfRFBIWSkgewogCQlkZXZf ZXJyKCZwZGV2LT5kZXYsICJDU0kgYnVzIG5vdCBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm4gLUVO T0RFVjsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS9jYWwu YyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdGktdnBlL2NhbC5jCmluZGV4IDgwZmQ1OWE0YjBm ZC4uODhkYTA1ZTFjMWY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZw ZS9jYWwuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3RpLXZwZS9jYWwuYwpAQCAtMTcx MCw3ICsxNzEwLDcgQEAgc3RhdGljIGludCBvZl9jYWxfY3JlYXRlX2luc3RhbmNlKHN0cnVjdCBj YWxfY3R4ICpjdHgsIGludCBpbnN0KQogCX0KIAl2NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZShv Zl9md25vZGVfaGFuZGxlKHJlbW90ZV9lcCksIGVuZHBvaW50KTsKIAotCWlmIChlbmRwb2ludC0+ YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAoZW5kcG9pbnQtPmJ1c190eXBlICE9 IFY0TDJfTUJVU19DU0kyX0RQSFkpIHsKIAkJY3R4X2VycihjdHgsICJQb3J0OiVkIHN1Yi1kZXZp Y2UgJXMgaXMgbm90IGEgQ1NJMiBkZXZpY2VcbiIsCiAJCQlpbnN0LCBzZW5zb3Jfbm9kZS0+bmFt ZSk7CiAJCWdvdG8gZXJyX3B1dF9yZW1vdGVfZXA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L3Y0bDItY29yZS92NGwyLWZ3bm9kZS5jIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1m d25vZGUuYwppbmRleCAxMDRlZjdmMTc1NGQuLjU0MTYyMjE3YmIzNiAxMDA2NDQKLS0tIGEvZHJp dmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYworKysgYi9kcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLWZ3bm9kZS5jCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIGludCB2NGwy X2Z3bm9kZV9lbmRwb2ludF9wYXJzZV9jc2kyX2J1cyhzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndu b2RlLAogCX0KIAogCWJ1cy0+ZmxhZ3MgPSBmbGFnczsKLQl2ZXAtPmJ1c190eXBlID0gVjRMMl9N QlVTX0NTSTI7CisJdmVwLT5idXNfdHlwZSA9IFY0TDJfTUJVU19DU0kyX0RQSFk7CiAKIAlyZXR1 cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgvaW14LW1lZGlh LWNzaS5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXgtbWVkaWEtY3NpLmMKaW5kZXgg OGU3NDlmZGVjOGQxLi41MzkxNTlkOWFmNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9pbXgvaW14LW1lZGlhLWNzaS5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgv aW14LW1lZGlhLWNzaS5jCkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qg Y3NpX3ByaXYgKnNkX3RvX2RldihzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkZXYpCiAKIHN0YXRpYyBp bmxpbmUgYm9vbCBpc19wYXJhbGxlbF9idXMoc3RydWN0IHY0bDJfZndub2RlX2VuZHBvaW50ICpl cCkKIHsKLQlyZXR1cm4gZXAtPmJ1c190eXBlICE9IFY0TDJfTUJVU19DU0kyOworCXJldHVybiBl cC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTJfRFBIWTsKIH0KIAogc3RhdGljIGlubGluZSBi b29sIGlzX3BhcmFsbGVsXzE2Yml0X2J1cyhzdHJ1Y3QgdjRsMl9md25vZGVfZW5kcG9pbnQgKmVw KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2LW1pcGktY3NpMi5j IGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2LW1pcGktY3NpMi5jCmluZGV4IGQ2MGE1 MmNmYzY5Yy4uNmExY2VlNTVhNDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEv aW14L2lteDYtbWlwaS1jc2kyLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteC9pbXg2 LW1pcGktY3NpMi5jCkBAIC01NjMsNyArNTYzLDcgQEAgc3RhdGljIGludCBjc2kyX3BhcnNlX2Vu ZHBvaW50KHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYg KHZlcC0+YnVzX3R5cGUgIT0gVjRMMl9NQlVTX0NTSTIpIHsKKwlpZiAodmVwLT5idXNfdHlwZSAh PSBWNEwyX01CVVNfQ1NJMl9EUEhZKSB7CiAJCXY0bDJfZXJyKCZjc2kyLT5zZCwgImludmFsaWQg YnVzIHR5cGUsIG11c3QgYmUgTUlQSSBDU0kyXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteDA3NC9pbXgwNzQuYyBiL2RyaXZl cnMvc3RhZ2luZy9tZWRpYS9pbXgwNzQvaW14MDc0LmMKaW5kZXggNzdmMWUwMjQzZDZlLi4wZWVl OWYwZGVmNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9pbXgwNzQvaW14MDc0 LmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2lteDA3NC9pbXgwNzQuYwpAQCAtMjYzLDcg KzI2Myw3IEBAIHN0YXRpYyBpbnQgaW14MDc0X3NfcG93ZXIoc3RydWN0IHY0bDJfc3ViZGV2ICpz ZCwgaW50IG9uKQogc3RhdGljIGludCBpbXgwNzRfZ19tYnVzX2NvbmZpZyhzdHJ1Y3QgdjRsMl9z dWJkZXYgKnNkLAogCQkJCXN0cnVjdCB2NGwyX21idXNfY29uZmlnICpjZmcpCiB7Ci0JY2ZnLT50 eXBlID0gVjRMMl9NQlVTX0NTSTI7CisJY2ZnLT50eXBlID0gVjRMMl9NQlVTX0NTSTJfRFBIWTsK IAljZmctPmZsYWdzID0gVjRMMl9NQlVTX0NTSTJfMl9MQU5FIHwKIAkJVjRMMl9NQlVTX0NTSTJf Q0hBTk5FTF8wIHwKIAkJVjRMMl9NQlVTX0NTSTJfQ09OVElOVU9VU19DTE9DSzsKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1cy5oIGIvaW5jbHVkZS9tZWRpYS92NGwyLW1l ZGlhYnVzLmgKaW5kZXggNGJiYjVmM2QyYjAyLi4yNmUxYzY0NGRlZDYgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvbWVkaWEvdjRsMi1tZWRpYWJ1cy5oCisrKyBiL2luY2x1ZGUvbWVkaWEvdjRsMi1tZWRp YWJ1cy5oCkBAIC03NSwxNCArNzUsMTYgQEAKICAqCQkJYWxzbyBiZSB1c2VkIGZvciBCVC4xMTIw CiAgKiBAVjRMMl9NQlVTX0NTSTE6CU1JUEkgQ1NJLTEgc2VyaWFsIGludGVyZmFjZQogICogQFY0 TDJfTUJVU19DQ1AyOglDQ1AyIChDb21wYWN0IENhbWVyYSBQb3J0IDIpCi0gKiBAVjRMMl9NQlVT X0NTSTI6CU1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZQorICogQFY0TDJfTUJVU19DU0kyX0RQ SFk6IE1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZSwgd2l0aCBELVBIWQorICogQFY0TDJfTUJV U19DU0kyX0NQSFk6IE1JUEkgQ1NJLTIgc2VyaWFsIGludGVyZmFjZSwgd2l0aCBDLVBIWQogICov CiBlbnVtIHY0bDJfbWJ1c190eXBlIHsKIAlWNEwyX01CVVNfUEFSQUxMRUwsCiAJVjRMMl9NQlVT X0JUNjU2LAogCVY0TDJfTUJVU19DU0kxLAogCVY0TDJfTUJVU19DQ1AyLAotCVY0TDJfTUJVU19D U0kyLAorCVY0TDJfTUJVU19DU0kyX0RQSFksCisJVjRMMl9NQlVTX0NTSTJfQ1BIWSwKIH07CiAK IC8qKgotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK