From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v11 07/12] drm/mediatek: cleaning up and refine Date: Wed, 11 Jan 2017 14:51:08 +0800 Message-ID: <1484117473-46644-8-git-send-email-yt.shen@mediatek.com> References: <1484117473-46644-1-git-send-email-yt.shen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484117473-46644-1-git-send-email-yt.shen@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, Philipp Zabel , CK Hu Cc: Mark Rutland , devicetree@vger.kernel.org, srv_heupstream@mediatek.com, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Rob Herring , linux-mediatek@lists.infradead.org, Matthias Brugger , yingjoe.chen@mediatek.com, shaoming chen , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org Y2xlYW5pbmcgdXAgdW51c2VkIGRlZmluZSBhbmQgcmVmaW5lIGZ1bmN0aW9uIG5hbWUgYW5kIHZh cmlhYmxlCgpTaWduZWQtb2ZmLWJ5OiBzaGFvbWluZyBjaGVuIDxzaGFvbWluZy5jaGVuQG1lZGlh dGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogWVQgU2hlbiA8eXQuc2hlbkBtZWRpYXRlay5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgfCA3MyArKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21p cGlfdHguYyB8ICA4ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgNDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k c2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKaW5kZXggMmM0MmY5MC4u NmY0YjNiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCkBAIC0yNyw5ICsyNyw2IEBA CiAKICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiCiAKLSNkZWZpbmUgRFNJX1ZJREVPX0ZJ Rk9fREVQVEgJKDE5MjAgLyA0KQotI2RlZmluZSBEU0lfSE9TVF9GSUZPX0RFUFRICTY0Ci0KICNk ZWZpbmUgRFNJX1NUQVJUCQkweDAwCiAKICNkZWZpbmUgRFNJX0NPTl9DVFJMCQkweDEwCkBAIC00 Niw3ICs0Myw3IEBACiAjZGVmaW5lIE1JWF9NT0RFCQkJQklUKDE3KQogCiAjZGVmaW5lIERTSV9U WFJYX0NUUkwJCTB4MTgKLSNkZWZpbmUgVkNfTlVNCQkJCSgyIDw8IDApCisjZGVmaW5lIFZDX05V TQkJCQlCSVQoMSkKICNkZWZpbmUgTEFORV9OVU0JCQkoMHhmIDw8IDIpCiAjZGVmaW5lIERJU19F T1QJCQkJQklUKDYpCiAjZGVmaW5lIE5VTExfRU4JCQkJQklUKDcpCkBAIC0xNjQsNyArMTYxLDcg QEAgc3RhdGljIHZvaWQgbXRrX2RzaV9tYXNrKHN0cnVjdCBtdGtfZHNpICpkc2ksIHUzMiBvZmZz ZXQsIHUzMiBtYXNrLCB1MzIgZGF0YSkKIAl3cml0ZWwoKHRlbXAgJiB+bWFzaykgfCAoZGF0YSAm IG1hc2spLCBkc2ktPnJlZ3MgKyBvZmZzZXQpOwogfQogCi1zdGF0aWMgdm9pZCBkc2lfcGh5X3Rp bWNvbmZpZyhzdHJ1Y3QgbXRrX2RzaSAqZHNpKQorc3RhdGljIHZvaWQgbXRrX2RzaV9waHlfdGlt Y29uZmlnKHN0cnVjdCBtdGtfZHNpICpkc2kpCiB7CiAJdTMyIHRpbWNvbjAsIHRpbWNvbjEsIHRp bWNvbjIsIHRpbWNvbjM7CiAJdTMyIHVpLCBjeWNsZV90aW1lOwpAQCAtMTk2LDcgKzE5Myw3IEBA IHN0YXRpYyB2b2lkIG10a19kc2lfZGlzYWJsZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQogCW10a19k c2lfbWFzayhkc2ksIERTSV9DT05fQ1RSTCwgRFNJX0VOLCAwKTsKIH0KIAotc3RhdGljIHZvaWQg bXRrX2RzaV9yZXNldChzdHJ1Y3QgbXRrX2RzaSAqZHNpKQorc3RhdGljIHZvaWQgbXRrX2RzaV9y ZXNldF9lbmdpbmUoc3RydWN0IG10a19kc2kgKmRzaSkKIHsKIAltdGtfZHNpX21hc2soZHNpLCBE U0lfQ09OX0NUUkwsIERTSV9SRVNFVCwgRFNJX1JFU0VUKTsKIAltdGtfZHNpX21hc2soZHNpLCBE U0lfQ09OX0NUUkwsIERTSV9SRVNFVCwgMCk7CkBAIC0yNjcsOCArMjY0LDggQEAgc3RhdGljIGlu dCBtdGtfZHNpX3Bvd2Vyb24oc3RydWN0IG10a19kc2kgKmRzaSkKIAl9CiAKIAltdGtfZHNpX2Vu YWJsZShkc2kpOwotCW10a19kc2lfcmVzZXQoZHNpKTsKLQlkc2lfcGh5X3RpbWNvbmZpZyhkc2kp OworCW10a19kc2lfcmVzZXRfZW5naW5lKGRzaSk7CisJbXRrX2RzaV9waHlfdGltY29uZmlnKGRz aSk7CiAKIAlyZXR1cm4gMDsKIApAQCAtMjgxLDMzICsyNzgsMzMgQEAgc3RhdGljIGludCBtdGtf ZHNpX3Bvd2Vyb24oc3RydWN0IG10a19kc2kgKmRzaSkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0 aWMgdm9pZCBkc2lfY2xrX3VscF9tb2RlX2VudGVyKHN0cnVjdCBtdGtfZHNpICpkc2kpCitzdGF0 aWMgdm9pZCBtdGtfZHNpX2Nsa191bHBfbW9kZV9lbnRlcihzdHJ1Y3QgbXRrX2RzaSAqZHNpKQog ewogCW10a19kc2lfbWFzayhkc2ksIERTSV9QSFlfTENDT04sIExDX0hTX1RYX0VOLCAwKTsKIAlt dGtfZHNpX21hc2soZHNpLCBEU0lfUEhZX0xDQ09OLCBMQ19VTFBNX0VOLCAwKTsKIH0KIAotc3Rh dGljIHZvaWQgZHNpX2Nsa191bHBfbW9kZV9sZWF2ZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQorc3Rh dGljIHZvaWQgbXRrX2RzaV9jbGtfdWxwX21vZGVfbGVhdmUoc3RydWN0IG10a19kc2kgKmRzaSkK IHsKIAltdGtfZHNpX21hc2soZHNpLCBEU0lfUEhZX0xDQ09OLCBMQ19VTFBNX0VOLCAwKTsKIAlt dGtfZHNpX21hc2soZHNpLCBEU0lfUEhZX0xDQ09OLCBMQ19XQUtFVVBfRU4sIExDX1dBS0VVUF9F Tik7CiAJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX1BIWV9MQ0NPTiwgTENfV0FLRVVQX0VOLCAwKTsK IH0KIAotc3RhdGljIHZvaWQgZHNpX2xhbmUwX3VscF9tb2RlX2VudGVyKHN0cnVjdCBtdGtfZHNp ICpkc2kpCitzdGF0aWMgdm9pZCBtdGtfZHNpX2xhbmUwX3VscF9tb2RlX2VudGVyKHN0cnVjdCBt dGtfZHNpICpkc2kpCiB7CiAJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX1BIWV9MRDBDT04sIExEMF9I U19UWF9FTiwgMCk7CiAJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX1BIWV9MRDBDT04sIExEMF9VTFBN X0VOLCAwKTsKIH0KIAotc3RhdGljIHZvaWQgZHNpX2xhbmUwX3VscF9tb2RlX2xlYXZlKHN0cnVj dCBtdGtfZHNpICpkc2kpCitzdGF0aWMgdm9pZCBtdGtfZHNpX2xhbmUwX3VscF9tb2RlX2xlYXZl KHN0cnVjdCBtdGtfZHNpICpkc2kpCiB7CiAJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX1BIWV9MRDBD T04sIExEMF9VTFBNX0VOLCAwKTsKIAltdGtfZHNpX21hc2soZHNpLCBEU0lfUEhZX0xEMENPTiwg TEQwX1dBS0VVUF9FTiwgTEQwX1dBS0VVUF9FTik7CiAJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX1BI WV9MRDBDT04sIExEMF9XQUtFVVBfRU4sIDApOwogfQogCi1zdGF0aWMgYm9vbCBkc2lfY2xrX2hz X3N0YXRlKHN0cnVjdCBtdGtfZHNpICpkc2kpCitzdGF0aWMgYm9vbCBtdGtfZHNpX2Nsa19oc19z dGF0ZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQogewogCXUzMiB0bXBfcmVnMTsKIApAQCAtMzE1LDE1 ICszMTIsMTUgQEAgc3RhdGljIGJvb2wgZHNpX2Nsa19oc19zdGF0ZShzdHJ1Y3QgbXRrX2RzaSAq ZHNpKQogCXJldHVybiAoKHRtcF9yZWcxICYgTENfSFNfVFhfRU4pID09IDEpID8gdHJ1ZSA6IGZh bHNlOwogfQogCi1zdGF0aWMgdm9pZCBkc2lfY2xrX2hzX21vZGUoc3RydWN0IG10a19kc2kgKmRz aSwgYm9vbCBlbnRlcikKK3N0YXRpYyB2b2lkIG10a19kc2lfY2xrX2hzX21vZGUoc3RydWN0IG10 a19kc2kgKmRzaSwgYm9vbCBlbnRlcikKIHsKLQlpZiAoZW50ZXIgJiYgIWRzaV9jbGtfaHNfc3Rh dGUoZHNpKSkKKwlpZiAoZW50ZXIgJiYgIW10a19kc2lfY2xrX2hzX3N0YXRlKGRzaSkpCiAJCW10 a19kc2lfbWFzayhkc2ksIERTSV9QSFlfTENDT04sIExDX0hTX1RYX0VOLCBMQ19IU19UWF9FTik7 Ci0JZWxzZSBpZiAoIWVudGVyICYmIGRzaV9jbGtfaHNfc3RhdGUoZHNpKSkKKwllbHNlIGlmICgh ZW50ZXIgJiYgbXRrX2RzaV9jbGtfaHNfc3RhdGUoZHNpKSkKIAkJbXRrX2RzaV9tYXNrKGRzaSwg RFNJX1BIWV9MQ0NPTiwgTENfSFNfVFhfRU4sIDApOwogfQogCi1zdGF0aWMgdm9pZCBkc2lfc2V0 X21vZGUoc3RydWN0IG10a19kc2kgKmRzaSkKK3N0YXRpYyB2b2lkIG10a19kc2lfc2V0X21vZGUo c3RydWN0IG10a19kc2kgKmRzaSkKIHsKIAl1MzIgdmlkX21vZGUgPSBDTURfTU9ERTsKIApAQCAt MzM4LDcgKzMzNSw3IEBAIHN0YXRpYyB2b2lkIGRzaV9zZXRfbW9kZShzdHJ1Y3QgbXRrX2RzaSAq ZHNpKQogCXdyaXRlbCh2aWRfbW9kZSwgZHNpLT5yZWdzICsgRFNJX01PREVfQ1RSTCk7CiB9CiAK LXN0YXRpYyB2b2lkIGRzaV9wc19jb250cm9sX3ZhY3Qoc3RydWN0IG10a19kc2kgKmRzaSkKK3N0 YXRpYyB2b2lkIG10a19kc2lfcHNfY29udHJvbF92YWN0KHN0cnVjdCBtdGtfZHNpICpkc2kpCiB7 CiAJc3RydWN0IHZpZGVvbW9kZSAqdm0gPSAmZHNpLT52bTsKIAl1MzIgZHNpX2J1Zl9icHAsIHBz X3djOwpAQCAtMzcyLDcgKzM2OSw3IEBAIHN0YXRpYyB2b2lkIGRzaV9wc19jb250cm9sX3ZhY3Qo c3RydWN0IG10a19kc2kgKmRzaSkKIAl3cml0ZWwocHNfd2MsIGRzaS0+cmVncyArIERTSV9IU1RY X0NLTF9XQyk7CiB9CiAKLXN0YXRpYyB2b2lkIGRzaV9yeHR4X2NvbnRyb2woc3RydWN0IG10a19k c2kgKmRzaSkKK3N0YXRpYyB2b2lkIG10a19kc2lfcnh0eF9jb250cm9sKHN0cnVjdCBtdGtfZHNp ICpkc2kpCiB7CiAJdTMyIHRtcF9yZWc7CiAKQEAgLTM5Nyw5ICszOTQsOSBAQCBzdGF0aWMgdm9p ZCBkc2lfcnh0eF9jb250cm9sKHN0cnVjdCBtdGtfZHNpICpkc2kpCiAJd3JpdGVsKHRtcF9yZWcs IGRzaS0+cmVncyArIERTSV9UWFJYX0NUUkwpOwogfQogCi1zdGF0aWMgdm9pZCBkc2lfcHNfY29u dHJvbChzdHJ1Y3QgbXRrX2RzaSAqZHNpKQorc3RhdGljIHZvaWQgbXRrX2RzaV9wc19jb250cm9s KHN0cnVjdCBtdGtfZHNpICpkc2kpCiB7Ci0JdW5zaWduZWQgaW50IGRzaV90bXBfYnVmX2JwcDsK Kwl1MzIgZHNpX3RtcF9idWZfYnBwOwogCXUzMiB0bXBfcmVnOwogCiAJc3dpdGNoIChkc2ktPmZv cm1hdCkgewpAQCAtNDI5LDEyICs0MjYsMTIgQEAgc3RhdGljIHZvaWQgZHNpX3BzX2NvbnRyb2wo c3RydWN0IG10a19kc2kgKmRzaSkKIAl3cml0ZWwodG1wX3JlZywgZHNpLT5yZWdzICsgRFNJX1BT Q1RSTCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRzaV9jb25maWdfdmRvX3RpbWluZyhzdHJ1Y3QgbXRr X2RzaSAqZHNpKQorc3RhdGljIHZvaWQgbXRrX2RzaV9jb25maWdfdmRvX3RpbWluZyhzdHJ1Y3Qg bXRrX2RzaSAqZHNpKQogewotCXVuc2lnbmVkIGludCBob3Jpem9udGFsX3N5bmNfYWN0aXZlX2J5 dGU7Ci0JdW5zaWduZWQgaW50IGhvcml6b250YWxfYmFja3BvcmNoX2J5dGU7Ci0JdW5zaWduZWQg aW50IGhvcml6b250YWxfZnJvbnRwb3JjaF9ieXRlOwotCXVuc2lnbmVkIGludCBkc2lfdG1wX2J1 Zl9icHA7CisJdTMyIGhvcml6b250YWxfc3luY19hY3RpdmVfYnl0ZTsKKwl1MzIgaG9yaXpvbnRh bF9iYWNrcG9yY2hfYnl0ZTsKKwl1MzIgaG9yaXpvbnRhbF9mcm9udHBvcmNoX2J5dGU7CisJdTMy IGRzaV90bXBfYnVmX2JwcDsKIAogCXN0cnVjdCB2aWRlb21vZGUgKnZtID0gJmRzaS0+dm07CiAK QEAgLTQ2Myw3ICs0NjAsNyBAQCBzdGF0aWMgdm9pZCBkc2lfY29uZmlnX3Zkb190aW1pbmcoc3Ry dWN0IG10a19kc2kgKmRzaSkKIAl3cml0ZWwoaG9yaXpvbnRhbF9iYWNrcG9yY2hfYnl0ZSwgZHNp LT5yZWdzICsgRFNJX0hCUF9XQyk7CiAJd3JpdGVsKGhvcml6b250YWxfZnJvbnRwb3JjaF9ieXRl LCBkc2ktPnJlZ3MgKyBEU0lfSEZQX1dDKTsKIAotCWRzaV9wc19jb250cm9sKGRzaSk7CisJbXRr X2RzaV9wc19jb250cm9sKGRzaSk7CiB9CiAKIHN0YXRpYyB2b2lkIG10a19kc2lfc3RhcnQoc3Ry dWN0IG10a19kc2kgKmRzaSkKQEAgLTQ4MCw4ICs0NzcsOCBAQCBzdGF0aWMgdm9pZCBtdGtfZHNp X3Bvd2Vyb2ZmKHN0cnVjdCBtdGtfZHNpICpkc2kpCiAJaWYgKC0tZHNpLT5yZWZjb3VudCAhPSAw KQogCQlyZXR1cm47CiAKLQlkc2lfbGFuZTBfdWxwX21vZGVfZW50ZXIoZHNpKTsKLQlkc2lfY2xr X3VscF9tb2RlX2VudGVyKGRzaSk7CisJbXRrX2RzaV9sYW5lMF91bHBfbW9kZV9lbnRlcihkc2kp OworCW10a19kc2lfY2xrX3VscF9tb2RlX2VudGVyKGRzaSk7CiAKIAltdGtfZHNpX2Rpc2FibGUo ZHNpKTsKIApAQCAtNTExLDE4ICs1MDgsMTggQEAgc3RhdGljIHZvaWQgbXRrX291dHB1dF9kc2lf ZW5hYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kpCiAJCXJldHVybjsKIAl9CiAKLQlkc2lfcnh0eF9j b250cm9sKGRzaSk7CisJbXRrX2RzaV9yeHR4X2NvbnRyb2woZHNpKTsKIAotCWRzaV9jbGtfdWxw X21vZGVfbGVhdmUoZHNpKTsKLQlkc2lfbGFuZTBfdWxwX21vZGVfbGVhdmUoZHNpKTsKLQlkc2lf Y2xrX2hzX21vZGUoZHNpLCAwKTsKLQlkc2lfc2V0X21vZGUoZHNpKTsKKwltdGtfZHNpX2Nsa191 bHBfbW9kZV9sZWF2ZShkc2kpOworCW10a19kc2lfbGFuZTBfdWxwX21vZGVfbGVhdmUoZHNpKTsK KwltdGtfZHNpX2Nsa19oc19tb2RlKGRzaSwgMCk7CisJbXRrX2RzaV9zZXRfbW9kZShkc2kpOwog Ci0JZHNpX3BzX2NvbnRyb2xfdmFjdChkc2kpOwotCWRzaV9jb25maWdfdmRvX3RpbWluZyhkc2kp OworCW10a19kc2lfcHNfY29udHJvbF92YWN0KGRzaSk7CisJbXRrX2RzaV9jb25maWdfdmRvX3Rp bWluZyhkc2kpOwogCi0JZHNpX3NldF9tb2RlKGRzaSk7Ci0JZHNpX2Nsa19oc19tb2RlKGRzaSwg MSk7CisJbXRrX2RzaV9zZXRfbW9kZShkc2kpOworCW10a19kc2lfY2xrX2hzX21vZGUoZHNpLCAx KTsKIAogCW10a19kc2lfc3RhcnQoZHNpKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19taXBpX3R4LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21p cGlfdHguYwppbmRleCBjNGEwMTY1Li5mZDg0OTE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX21pcGlfdHguYwpAQCAtMTM0LDcgKzEzNCw3IEBAIHN0cnVjdCBtdGtfbWlwaXR4X2RhdGEg ewogc3RydWN0IG10a19taXBpX3R4IHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJdm9pZCBfX2lv bWVtICpyZWdzOwotCXVuc2lnbmVkIGludCBkYXRhX3JhdGU7CisJdTMyIGRhdGFfcmF0ZTsKIAlj b25zdCBzdHJ1Y3QgbXRrX21pcGl0eF9kYXRhICpkcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgY2xrX2h3 IHBsbF9odzsKIAlzdHJ1Y3QgY2xrICpwbGw7CkBAIC0xNzIsNyArMTcyLDcgQEAgc3RhdGljIHZv aWQgbXRrX21pcGlfdHhfdXBkYXRlX2JpdHMoc3RydWN0IG10a19taXBpX3R4ICptaXBpX3R4LCB1 MzIgb2Zmc2V0LAogc3RhdGljIGludCBtdGtfbWlwaV90eF9wbGxfcHJlcGFyZShzdHJ1Y3QgY2xr X2h3ICpodykKIHsKIAlzdHJ1Y3QgbXRrX21pcGlfdHggKm1pcGlfdHggPSBtdGtfbWlwaV90eF9m cm9tX2Nsa19odyhodyk7Ci0JdW5zaWduZWQgaW50IHR4ZGl2LCB0eGRpdjAsIHR4ZGl2MTsKKwl1 OCB0eGRpdiwgdHhkaXYwLCB0eGRpdjE7CiAJdTY0IHBjdzsKIAogCWRldl9kYmcobWlwaV90eC0+ ZGV2LCAicHJlcGFyZTogJXUgSHpcbiIsIG1pcGlfdHgtPmRhdGFfcmF0ZSk7CkBAIC0zMjYsNyAr MzI2LDcgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgbXRrX21pcGlfdHhfcGxsX3JlY2FsY19yYXRl KHN0cnVjdCBjbGtfaHcgKmh3LAogc3RhdGljIGludCBtdGtfbWlwaV90eF9wb3dlcl9vbl9zaWdu YWwoc3RydWN0IHBoeSAqcGh5KQogewogCXN0cnVjdCBtdGtfbWlwaV90eCAqbWlwaV90eCA9IHBo eV9nZXRfZHJ2ZGF0YShwaHkpOwotCXVuc2lnbmVkIGludCByZWc7CisJdTMyIHJlZzsKIAogCWZv ciAocmVnID0gTUlQSVRYX0RTSV9DTE9DS19MQU5FOwogCSAgICAgcmVnIDw9IE1JUElUWF9EU0lf REFUQV9MQU5FMzsgcmVnICs9IDQpCkBAIC0zNTcsNyArMzU3LDcgQEAgc3RhdGljIGludCBtdGtf bWlwaV90eF9wb3dlcl9vbihzdHJ1Y3QgcGh5ICpwaHkpCiBzdGF0aWMgdm9pZCBtdGtfbWlwaV90 eF9wb3dlcl9vZmZfc2lnbmFsKHN0cnVjdCBwaHkgKnBoeSkKIHsKIAlzdHJ1Y3QgbXRrX21pcGlf dHggKm1pcGlfdHggPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKLQl1bnNpZ25lZCBpbnQgcmVnOwor CXUzMiByZWc7CiAKIAltdGtfbWlwaV90eF9zZXRfYml0cyhtaXBpX3R4LCBNSVBJVFhfRFNJX1RP UF9DT04sCiAJCQkgICAgIFJHX0RTSV9QQURfVElFX0xPV19FTik7Ci0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==