From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Yao Subject: [PATCH v6.1 4/7] drm/rockchip: vop: group vop registers Date: Fri, 28 Jul 2017 14:06:25 +0800 Message-ID: <1501221986-29722-1-git-send-email-mark.yao@rock-chips.com> References: <1501049966-6070-1-git-send-email-mark.yao@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1501049966-6070-1-git-send-email-mark.yao@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao , David Airlie , Heiko Stuebner Cc: linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: linux-rockchip.vger.kernel.org R3JvdXBpbmcgdGhlIHZvcCByZWdpc3RlcnMgZmFjaWxpdGF0ZXMgbWFrZSByZWdpc3RlcgpkZWZp bml0aW9uIGNsZWFyZXIsIGFuZCBhbHNvIGlzIHVzZWZ1bCBmb3IgZGlmZmVyZW50IHZvcApyZXVz ZSB0aGUgc2FtZSBncm91cCByZWdpc3Rlci4KClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJr Lnlhb0Byb2NrLWNoaXBzLmNvbT4KUmV2aWV3ZWQtYnk6IEplZmZ5IENoZW4gPGplZmZ5LmNoZW5A cm9jay1jaGlwcy5jb20+Ci0tLQpDaGFuZ2VzIGluIHY2LjEKLSBmaXggTnVsbCBwb2ludGVyIGNy YXNoIG9uIHZvcF9yZWdfc2V0CgogZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2Ry bV92b3AuYyB8IDEwMSArKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oIHwgIDYwICsrKysrKysrLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyB8IDExMiArKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRpb25zKCspLCAxMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9w LmMKaW5kZXggZmQ0N2RhNS4uMzk5MTJmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfZHJtX3ZvcC5jCkBAIC00MiwzMCArNDIsMTkgQEAKICNpbmNsdWRlICJyb2NrY2hp cF9kcm1fcHNyLmgiCiAjaW5jbHVkZSAicm9ja2NoaXBfZHJtX3ZvcC5oIgogCi0jZGVmaW5lIFJF R19TRVQoeCwgYmFzZSwgcmVnLCB2KSBcCi0JCXZvcF9tYXNrX3dyaXRlKHgsIGJhc2UgKyByZWcu b2Zmc2V0LCByZWcubWFzaywgcmVnLnNoaWZ0LCBcCi0JCQkgICAgICAgdiwgcmVnLndyaXRlX21h c2ssIHJlZy5yZWxheGVkKQotI2RlZmluZSBSRUdfU0VUX01BU0soeCwgYmFzZSwgcmVnLCBtYXNr LCB2KSBcCi0JCXZvcF9tYXNrX3dyaXRlKHgsIGJhc2UgKyByZWcub2Zmc2V0LCBcCi0JCQkgICAg ICAgbWFzaywgcmVnLnNoaWZ0LCB2LCByZWcud3JpdGVfbWFzaywgcmVnLnJlbGF4ZWQpCi0KICNk ZWZpbmUgVk9QX1dJTl9TRVQoeCwgd2luLCBuYW1lLCB2KSBcCi0JCVJFR19TRVQoeCwgd2luLT5i YXNlLCB3aW4tPnBoeS0+bmFtZSwgdikKKwkJdm9wX3JlZ19zZXQodm9wLCAmd2luLT5waHktPm5h bWUsIHdpbi0+YmFzZSwgfjAsIHYsICNuYW1lKQogI2RlZmluZSBWT1BfU0NMX1NFVCh4LCB3aW4s IG5hbWUsIHYpIFwKLQkJUkVHX1NFVCh4LCB3aW4tPmJhc2UsIHdpbi0+cGh5LT5zY2wtPm5hbWUs IHYpCisJCXZvcF9yZWdfc2V0KHZvcCwgJndpbi0+cGh5LT5zY2wtPm5hbWUsIHdpbi0+YmFzZSwg fjAsIHYsICNuYW1lKQogI2RlZmluZSBWT1BfU0NMX1NFVF9FWFQoeCwgd2luLCBuYW1lLCB2KSBc Ci0JCVJFR19TRVQoeCwgd2luLT5iYXNlLCB3aW4tPnBoeS0+c2NsLT5leHQtPm5hbWUsIHYpCi0j ZGVmaW5lIFZPUF9DVFJMX1NFVCh4LCBuYW1lLCB2KSBcCi0JCVJFR19TRVQoeCwgMCwgKHgpLT5k YXRhLT5jdHJsLT5uYW1lLCB2KQotCi0jZGVmaW5lIFZPUF9JTlRSX0dFVCh2b3AsIG5hbWUpIFwK LQkJdm9wX3JlYWRfcmVnKHZvcCwgMCwgJnZvcC0+ZGF0YS0+Y3RybC0+bmFtZSkKLQotI2RlZmlu ZSBWT1BfSU5UUl9TRVQodm9wLCBuYW1lLCB2KSBcCi0JCVJFR19TRVQodm9wLCAwLCB2b3AtPmRh dGEtPmludHItPm5hbWUsIHYpCisJCXZvcF9yZWdfc2V0KHZvcCwgJndpbi0+cGh5LT5zY2wtPmV4 dC0+bmFtZSwgXAorCQkJICAgIHdpbi0+YmFzZSwgfjAsIHYsICNuYW1lKQogCiAjZGVmaW5lIFZP UF9JTlRSX1NFVF9NQVNLKHZvcCwgbmFtZSwgbWFzaywgdikgXAotCQlSRUdfU0VUX01BU0sodm9w LCAwLCB2b3AtPmRhdGEtPmludHItPm5hbWUsIG1hc2ssIHYpCisJCXZvcF9yZWdfc2V0KHZvcCwg JnZvcC0+ZGF0YS0+aW50ci0+bmFtZSwgMCwgbWFzaywgdiwgI25hbWUpCisKKyNkZWZpbmUgVk9Q X1JFR19TRVQodm9wLCBncm91cCwgbmFtZSwgdikgXAorCQkgICAgdm9wX3JlZ19zZXQodm9wLCAm dm9wLT5kYXRhLT5ncm91cC0+bmFtZSwgMCwgfjAsIHYsICNuYW1lKQogCiAjZGVmaW5lIFZPUF9J TlRSX1NFVF9UWVBFKHZvcCwgbmFtZSwgdHlwZSwgdikgXAogCWRvIHsgXApAQCAtODIsNyArNzEs NyBAQAogCQl2b3BfZ2V0X2ludHJfdHlwZSh2b3AsICZ2b3AtPmRhdGEtPmludHItPm5hbWUsIHR5 cGUpCiAKICNkZWZpbmUgVk9QX1dJTl9HRVQoeCwgd2luLCBuYW1lKSBcCi0JCXZvcF9yZWFkX3Jl Zyh4LCB3aW4tPmJhc2UsICZ3aW4tPnBoeS0+bmFtZSkKKwkJdm9wX3JlYWRfcmVnKHgsIHdpbi0+ b2Zmc2V0LCB3aW4tPnBoeS0+bmFtZSkKIAogI2RlZmluZSBWT1BfV0lOX0dFVF9ZUkdCQUREUih2 b3AsIHdpbikgXAogCQl2b3BfcmVhZGwodm9wLCB3aW4tPmJhc2UgKyB3aW4tPnBoeS0+eXJnYl9t c3Qub2Zmc2V0KQpAQCAtMTY0LDE0ICsxNTMsMjIgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCB2 b3BfcmVhZF9yZWcoc3RydWN0IHZvcCAqdm9wLCB1aW50MzJfdCBiYXNlLAogCXJldHVybiAodm9w X3JlYWRsKHZvcCwgYmFzZSArIHJlZy0+b2Zmc2V0KSA+PiByZWctPnNoaWZ0KSAmIHJlZy0+bWFz azsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHZvcF9tYXNrX3dyaXRlKHN0cnVjdCB2b3AgKnZv cCwgdWludDMyX3Qgb2Zmc2V0LAotCQkJCSAgdWludDMyX3QgbWFzaywgdWludDMyX3Qgc2hpZnQs IHVpbnQzMl90IHYsCi0JCQkJICBib29sIHdyaXRlX21hc2ssIGJvb2wgcmVsYXhlZCkKK3N0YXRp YyB2b2lkIHZvcF9yZWdfc2V0KHN0cnVjdCB2b3AgKnZvcCwgY29uc3Qgc3RydWN0IHZvcF9yZWcg KnJlZywKKwkJCXVpbnQzMl90IF9vZmZzZXQsIHVpbnQzMl90IF9tYXNrLCB1aW50MzJfdCB2LAor CQkJY29uc3QgY2hhciAqcmVnX25hbWUpCiB7Ci0JaWYgKCFtYXNrKQorCWludCBvZmZzZXQsIG1h c2ssIHNoaWZ0OworCisJaWYgKCFyZWcgfHwgIXJlZy0+bWFzaykgeworCQlkZXZfZGJnKHZvcC0+ ZGV2LCAiV2FybmluZzogbm90IHN1cHBvcnQgJXNcbiIsIHJlZ19uYW1lKTsKIAkJcmV0dXJuOwor CX0KKworCW9mZnNldCA9IHJlZy0+b2Zmc2V0ICsgX29mZnNldDsKKwltYXNrID0gcmVnLT5tYXNr ICYgX21hc2s7CisJc2hpZnQgPSByZWctPnNoaWZ0OwogCi0JaWYgKHdyaXRlX21hc2spIHsKKwlp ZiAocmVnLT53cml0ZV9tYXNrKSB7CiAJCXYgPSAoKHYgPDwgc2hpZnQpICYgMHhmZmZmKSB8ICht YXNrIDw8IChzaGlmdCArIDE2KSk7CiAJfSBlbHNlIHsKIAkJdWludDMyX3QgY2FjaGVkX3ZhbCA9 IHZvcC0+cmVnc2Jha1tvZmZzZXQgPj4gMl07CkBAIC0xODAsNyArMTc3LDcgQEAgc3RhdGljIGlu bGluZSB2b2lkIHZvcF9tYXNrX3dyaXRlKHN0cnVjdCB2b3AgKnZvcCwgdWludDMyX3Qgb2Zmc2V0 LAogCQl2b3AtPnJlZ3NiYWtbb2Zmc2V0ID4+IDJdID0gdjsKIAl9CiAKLQlpZiAocmVsYXhlZCkK KwlpZiAocmVnLT5yZWxheGVkKQogCQl3cml0ZWxfcmVsYXhlZCh2LCB2b3AtPnJlZ3MgKyBvZmZz ZXQpOwogCWVsc2UKIAkJd3JpdGVsKHYsIHZvcC0+cmVncyArIG9mZnNldCk7CkBAIC0yMDIsNyAr MTk5LDcgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCB2b3BfZ2V0X2ludHJfdHlwZShzdHJ1Y3Qg dm9wICp2b3AsCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB2b3BfY2ZnX2RvbmUoc3RydWN0IHZvcCAq dm9wKQogewotCVZPUF9DVFJMX1NFVCh2b3AsIGNmZ19kb25lLCAxKTsKKwlWT1BfUkVHX1NFVCh2 b3AsIGNvbW1vbiwgY2ZnX2RvbmUsIDEpOwogfQogCiBzdGF0aWMgYm9vbCBoYXNfcmJfc3dhcHBl ZCh1aW50MzJfdCBmb3JtYXQpCkBAIC01NDAsNyArNTM3LDcgQEAgc3RhdGljIGludCB2b3BfZW5h YmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCXNwaW5fbG9jaygmdm9wLT5yZWdfbG9jayk7 CiAKLQlWT1BfQ1RSTF9TRVQodm9wLCBzdGFuZGJ5LCAwKTsKKwlWT1BfUkVHX1NFVCh2b3AsIGNv bW1vbiwgc3RhbmRieSwgMSk7CiAKIAlzcGluX3VubG9jaygmdm9wLT5yZWdfbG9jayk7CiAKQEAg LTYwMCw3ICs1OTcsNyBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKIAogCXNwaW5fbG9jaygmdm9wLT5yZWdfbG9jayk7CiAKLQlWT1BfQ1RSTF9T RVQodm9wLCBzdGFuZGJ5LCAxKTsKKwlWT1BfUkVHX1NFVCh2b3AsIGNvbW1vbiwgc3RhbmRieSwg MSk7CiAKIAlzcGluX3VubG9jaygmdm9wLT5yZWdfbG9jayk7CiAKQEAgLTkyMyw3ICs5MjAsNyBA QCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCiAJ CXNwaW5fbG9jaygmdm9wLT5yZWdfbG9jayk7CiAKLQkJVk9QX0NUUkxfU0VUKHZvcCwgc3RhbmRi eSwgMSk7CisJCVZPUF9SRUdfU0VUKHZvcCwgY29tbW9uLCBzdGFuZGJ5LCAxKTsKIAogCQlzcGlu X3VubG9jaygmdm9wLT5yZWdfbG9jayk7CiAKQEAgLTkzNywyOSArOTM0LDI5IEBAIHN0YXRpYyB2 b2lkIHZvcF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJCSAgIEJJVChIU1lO Q19QT1NJVElWRSkgOiAwOwogCXBpbl9wb2wgfD0gKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJN X01PREVfRkxBR19QVlNZTkMpID8KIAkJICAgQklUKFZTWU5DX1BPU0lUSVZFKSA6IDA7Ci0JVk9Q X0NUUkxfU0VUKHZvcCwgcGluX3BvbCwgcGluX3BvbCk7CisJVk9QX1JFR19TRVQodm9wLCBvdXRw dXQsIHBpbl9wb2wsIHBpbl9wb2wpOwogCiAJc3dpdGNoIChzLT5vdXRwdXRfdHlwZSkgewogCWNh c2UgRFJNX01PREVfQ09OTkVDVE9SX0xWRFM6Ci0JCVZPUF9DVFJMX1NFVCh2b3AsIHJnYl9lbiwg MSk7Ci0JCVZPUF9DVFJMX1NFVCh2b3AsIHJnYl9waW5fcG9sLCBwaW5fcG9sKTsKKwkJVk9QX1JF R19TRVQodm9wLCBvdXRwdXQsIHJnYl9lbiwgMSk7CisJCVZPUF9SRUdfU0VUKHZvcCwgb3V0cHV0 LCByZ2JfcGluX3BvbCwgcGluX3BvbCk7CiAJCWJyZWFrOwogCWNhc2UgRFJNX01PREVfQ09OTkVD VE9SX2VEUDoKLQkJVk9QX0NUUkxfU0VUKHZvcCwgZWRwX3Bpbl9wb2wsIHBpbl9wb2wpOwotCQlW T1BfQ1RSTF9TRVQodm9wLCBlZHBfZW4sIDEpOworCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwg ZWRwX3Bpbl9wb2wsIHBpbl9wb2wpOworCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgZWRwX2Vu LCAxKTsKIAkJYnJlYWs7CiAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUE6Ci0JCVZPUF9D VFJMX1NFVCh2b3AsIGhkbWlfcGluX3BvbCwgcGluX3BvbCk7Ci0JCVZPUF9DVFJMX1NFVCh2b3As IGhkbWlfZW4sIDEpOworCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgaGRtaV9waW5fcG9sLCBw aW5fcG9sKTsKKwkJVk9QX1JFR19TRVQodm9wLCBvdXRwdXQsIGhkbWlfZW4sIDEpOwogCQlicmVh azsKIAljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0k6Ci0JCVZPUF9DVFJMX1NFVCh2b3AsIG1p cGlfcGluX3BvbCwgcGluX3BvbCk7Ci0JCVZPUF9DVFJMX1NFVCh2b3AsIG1pcGlfZW4sIDEpOwor CQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgbWlwaV9waW5fcG9sLCBwaW5fcG9sKTsKKwkJVk9Q X1JFR19TRVQodm9wLCBvdXRwdXQsIG1pcGlfZW4sIDEpOwogCQlicmVhazsKIAljYXNlIERSTV9N T0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydDoKIAkJcGluX3BvbCAmPSB+QklUKERDTEtfSU5WRVJU KTsKLQkJVk9QX0NUUkxfU0VUKHZvcCwgZHBfcGluX3BvbCwgcGluX3BvbCk7Ci0JCVZPUF9DVFJM X1NFVCh2b3AsIGRwX2VuLCAxKTsKKwkJVk9QX1JFR19TRVQodm9wLCBvdXRwdXQsIGRwX3Bpbl9w b2wsIHBpbl9wb2wpOworCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgZHBfZW4sIDEpOwogCQli cmVhazsKIAlkZWZhdWx0OgogCQlEUk1fREVWX0VSUk9SKHZvcC0+ZGV2LCAidW5zdXBwb3J0ZWQg Y29ubmVjdG9yX3R5cGUgWyVkXVxuIiwKQEAgLTk3MiwyNSArOTY5LDI1IEBAIHN0YXRpYyB2b2lk IHZvcF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKHMtPm91dHB1dF9t b2RlID09IFJPQ0tDSElQX09VVF9NT0RFX0FBQUEgJiYKIAkgICAgISh2b3BfZGF0YS0+ZmVhdHVy ZSAmIFZPUF9GRUFUVVJFX09VVFBVVF9SR0IxMCkpCiAJCXMtPm91dHB1dF9tb2RlID0gUk9DS0NI SVBfT1VUX01PREVfUDg4ODsKLQlWT1BfQ1RSTF9TRVQodm9wLCBvdXRfbW9kZSwgcy0+b3V0cHV0 X21vZGUpOworCVZPUF9SRUdfU0VUKHZvcCwgY29tbW9uLCBvdXRfbW9kZSwgcy0+b3V0cHV0X21v ZGUpOwogCi0JVk9QX0NUUkxfU0VUKHZvcCwgaHRvdGFsX3B3LCAoaHRvdGFsIDw8IDE2KSB8IGhz eW5jX2xlbik7CisJVk9QX1JFR19TRVQodm9wLCBtb2Rlc2V0LCBodG90YWxfcHcsIChodG90YWwg PDwgMTYpIHwgaHN5bmNfbGVuKTsKIAl2YWwgPSBoYWN0X3N0IDw8IDE2OwogCXZhbCB8PSBoYWN0 X2VuZDsKLQlWT1BfQ1RSTF9TRVQodm9wLCBoYWN0X3N0X2VuZCwgdmFsKTsKLQlWT1BfQ1RSTF9T RVQodm9wLCBocG9zdF9zdF9lbmQsIHZhbCk7CisJVk9QX1JFR19TRVQodm9wLCBtb2Rlc2V0LCBo YWN0X3N0X2VuZCwgdmFsKTsKKwlWT1BfUkVHX1NFVCh2b3AsIG1vZGVzZXQsIGhwb3N0X3N0X2Vu ZCwgdmFsKTsKIAotCVZPUF9DVFJMX1NFVCh2b3AsIHZ0b3RhbF9wdywgKHZ0b3RhbCA8PCAxNikg fCB2c3luY19sZW4pOworCVZPUF9SRUdfU0VUKHZvcCwgbW9kZXNldCwgdnRvdGFsX3B3LCAodnRv dGFsIDw8IDE2KSB8IHZzeW5jX2xlbik7CiAJdmFsID0gdmFjdF9zdCA8PCAxNjsKIAl2YWwgfD0g dmFjdF9lbmQ7Ci0JVk9QX0NUUkxfU0VUKHZvcCwgdmFjdF9zdF9lbmQsIHZhbCk7Ci0JVk9QX0NU UkxfU0VUKHZvcCwgdnBvc3Rfc3RfZW5kLCB2YWwpOworCVZPUF9SRUdfU0VUKHZvcCwgbW9kZXNl dCwgdmFjdF9zdF9lbmQsIHZhbCk7CisJVk9QX1JFR19TRVQodm9wLCBtb2Rlc2V0LCB2cG9zdF9z dF9lbmQsIHZhbCk7CiAKLQlWT1BfSU5UUl9TRVQodm9wLCBsaW5lX2ZsYWdfbnVtWzBdLCB2YWN0 X2VuZCk7CisJVk9QX1JFR19TRVQodm9wLCBpbnRyLCBsaW5lX2ZsYWdfbnVtWzBdLCB2YWN0X2Vu ZCk7CiAKIAljbGtfc2V0X3JhdGUodm9wLT5kY2xrLCBhZGp1c3RlZF9tb2RlLT5jbG9jayAqIDEw MDApOwogCi0JVk9QX0NUUkxfU0VUKHZvcCwgc3RhbmRieSwgMCk7CisJVk9QX1JFR19TRVQodm9w LCBjb21tb24sIHN0YW5kYnksIDApOwogCiAJcm9ja2NoaXBfZHJtX3Bzcl9hY3RpdmF0ZSgmdm9w LT5jcnRjKTsKIH0KQEAgLTE0NTIsOCArMTQ0OSw4IEBAIHN0YXRpYyBpbnQgdm9wX2luaXRpYWwo c3RydWN0IHZvcCAqdm9wKQogCiAJbWVtY3B5KHZvcC0+cmVnc2Jhaywgdm9wLT5yZWdzLCB2b3At Pmxlbik7CiAKLQlWT1BfQ1RSTF9TRVQodm9wLCBnbG9iYWxfcmVnZG9uZV9lbiwgMSk7Ci0JVk9Q X0NUUkxfU0VUKHZvcCwgZHNwX2JsYW5rLCAwKTsKKwlWT1BfUkVHX1NFVCh2b3AsIG1pc2MsIGds b2JhbF9yZWdkb25lX2VuLCAxKTsKKwlWT1BfUkVHX1NFVCh2b3AsIGNvbW1vbiwgZHNwX2JsYW5r LCAwKTsKIAogCWZvciAoaSA9IDA7IGkgPCB2b3BfZGF0YS0+d2luX3NpemU7IGkrKykgewogCQlj b25zdCBzdHJ1Y3Qgdm9wX3dpbl9kYXRhICp3aW4gPSAmdm9wX2RhdGEtPndpbltpXTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmggYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oCmluZGV4IDg1MGY4ZTQuLjNi YTk2MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f dm9wLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaApA QCAtMjUsNDMgKzI1LDUwIEBAIGVudW0gdm9wX2RhdGFfZm9ybWF0IHsKIH07CiAKIHN0cnVjdCB2 b3BfcmVnIHsKLQl1aW50MzJfdCBvZmZzZXQ7Ci0JdWludDMyX3Qgc2hpZnQ7CiAJdWludDMyX3Qg bWFzazsKKwl1aW50MTZfdCBvZmZzZXQ7CisJdWludDhfdCBzaGlmdDsKIAlib29sIHdyaXRlX21h c2s7CiAJYm9vbCByZWxheGVkOwogfTsKIAotc3RydWN0IHZvcF9jdHJsIHsKLQlzdHJ1Y3Qgdm9w X3JlZyBzdGFuZGJ5OwotCXN0cnVjdCB2b3BfcmVnIGRhdGFfYmxhbms7Ci0Jc3RydWN0IHZvcF9y ZWcgZ2F0ZV9lbjsKLQlzdHJ1Y3Qgdm9wX3JlZyBtbXVfZW47Ci0Jc3RydWN0IHZvcF9yZWcgcmdi X2VuOworc3RydWN0IHZvcF9tb2Rlc2V0IHsKKwlzdHJ1Y3Qgdm9wX3JlZyBodG90YWxfcHc7CisJ c3RydWN0IHZvcF9yZWcgaGFjdF9zdF9lbmQ7CisJc3RydWN0IHZvcF9yZWcgaHBvc3Rfc3RfZW5k OworCXN0cnVjdCB2b3BfcmVnIHZ0b3RhbF9wdzsKKwlzdHJ1Y3Qgdm9wX3JlZyB2YWN0X3N0X2Vu ZDsKKwlzdHJ1Y3Qgdm9wX3JlZyB2cG9zdF9zdF9lbmQ7Cit9OworCitzdHJ1Y3Qgdm9wX291dHB1 dCB7CisJc3RydWN0IHZvcF9yZWcgcGluX3BvbDsKKwlzdHJ1Y3Qgdm9wX3JlZyBkcF9waW5fcG9s OworCXN0cnVjdCB2b3BfcmVnIGVkcF9waW5fcG9sOworCXN0cnVjdCB2b3BfcmVnIGhkbWlfcGlu X3BvbDsKKwlzdHJ1Y3Qgdm9wX3JlZyBtaXBpX3Bpbl9wb2w7CisJc3RydWN0IHZvcF9yZWcgcmdi X3Bpbl9wb2w7CisJc3RydWN0IHZvcF9yZWcgZHBfZW47CiAJc3RydWN0IHZvcF9yZWcgZWRwX2Vu OwogCXN0cnVjdCB2b3BfcmVnIGhkbWlfZW47CiAJc3RydWN0IHZvcF9yZWcgbWlwaV9lbjsKLQlz dHJ1Y3Qgdm9wX3JlZyBkcF9lbjsKKwlzdHJ1Y3Qgdm9wX3JlZyByZ2JfZW47Cit9OworCitzdHJ1 Y3Qgdm9wX2NvbW1vbiB7CisJc3RydWN0IHZvcF9yZWcgY2ZnX2RvbmU7CiAJc3RydWN0IHZvcF9y ZWcgZHNwX2JsYW5rOwotCXN0cnVjdCB2b3BfcmVnIG91dF9tb2RlOworCXN0cnVjdCB2b3BfcmVn IGRhdGFfYmxhbms7CiAJc3RydWN0IHZvcF9yZWcgZGl0aGVyX2Rvd247CiAJc3RydWN0IHZvcF9y ZWcgZGl0aGVyX3VwOwotCXN0cnVjdCB2b3BfcmVnIHBpbl9wb2w7Ci0Jc3RydWN0IHZvcF9yZWcg cmdiX3Bpbl9wb2w7Ci0Jc3RydWN0IHZvcF9yZWcgaGRtaV9waW5fcG9sOwotCXN0cnVjdCB2b3Bf cmVnIGVkcF9waW5fcG9sOwotCXN0cnVjdCB2b3BfcmVnIG1pcGlfcGluX3BvbDsKLQlzdHJ1Y3Qg dm9wX3JlZyBkcF9waW5fcG9sOwotCi0Jc3RydWN0IHZvcF9yZWcgaHRvdGFsX3B3OwotCXN0cnVj dCB2b3BfcmVnIGhhY3Rfc3RfZW5kOwotCXN0cnVjdCB2b3BfcmVnIHZ0b3RhbF9wdzsKLQlzdHJ1 Y3Qgdm9wX3JlZyB2YWN0X3N0X2VuZDsKLQlzdHJ1Y3Qgdm9wX3JlZyBocG9zdF9zdF9lbmQ7Ci0J c3RydWN0IHZvcF9yZWcgdnBvc3Rfc3RfZW5kOworCXN0cnVjdCB2b3BfcmVnIGdhdGVfZW47CisJ c3RydWN0IHZvcF9yZWcgbW11X2VuOworCXN0cnVjdCB2b3BfcmVnIG91dF9tb2RlOworCXN0cnVj dCB2b3BfcmVnIHN0YW5kYnk7Cit9OwogCitzdHJ1Y3Qgdm9wX21pc2MgewogCXN0cnVjdCB2b3Bf cmVnIGdsb2JhbF9yZWdkb25lX2VuOwotCXN0cnVjdCB2b3BfcmVnIGNmZ19kb25lOwogfTsKIAog c3RydWN0IHZvcF9pbnRyIHsKQEAgLTEzNSw4ICsxNDIsMTEgQEAgc3RydWN0IHZvcF93aW5fZGF0 YSB7CiB9OwogCiBzdHJ1Y3Qgdm9wX2RhdGEgewotCWNvbnN0IHN0cnVjdCB2b3BfY3RybCAqY3Ry bDsKIAljb25zdCBzdHJ1Y3Qgdm9wX2ludHIgKmludHI7CisJY29uc3Qgc3RydWN0IHZvcF9jb21t b24gKmNvbW1vbjsKKwljb25zdCBzdHJ1Y3Qgdm9wX21pc2MgKm1pc2M7CisJY29uc3Qgc3RydWN0 IHZvcF9tb2Rlc2V0ICptb2Rlc2V0OworCWNvbnN0IHN0cnVjdCB2b3Bfb3V0cHV0ICpvdXRwdXQ7 CiAJY29uc3Qgc3RydWN0IHZvcF93aW5fZGF0YSAqd2luOwogCXVuc2lnbmVkIGludCB3aW5fc2l6 ZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9y ZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF92b3BfcmVnLmMKaW5kZXgg MGE1ZjBkMi4uMjA2MDdhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX3ZvcF9yZWcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf dm9wX3JlZy5jCkBAIC0xMTcsMjYgKzExNywzNCBAQAogCS5pbnRycyA9IHJrMzAzNl92b3BfaW50 cnMsCiAJLm5pbnRycyA9IEFSUkFZX1NJWkUocmszMDM2X3ZvcF9pbnRycyksCiAJLmxpbmVfZmxh Z19udW1bMF0gPSBWT1BfUkVHKFJLMzAzNl9JTlRfU1RBVFVTLCAweGZmZiwgMTIpLAotCS5zdGF0 dXMgPSBWT1BfUkVHKFJLMzAzNl9JTlRfU1RBVFVTLCAweGYsIDApLAotCS5lbmFibGUgPSBWT1Bf UkVHKFJLMzAzNl9JTlRfU1RBVFVTLCAweGYsIDQpLAotCS5jbGVhciA9IFZPUF9SRUcoUkszMDM2 X0lOVF9TVEFUVVMsIDB4ZiwgOCksCisJLnN0YXR1cyA9IFZPUF9SRUdfU1lOQyhSSzMwMzZfSU5U X1NUQVRVUywgMHhmLCAwKSwKKwkuZW5hYmxlID0gVk9QX1JFR19TWU5DKFJLMzAzNl9JTlRfU1RB VFVTLCAweGYsIDQpLAorCS5jbGVhciA9IFZPUF9SRUdfU1lOQyhSSzMwMzZfSU5UX1NUQVRVUywg MHhmLCA4KSwKIH07CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX2N0cmwgcmszMDM2X2N0cmxf ZGF0YSA9IHsKLQkuc3RhbmRieSA9IFZPUF9SRUdfU1lOQyhSSzMwMzZfU1lTX0NUUkwsIDB4MSwg MzApLAotCS5vdXRfbW9kZSA9IFZPUF9SRUcoUkszMDM2X0RTUF9DVFJMMCwgMHhmLCAwKSwKLQku cGluX3BvbCA9IFZPUF9SRUcoUkszMDM2X0RTUF9DVFJMMCwgMHhmLCA0KSwKLQkuZHNwX2JsYW5r ID0gVk9QX1JFRyhSSzMwMzZfRFNQX0NUUkwxLCAweDEsIDI0KSwKK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgdm9wX21vZGVzZXQgcmszMDM2X21vZGVzZXQgPSB7CiAJLmh0b3RhbF9wdyA9IFZPUF9SRUco UkszMDM2X0RTUF9IVE9UQUxfSFNfRU5ELCAweDFmZmYxZmZmLCAwKSwKIAkuaGFjdF9zdF9lbmQg PSBWT1BfUkVHKFJLMzAzNl9EU1BfSEFDVF9TVF9FTkQsIDB4MWZmZjFmZmYsIDApLAogCS52dG90 YWxfcHcgPSBWT1BfUkVHKFJLMzAzNl9EU1BfVlRPVEFMX1ZTX0VORCwgMHgxZmZmMWZmZiwgMCks CiAJLnZhY3Rfc3RfZW5kID0gVk9QX1JFRyhSSzMwMzZfRFNQX1ZBQ1RfU1RfRU5ELCAweDFmZmYx ZmZmLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291dHB1dCByazMwMzZfb3V0 cHV0ID0geworCS5waW5fcG9sID0gVk9QX1JFRyhSSzMwMzZfRFNQX0NUUkwwLCAweGYsIDQpLAor fTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfY29tbW9uIHJrMzAzNl9jb21tb24gPSB7CisJ LnN0YW5kYnkgPSBWT1BfUkVHX1NZTkMoUkszMDM2X1NZU19DVFJMLCAweDEsIDMwKSwKKwkub3V0 X21vZGUgPSBWT1BfUkVHKFJLMzAzNl9EU1BfQ1RSTDAsIDB4ZiwgMCksCisJLmRzcF9ibGFuayA9 IFZPUF9SRUcoUkszMDM2X0RTUF9DVFJMMSwgMHgxLCAyNCksCiAJLmNmZ19kb25lID0gVk9QX1JF R19TWU5DKFJLMzAzNl9SRUdfQ0ZHX0RPTkUsIDB4MSwgMCksCiB9OwogCiBzdGF0aWMgY29uc3Qg c3RydWN0IHZvcF9kYXRhIHJrMzAzNl92b3AgPSB7Ci0JLmN0cmwgPSAmcmszMDM2X2N0cmxfZGF0 YSwKIAkuaW50ciA9ICZyazMwMzZfaW50ciwKKwkuY29tbW9uID0gJnJrMzAzNl9jb21tb24sCisJ Lm1vZGVzZXQgPSAmcmszMDM2X21vZGVzZXQsCisJLm91dHB1dCA9ICZyazMwMzZfb3V0cHV0LAog CS53aW4gPSByazMwMzZfdm9wX3dpbl9kYXRhLAogCS53aW5fc2l6ZSA9IEFSUkFZX1NJWkUocmsz MDM2X3ZvcF93aW5fZGF0YSksCiB9OwpAQCAtMjA2LDI3ICsyMTQsMzIgQEAKIAkuZHN0X2FscGhh X2N0bCA9IFZPUF9SRUcoUkszMjg4X1dJTjJfRFNUX0FMUEhBX0NUUkwsIDB4ZmYsIDApLAogfTsK IAotc3RhdGljIGNvbnN0IHN0cnVjdCB2b3BfY3RybCByazMyODhfY3RybF9kYXRhID0gewotCS5z dGFuZGJ5ID0gVk9QX1JFR19TWU5DKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAyMiksCi0JLmdhdGVf ZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAyMyksCi0JLm1tdV9lbiA9IFZPUF9S RUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDIwKSwKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX21v ZGVzZXQgcmszMjg4X21vZGVzZXQgPSB7CisJLmh0b3RhbF9wdyA9IFZPUF9SRUcoUkszMjg4X0RT UF9IVE9UQUxfSFNfRU5ELCAweDFmZmYxZmZmLCAwKSwKKwkuaGFjdF9zdF9lbmQgPSBWT1BfUkVH KFJLMzI4OF9EU1BfSEFDVF9TVF9FTkQsIDB4MWZmZjFmZmYsIDApLAorCS52dG90YWxfcHcgPSBW T1BfUkVHKFJLMzI4OF9EU1BfVlRPVEFMX1ZTX0VORCwgMHgxZmZmMWZmZiwgMCksCisJLnZhY3Rf c3RfZW5kID0gVk9QX1JFRyhSSzMyODhfRFNQX1ZBQ1RfU1RfRU5ELCAweDFmZmYxZmZmLCAwKSwK KwkuaHBvc3Rfc3RfZW5kID0gVk9QX1JFRyhSSzMyODhfUE9TVF9EU1BfSEFDVF9JTkZPLCAweDFm ZmYxZmZmLCAwKSwKKwkudnBvc3Rfc3RfZW5kID0gVk9QX1JFRyhSSzMyODhfUE9TVF9EU1BfVkFD VF9JTkZPLCAweDFmZmYxZmZmLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291 dHB1dCByazMyODhfb3V0cHV0ID0geworCS5waW5fcG9sID0gVk9QX1JFRyhSSzMyODhfRFNQX0NU UkwwLCAweGYsIDQpLAogCS5yZ2JfZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAx MiksCiAJLmhkbWlfZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAxMyksCiAJLmVk cF9lbiA9IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDE0KSwKIAkubWlwaV9lbiA9IFZP UF9SRUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDE1KSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3Qgdm9wX2NvbW1vbiByazMyODhfY29tbW9uID0geworCS5zdGFuZGJ5ID0gVk9QX1JFR19TWU5D KFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAyMiksCisJLmdhdGVfZW4gPSBWT1BfUkVHKFJLMzI4OF9T WVNfQ1RSTCwgMHgxLCAyMyksCisJLm1tdV9lbiA9IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAw eDEsIDIwKSwKIAkuZGl0aGVyX2Rvd24gPSBWT1BfUkVHKFJLMzI4OF9EU1BfQ1RSTDEsIDB4Ziwg MSksCiAJLmRpdGhlcl91cCA9IFZPUF9SRUcoUkszMjg4X0RTUF9DVFJMMSwgMHgxLCA2KSwKIAku ZGF0YV9ibGFuayA9IFZPUF9SRUcoUkszMjg4X0RTUF9DVFJMMCwgMHgxLCAxOSksCiAJLmRzcF9i bGFuayA9IFZPUF9SRUcoUkszMjg4X0RTUF9DVFJMMCwgMHgzLCAxOCksCiAJLm91dF9tb2RlID0g Vk9QX1JFRyhSSzMyODhfRFNQX0NUUkwwLCAweGYsIDApLAotCS5waW5fcG9sID0gVk9QX1JFRyhS SzMyODhfRFNQX0NUUkwwLCAweGYsIDQpLAotCS5odG90YWxfcHcgPSBWT1BfUkVHKFJLMzI4OF9E U1BfSFRPVEFMX0hTX0VORCwgMHgxZmZmMWZmZiwgMCksCi0JLmhhY3Rfc3RfZW5kID0gVk9QX1JF RyhSSzMyODhfRFNQX0hBQ1RfU1RfRU5ELCAweDFmZmYxZmZmLCAwKSwKLQkudnRvdGFsX3B3ID0g Vk9QX1JFRyhSSzMyODhfRFNQX1ZUT1RBTF9WU19FTkQsIDB4MWZmZjFmZmYsIDApLAotCS52YWN0 X3N0X2VuZCA9IFZPUF9SRUcoUkszMjg4X0RTUF9WQUNUX1NUX0VORCwgMHgxZmZmMWZmZiwgMCks Ci0JLmhwb3N0X3N0X2VuZCA9IFZPUF9SRUcoUkszMjg4X1BPU1RfRFNQX0hBQ1RfSU5GTywgMHgx ZmZmMWZmZiwgMCksCi0JLnZwb3N0X3N0X2VuZCA9IFZPUF9SRUcoUkszMjg4X1BPU1RfRFNQX1ZB Q1RfSU5GTywgMHgxZmZmMWZmZiwgMCksCi0JLmdsb2JhbF9yZWdkb25lX2VuID0gVk9QX1JFRyhS SzMyODhfU1lTX0NUUkwsIDB4MSwgMTEpLAogCS5jZmdfZG9uZSA9IFZPUF9SRUdfU1lOQyhSSzMy ODhfUkVHX0NGR19ET05FLCAweDEsIDApLAogfTsKIApAQCAtMjY2LDM3ICsyNzksMTMgQEAKIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX2RhdGEgcmszMjg4X3ZvcCA9IHsKIAkuZmVhdHVyZSA9IFZP UF9GRUFUVVJFX09VVFBVVF9SR0IxMCwKIAkuaW50ciA9ICZyazMyODhfdm9wX2ludHIsCi0JLmN0 cmwgPSAmcmszMjg4X2N0cmxfZGF0YSwKKwkuY29tbW9uID0gJnJrMzI4OF9jb21tb24sCisJLm1v ZGVzZXQgPSAmcmszMjg4X21vZGVzZXQsCisJLm91dHB1dCA9ICZyazMyODhfb3V0cHV0LAogCS53 aW4gPSByazMyODhfdm9wX3dpbl9kYXRhLAogCS53aW5fc2l6ZSA9IEFSUkFZX1NJWkUocmszMjg4 X3ZvcF93aW5fZGF0YSksCiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHZvcF9jdHJsIHJrMzM5 OV9jdHJsX2RhdGEgPSB7Ci0JLnN0YW5kYnkgPSBWT1BfUkVHX1NZTkMoUkszMzk5X1NZU19DVFJM LCAweDEsIDIyKSwKLQkuZ2F0ZV9lbiA9IFZPUF9SRUcoUkszMzk5X1NZU19DVFJMLCAweDEsIDIz KSwKLQkuZHBfZW4gPSBWT1BfUkVHKFJLMzM5OV9TWVNfQ1RSTCwgMHgxLCAxMSksCi0JLnJnYl9l biA9IFZPUF9SRUcoUkszMzk5X1NZU19DVFJMLCAweDEsIDEyKSwKLQkuaGRtaV9lbiA9IFZPUF9S RUcoUkszMzk5X1NZU19DVFJMLCAweDEsIDEzKSwKLQkuZWRwX2VuID0gVk9QX1JFRyhSSzMzOTlf U1lTX0NUUkwsIDB4MSwgMTQpLAotCS5taXBpX2VuID0gVk9QX1JFRyhSSzMzOTlfU1lTX0NUUkws IDB4MSwgMTUpLAotCS5kaXRoZXJfZG93biA9IFZPUF9SRUcoUkszMzk5X0RTUF9DVFJMMSwgMHhm LCAxKSwKLQkuZGl0aGVyX3VwID0gVk9QX1JFRyhSSzMzOTlfRFNQX0NUUkwxLCAweDEsIDYpLAot CS5kYXRhX2JsYW5rID0gVk9QX1JFRyhSSzMzOTlfRFNQX0NUUkwwLCAweDEsIDE5KSwKLQkub3V0 X21vZGUgPSBWT1BfUkVHKFJLMzM5OV9EU1BfQ1RSTDAsIDB4ZiwgMCksCi0JLnJnYl9waW5fcG9s ID0gVk9QX1JFRyhSSzMzOTlfRFNQX0NUUkwxLCAweGYsIDE2KSwKLQkuZHBfcGluX3BvbCA9IFZP UF9SRUcoUkszMzk5X0RTUF9DVFJMMSwgMHhmLCAxNiksCi0JLmhkbWlfcGluX3BvbCA9IFZPUF9S RUcoUkszMzk5X0RTUF9DVFJMMSwgMHhmLCAyMCksCi0JLmVkcF9waW5fcG9sID0gVk9QX1JFRyhS SzMzOTlfRFNQX0NUUkwxLCAweGYsIDI0KSwKLQkubWlwaV9waW5fcG9sID0gVk9QX1JFRyhSSzMz OTlfRFNQX0NUUkwxLCAweGYsIDI4KSwKLQkuaHRvdGFsX3B3ID0gVk9QX1JFRyhSSzMzOTlfRFNQ X0hUT1RBTF9IU19FTkQsIDB4MWZmZjFmZmYsIDApLAotCS5oYWN0X3N0X2VuZCA9IFZPUF9SRUco UkszMzk5X0RTUF9IQUNUX1NUX0VORCwgMHgxZmZmMWZmZiwgMCksCi0JLnZ0b3RhbF9wdyA9IFZP UF9SRUcoUkszMzk5X0RTUF9WVE9UQUxfVlNfRU5ELCAweDFmZmYxZmZmLCAwKSwKLQkudmFjdF9z dF9lbmQgPSBWT1BfUkVHKFJLMzM5OV9EU1BfVkFDVF9TVF9FTkQsIDB4MWZmZjFmZmYsIDApLAot CS5ocG9zdF9zdF9lbmQgPSBWT1BfUkVHKFJLMzM5OV9QT1NUX0RTUF9IQUNUX0lORk8sIDB4MWZm ZjFmZmYsIDApLAotCS52cG9zdF9zdF9lbmQgPSBWT1BfUkVHKFJLMzM5OV9QT1NUX0RTUF9WQUNU X0lORk8sIDB4MWZmZjFmZmYsIDApLAotCS5jZmdfZG9uZSA9IFZPUF9SRUdfTUFTS19TWU5DKFJL MzM5OV9SRUdfQ0ZHX0RPTkUsIDB4MSwgMCksCi19OwotCiBzdGF0aWMgY29uc3QgaW50IHJrMzM5 OV92b3BfaW50cnNbXSA9IHsKIAlGU19JTlRSLAogCTAsIDAsCkBAIC0zMTcsMTAgKzMwNiwzMCBA QAogCS5jbGVhciA9IFZPUF9SRUdfTUFTS19TWU5DKFJLMzM5OV9JTlRSX0NMRUFSMCwgMHhmZmZm LCAwKSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291dHB1dCByazMzOTlfb3V0cHV0 ID0geworCS5kcF9waW5fcG9sID0gVk9QX1JFRyhSSzMzOTlfRFNQX0NUUkwxLCAweGYsIDE2KSwK KwkucmdiX3Bpbl9wb2wgPSBWT1BfUkVHKFJLMzM5OV9EU1BfQ1RSTDEsIDB4ZiwgMTYpLAorCS5o ZG1pX3Bpbl9wb2wgPSBWT1BfUkVHKFJLMzM5OV9EU1BfQ1RSTDEsIDB4ZiwgMjApLAorCS5lZHBf cGluX3BvbCA9IFZPUF9SRUcoUkszMzk5X0RTUF9DVFJMMSwgMHhmLCAyNCksCisJLm1pcGlfcGlu X3BvbCA9IFZPUF9SRUcoUkszMzk5X0RTUF9DVFJMMSwgMHhmLCAyOCksCisJLmRwX2VuID0gVk9Q X1JFRyhSSzMzOTlfU1lTX0NUUkwsIDB4MSwgMTEpLAorCS5yZ2JfZW4gPSBWT1BfUkVHKFJLMzI4 OF9TWVNfQ1RSTCwgMHgxLCAxMiksCisJLmhkbWlfZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RS TCwgMHgxLCAxMyksCisJLmVkcF9lbiA9IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDE0 KSwKKwkubWlwaV9lbiA9IFZPUF9SRUcoUkszMjg4X1NZU19DVFJMLCAweDEsIDE1KSwKK307CisK K3N0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX21pc2MgcmszMzk5X21pc2MgPSB7CisJLmdsb2JhbF9y ZWdkb25lX2VuID0gVk9QX1JFRyhSSzMzOTlfU1lTX0NUUkwsIDB4MSwgMTEpLAorfTsKKwogc3Rh dGljIGNvbnN0IHN0cnVjdCB2b3BfZGF0YSByazMzOTlfdm9wX2JpZyA9IHsKIAkuZmVhdHVyZSA9 IFZPUF9GRUFUVVJFX09VVFBVVF9SR0IxMCwKIAkuaW50ciA9ICZyazMzOTlfdm9wX2ludHIsCi0J LmN0cmwgPSAmcmszMzk5X2N0cmxfZGF0YSwKKwkuY29tbW9uID0gJnJrMzI4OF9jb21tb24sCisJ Lm1vZGVzZXQgPSAmcmszMjg4X21vZGVzZXQsCisJLm91dHB1dCA9ICZyazMzOTlfb3V0cHV0LAor CS5taXNjID0gJnJrMzM5OV9taXNjLAogCS8qCiAJICogcmszMzk5IHZvcCBiaWcgd2luZG93cyBy ZWdpc3RlciBsYXlvdXQgaXMgc2FtZSBhcyByazMyODguCiAJICovCkBAIC0zMzcsNyArMzQ2LDEw IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX2RhdGEgcmszMzk5X3ZvcF9saXQgPSB7CiAJ LmludHIgPSAmcmszMzk5X3ZvcF9pbnRyLAotCS5jdHJsID0gJnJrMzM5OV9jdHJsX2RhdGEsCisJ LmNvbW1vbiA9ICZyazMyODhfY29tbW9uLAorCS5tb2Rlc2V0ID0gJnJrMzI4OF9tb2Rlc2V0LAor CS5vdXRwdXQgPSAmcmszMzk5X291dHB1dCwKKwkubWlzYyA9ICZyazMzOTlfbWlzYywKIAkvKgog CSAqIHJrMzM5OSB2b3AgbGl0IHdpbmRvd3MgcmVnaXN0ZXIgbGF5b3V0IGlzIHNhbWUgYXMgcmsz Mjg4LAogCSAqIGJ1dCBjdXQgb2ZmIHRoZSB3aW4xIGFuZCB3aW4zIHdpbmRvd3MuCi0tIAoxLjku MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=