From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: [PATCH v3 2/2] drm/mediatek: set mt8173 dithering function Date: Thu, 7 Jul 2016 15:37:09 +0800 Message-ID: <1467877029-45236-3-git-send-email-bibby.hsieh@mediatek.com> References: <1467877029-45236-1-git-send-email-bibby.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1467877029-45236-1-git-send-email-bibby.hsieh@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Matthias Brugger , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Cawa Cheng , Mao Huang , Yingjoe Chen , Sascha Hauer , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org U29tZSBwYW5lbHMgb25seSBhY2NlcHQgYnBjIChiaXQgcGVyIGNvbG9yKSA2LWJpdC4KQnV0LCB0 aGUgZGVmYXVsdCBicGMgaW4gbXQ4MTczIGRpc3BsYXkgZGF0YSBwYXRoIGlzIDgtYml0LgpJZiB3 ZSBkaWRuJ3QgZW5hYmxlIGRpdGhlcmluZyBmdW5jdGlvbiB0byBjb252ZXJ0IGJwYywKZGlzcGxh eSBjYW5ub3Qgc2hvdyB0aGUgc21vb3RoIGdyYXlzY2FsZSBpbWFnZS4KCkluIG10ODE3MywgdGhl IGRpdGhlcmluZyBmdW5jdGlvbiBpbiBPRCAoT3ZlckRyaXZlKSBhbmQKR0FNTUEgbW9kdWxlLCB3 ZSBoYXZlIHRvIGNvbmZpZyB0aGVtIHdpdGgKY29ubmVjdG9yLT5kaXNwbGF5X21vZGUuYnBjIHdo ZW4gQ1JUQyBpbml0aWFsLgoKMS4gQ2xlYXIgdGhlIGRlZmF1bHQgdmFsdWUgYXQgKl9ESVRIRVJf NSBhbmQgKl9ESVRIRVJfNyByZWdpc3Rlci4KMi4gQ2FsY3VsYXRlIHRoZSBMU0JfRVJSX1NISUZU IGJpdHMgYW5kIEFERF9MU0hJRlQgYml0cyB0d28gdmFsdWVzLgppLmUuIElucHV0IGJwYyBvZiBP RCBpcyAxMCBiaXRzLCB3ZSBhc3N1bWUgdGhlIGJwYyBvZiBwYW5lbCBpcyA2LWJpdCwKc28sIHdl IG5lZWQgdG8gc2V0IDQtYml0IHRvIExTQl9FUlJfU0hJRlQgYW5kIEFERF9MU0hJRlQgYml0cyBy ZXNwZWN0aXZlbHkuCjMuIFRoZW4sIHNldCB0aGUgT0Qgb3IgR0FNTUEgdG8gZGl0aGVyaW5nIG1v ZGUgZGVwZW5kcyBvbiBwYXRoLTEgb3IgcGF0aC0yLgoKU2lnbmVkLW9mZi1ieTogQmliYnkgSHNp ZWggPGJpYmJ5LmhzaWVoQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2Rpc3Bfb3ZsLmMgICAgIHwgICAgMyArLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kaXNwX3JkbWEuYyAgICB8ICAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2NydGMuYyAgICAgfCAgIDIxICsrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kZHBfY29tcC5jIHwgICA3NyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0K IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgICA2ICstLQog NSBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMgYi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKaW5kZXggOGY2MjY3MWYuLjAxOWI3Y2Eg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmwuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKQEAgLTEwMyw3ICsxMDMs OCBAQCBzdGF0aWMgdm9pZCBtdGtfb3ZsX3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkK IH0KIAogc3RhdGljIHZvaWQgbXRrX292bF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29t cCwgdW5zaWduZWQgaW50IHcsCi0JCQkgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZy ZWZyZXNoKQorCQkJICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCwKKwkJ CSAgIHVuc2lnbmVkIGludCBicGMpCiB7CiAJaWYgKHcgIT0gMCAmJiBoICE9IDApCiAJCXdyaXRl bF9yZWxheGVkKGggPDwgMTYgfCB3LCBjb21wLT5yZWdzICsgRElTUF9SRUdfT1ZMX1JPSV9TSVpF KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfcmRtYS5jCmluZGV4IDVmYjgwY2Iu LjBkZjA1ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9y ZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3JkbWEuYwpAQCAt MTA2LDcgKzEwNiw4IEBAIHN0YXRpYyB2b2lkIG10a19yZG1hX3N0b3Aoc3RydWN0IG10a19kZHBf Y29tcCAqY29tcCkKIH0KIAogc3RhdGljIHZvaWQgbXRrX3JkbWFfY29uZmlnKHN0cnVjdCBtdGtf ZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCB3aWR0aCwKLQkJCSAgICB1bnNpZ25lZCBpbnQg aGVpZ2h0LCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gpCisJCQkgICAgdW5zaWduZWQgaW50IGhlaWdo dCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLAorCQkJICAgIHVuc2lnbmVkIGludCBicGMpCiB7CiAJ dW5zaWduZWQgaW50IHRocmVzaG9sZDsKIAl1bnNpZ25lZCBpbnQgcmVnOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fY3J0Yy5jCmluZGV4IGVlMjE5YmIuLjE4YzlkMGQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKQEAgLTIyMiw3ICsyMjIsOSBAQCBzdGF0 aWMgdm9pZCBtdGtfY3J0Y19kZHBfY2xrX2Rpc2FibGUoc3RydWN0IG10a19kcm1fY3J0YyAqbXRr X2NydGMpCiBzdGF0aWMgaW50IG10a19jcnRjX2RkcF9od19pbml0KHN0cnVjdCBtdGtfZHJtX2Ny dGMgKm10a19jcnRjKQogewogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZtdGtfY3J0Yy0+YmFz ZTsKLQl1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodCwgdnJlZnJlc2g7CisJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CisJdW5z aWduZWQgaW50IHdpZHRoLCBoZWlnaHQsIHZyZWZyZXNoLCBicGMgPSAwOwogCWludCByZXQ7CiAJ aW50IGk7CiAKQEAgLTIzNCw2ICsyMzYsMTkgQEAgc3RhdGljIGludCBtdGtfY3J0Y19kZHBfaHdf aW5pdChzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YykKIAloZWlnaHQgPSBjcnRjLT5zdGF0 ZS0+YWRqdXN0ZWRfbW9kZS52ZGlzcGxheTsKIAl2cmVmcmVzaCA9IGNydGMtPnN0YXRlLT5hZGp1 c3RlZF9tb2RlLnZyZWZyZXNoOwogCisJZHJtX2Zvcl9lYWNoX2VuY29kZXIoZW5jb2RlciwgY3J0 Yy0+ZGV2KSB7CisJCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMpCisJCQljb250aW51ZTsKKwor CQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgY3J0Yy0+ZGV2KSB7CisJCQlpZiAo Y29ubmVjdG9yLT5lbmNvZGVyICE9IGVuY29kZXIpCisJCQkJY29udGludWU7CisJCQlpZiAoY29u bmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjID49IDMgJiYKKwkJCSAgICAoYnBjID09IDAgfHwgYnBj ID4gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjKSkKKwkJCQlicGMgPSBjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5icGM7CisJCX0KKwl9CisKIAlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKGNy dGMtPmRldi0+ZGV2KTsKIAlpZiAocmV0IDwgMCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBl bmFibGUgcG93ZXIgZG9tYWluOiAlZFxuIiwgcmV0KTsKQEAgLTI2Niw3ICsyODEsNyBAQCBzdGF0 aWMgaW50IG10a19jcnRjX2RkcF9od19pbml0KHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRj KQogCWZvciAoaSA9IDA7IGkgPCBtdGtfY3J0Yy0+ZGRwX2NvbXBfbnI7IGkrKykgewogCQlzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wID0gbXRrX2NydGMtPmRkcF9jb21wW2ldOwogCi0JCW10a19k ZHBfY29tcF9jb25maWcoY29tcCwgd2lkdGgsIGhlaWdodCwgdnJlZnJlc2gpOworCQltdGtfZGRw X2NvbXBfY29uZmlnKGNvbXAsIHdpZHRoLCBoZWlnaHQsIHZyZWZyZXNoLCBicGMpOwogCQltdGtf ZGRwX2NvbXBfc3RhcnQoY29tcCk7CiAJfQogCkBAIC00NjksNyArNDg0LDcgQEAgdm9pZCBtdGtf Y3J0Y19kZHBfaXJxKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IG10a19kZHBfY29tcCAq b3ZsKQogCWlmIChzdGF0ZS0+cGVuZGluZ19jb25maWcpIHsKIAkJbXRrX2RkcF9jb21wX2NvbmZp ZyhvdmwsIHN0YXRlLT5wZW5kaW5nX3dpZHRoLAogCQkJCSAgICBzdGF0ZS0+cGVuZGluZ19oZWln aHQsCi0JCQkJICAgIHN0YXRlLT5wZW5kaW5nX3ZyZWZyZXNoKTsKKwkJCQkgICAgc3RhdGUtPnBl bmRpbmdfdnJlZnJlc2gsIDApOwogCiAJCXN0YXRlLT5wZW5kaW5nX2NvbmZpZyA9IGZhbHNlOwog CX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21w LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCmluZGV4IDU2 YzU4OTQuLmMxMGZhYWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcF9jb21wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw X2NvbXAuYwpAQCAtMzAsNyArMzAsMjYgQEAKICNkZWZpbmUgRElTUF9PRF9JTlRFTgkJCQkweDAw MDgKICNkZWZpbmUgRElTUF9PRF9JTlRTVEEJCQkJMHgwMDBjCiAjZGVmaW5lIERJU1BfT0RfQ0ZH CQkJCTB4MDAyMAorI2RlZmluZSBPRF9SRUxBWU1PREUJCQkJQklUKDApCisjZGVmaW5lIE9EX0RJ VEhFUklORwkJCQlCSVQoMikKICNkZWZpbmUgRElTUF9PRF9TSVpFCQkJCTB4MDAzMAorI2RlZmlu ZSBESVNQX09EX0RJVEhFUl81CQkJMHgwMTE0CisjZGVmaW5lIERJU1BfT0RfRElUSEVSXzcJCQkw eDAxMWMKKyNkZWZpbmUgRElTUF9PRF9ESVRIRVJfMTUJCQkweDAxM2MKKyNkZWZpbmUgRElUSEVS X0xTQl9FUlJfU0hJRlRfUih4KQkJKCgoeCkgJiAweDcpIDw8IDI4KQorI2RlZmluZSBESVRIRVJf T1ZGTFdfQklUX1IoeCkJCQkoKCh4KSAmIDB4NykgPDwgMjQpCisjZGVmaW5lIERJVEhFUl9BRERf TFNISUZUX1IoeCkJCQkoKCh4KSAmIDB4NykgPDwgMjApCisjZGVmaW5lIERJVEhFUl9BRERfUlNI SUZUX1IoeCkJCQkoKCh4KSAmIDB4NykgPDwgMTYpCisjZGVmaW5lIERJVEhFUl9ORVdfQklUX01P REUJCQlCSVQoMCkKKyNkZWZpbmUgRElTUF9PRF9ESVRIRVJfMTYJCQkweDE0MAorI2RlZmluZSBE SVRIRVJfTFNCX0VSUl9TSElGVF9CKHgpCQkoKCh4KSAmIDB4NykgPDwgMjgpCisjZGVmaW5lIERJ VEhFUl9PVkZMV19CSVRfQih4KQkJCSgoKHgpICYgMHg3KSA8PCAyNCkKKyNkZWZpbmUgRElUSEVS X0FERF9MU0hJRlRfQih4KQkJCSgoKHgpICYgMHg3KSA8PCAyMCkKKyNkZWZpbmUgRElUSEVSX0FE RF9SU0hJRlRfQih4KQkJCSgoKHgpICYgMHg3KSA8PCAxNikKKyNkZWZpbmUgRElUSEVSX0xTQl9F UlJfU0hJRlRfRyh4KQkJKCgoeCkgJiAweDcpIDw8IDEyKQorI2RlZmluZSBESVRIRVJfT1ZGTFdf QklUX0coeCkJCQkoKCh4KSAmIDB4NykgPDwgOCkKKyNkZWZpbmUgRElUSEVSX0FERF9MU0hJRlRf Ryh4KQkJCSgoKHgpICYgMHg3KSA8PCA0KQorI2RlZmluZSBESVRIRVJfQUREX1JTSElGVF9HKHgp CQkJKCgoeCkgJiAweDcpIDw8IDApCiAKICNkZWZpbmUgRElTUF9SRUdfVUZPX1NUQVJUCQkJMHgw MDAwCiAKQEAgLTQ0LDI1ICs2MywyOCBAQAogCiAjZGVmaW5lIERJU1BfR0FNTUFfRU4JCQkJMHgw MDAKICNkZWZpbmUgRElTUF9HQU1NQV9DRkcJCQkJMHgwMjAKKyNkZWZpbmUgR0FNTUFfRU4JCQkJ QklUKDApCisjZGVmaW5lIEdBTU1BX0xVVF9FTgkJCQlCSVQoMSkKKyNkZWZpbmUgR0FNTUFfRElU SEVSSU5HCQkJCUJJVCgyKQogI2RlZmluZSBESVNQX0dBTU1BX1NJWkUJCQkJMHgwMzAKICNkZWZp bmUgRElTUF9HQU1NQV9MVVQJCQkJMHg3MDAKKyNkZWZpbmUgRElTUF9HQU1NQV9ESVRIRVJfNQkJ CTB4MDExNAorI2RlZmluZSBESVNQX0dBTU1BX0RJVEhFUl83CQkJMHgwMTFjCisjZGVmaW5lIERJ U1BfR0FNTUFfRElUSEVSXzE1CQkJMHgwMTNjCisjZGVmaW5lIERJU1BfR0FNTUFfRElUSEVSXzE2 CQkJMHgwMTQwCiAKICNkZWZpbmUgTFVUXzEwQklUX01BU0sJCQkJMHgzZmYKIAogI2RlZmluZSBB QUxfRU4JCQlCSVQoMCkKIAotI2RlZmluZSBHQU1NQV9FTgkJQklUKDApCi0jZGVmaW5lIEdBTU1B X0xVVF9FTgkJQklUKDEpCi0KLSNkZWZpbmUJT0RfUkVMQVlfTU9ERQkJQklUKDApCi0KICNkZWZp bmUJVUZPX0JZUEFTUwkJQklUKDIpCiAKICNkZWZpbmUJQ09MT1JfQllQQVNTX0FMTAlCSVQoNykK ICNkZWZpbmUJQ09MT1JfU0VRX1NFTAkJQklUKDEzKQogCiBzdGF0aWMgdm9pZCBtdGtfY29sb3Jf Y29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCB3LAotCQkJICAg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoKQorCQkJICAgICB1bnNpZ25l ZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLAorCQkJICAgICB1bnNpZ25lZCBpbnQgYnBj KQogewogCXdyaXRlbCh3LCBjb21wLT5yZWdzICsgRElTUF9DT0xPUl9XSURUSCk7CiAJd3JpdGVs KGgsIGNvbXAtPnJlZ3MgKyBESVNQX0NPTE9SX0hFSUdIVCk7CkBAIC03NiwxNCArOTgsMzMgQEAg c3RhdGljIHZvaWQgbXRrX2NvbG9yX3N0YXJ0KHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApCiB9 CiAKIHN0YXRpYyB2b2lkIG10a19vZF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwg dW5zaWduZWQgaW50IHcsCi0JCQkgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25lZCBpbnQgdnJlZnJl c2gpCisJCQkgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsCisJCQkgIHVu c2lnbmVkIGludCBicGMpCiB7CiAJd3JpdGVsKHcgPDwgMTYgfCBoLCBjb21wLT5yZWdzICsgRElT UF9PRF9TSVpFKTsKKwlpZiAoYnBjID49IDMgJiYgYnBjIDwgMTApIHsKKwkJd3JpdGVsKDAsIGNv bXAtPnJlZ3MgKyBESVNQX09EX0RJVEhFUl81KTsKKwkJd3JpdGVsKDAsIGNvbXAtPnJlZ3MgKyBE SVNQX09EX0RJVEhFUl83KTsKKwkJd3JpdGVsKERJVEhFUl9MU0JfRVJSX1NISUZUX1IoMTAgLSBi cGMpIHwKKwkJICAgICAgIERJVEhFUl9BRERfTFNISUZUX1IoMTAgLSBicGMpIHwKKwkJICAgICAg IERJVEhFUl9ORVdfQklUX01PREUsCisJCSAgICAgICBjb21wLT5yZWdzICsgRElTUF9PRF9ESVRI RVJfMTUpOworCQl3cml0ZWwoRElUSEVSX0xTQl9FUlJfU0hJRlRfQigxMCAtIGJwYykgfAorCQkg ICAgICAgRElUSEVSX0FERF9MU0hJRlRfQigxMCAtIGJwYykgfAorCQkgICAgICAgRElUSEVSX0xT Ql9FUlJfU0hJRlRfRygxMCAtIGJwYykgfAorCQkgICAgICAgRElUSEVSX0FERF9MU0hJRlRfRygx MCAtIGJwYyksCisJCSAgICAgICBjb21wLT5yZWdzICsgRElTUF9PRF9ESVRIRVJfMTYpOworCQl3 cml0ZWwoT0RfRElUSEVSSU5HLAorCQkgICAgICAgY29tcC0+cmVncyArIERJU1BfT0RfQ0ZHKTsK Kwl9IGVsc2UgeworCQl3cml0ZWwoT0RfUkVMQVlNT0RFLAorCQkgICAgICAgY29tcC0+cmVncyAr IERJU1BfT0RfQ0ZHKTsKKwl9CisKIH0KIAogc3RhdGljIHZvaWQgbXRrX29kX3N0YXJ0KHN0cnVj dCBtdGtfZGRwX2NvbXAgKmNvbXApCiB7Ci0Jd3JpdGVsKE9EX1JFTEFZX01PREUsIGNvbXAtPnJl Z3MgKyBESVNQX09EX0NGRyk7CiAJd3JpdGVsKDEsIGNvbXAtPnJlZ3MgKyBESVNQX09EX0VOKTsK IH0KIApAQCAtOTMsNyArMTM0LDggQEAgc3RhdGljIHZvaWQgbXRrX3Vmb2Vfc3RhcnQoc3RydWN0 IG10a19kZHBfY29tcCAqY29tcCkKIH0KIAogc3RhdGljIHZvaWQgbXRrX2FhbF9jb25maWcoc3Ry dWN0IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQgaW50IHcsCi0JCQkgICB1bnNpZ25lZCBp bnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoKQorCQkJICAgdW5zaWduZWQgaW50IGgsIHVuc2ln bmVkIGludCB2cmVmcmVzaCwKKwkJCSAgIHVuc2lnbmVkIGludCBicGMpCiB7CiAJd3JpdGVsKGgg PDwgMTYgfCB3LCBjb21wLT5yZWdzICsgRElTUF9BQUxfU0laRSk7CiB9CkBAIC0xMDksOSArMTUx LDI0IEBAIHN0YXRpYyB2b2lkIG10a19hYWxfc3RvcChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21w KQogfQogCiBzdGF0aWMgdm9pZCBtdGtfZ2FtbWFfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAg KmNvbXAsIHVuc2lnbmVkIGludCB3LAotCQkJICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQg aW50IHZyZWZyZXNoKQorCQkJICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZy ZXNoLAorCQkJICAgICB1bnNpZ25lZCBpbnQgYnBjKQogewogCXdyaXRlbChoIDw8IDE2IHwgdywg Y29tcC0+cmVncyArIERJU1BfR0FNTUFfU0laRSk7CisJaWYgKGJwYyA+PSAzICYmIGJwYyA8IDEw KSB7CisJCXdyaXRlbCgwLCBjb21wLT5yZWdzICsgRElTUF9HQU1NQV9ESVRIRVJfNSk7CisJCXdy aXRlbCgwLCBjb21wLT5yZWdzICsgRElTUF9HQU1NQV9ESVRIRVJfNyk7CisJCXdyaXRlbChESVRI RVJfTFNCX0VSUl9TSElGVF9SKDEwIC0gYnBjKSB8CisJCSAgICAgICBESVRIRVJfQUREX0xTSElG VF9SKDEwIC0gYnBjKSB8CisJCSAgICAgICBESVRIRVJfTkVXX0JJVF9NT0RFLAorCQkgICAgICAg Y29tcC0+cmVncyArIERJU1BfR0FNTUFfRElUSEVSXzE1KTsKKwkJd3JpdGVsKERJVEhFUl9MU0Jf RVJSX1NISUZUX0IoMTAgLSBicGMpIHwKKwkJICAgICAgIERJVEhFUl9BRERfTFNISUZUX0IoMTAg LSBicGMpIHwKKwkJICAgICAgIERJVEhFUl9MU0JfRVJSX1NISUZUX0coMTAgLSBicGMpIHwKKwkJ ICAgICAgIERJVEhFUl9BRERfTFNISUZUX0coMTAgLSBicGMpLAorCQkgICAgICAgY29tcC0+cmVn cyArIERJU1BfR0FNTUFfRElUSEVSXzE2KTsKKwkJd3JpdGVsKEdBTU1BX0RJVEhFUklORywgY29t cC0+cmVncyArIERJU1BfR0FNTUFfQ0ZHKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIG10a19nYW1t YV9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcF9jb21wLmgKaW5kZXggMDdlMTdmZS4uYzdjMmU5MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCkBAIC02NSw3ICs2NSw3IEBA IHN0cnVjdCBtdGtfZGRwX2NvbXA7CiAKIHN0cnVjdCBtdGtfZGRwX2NvbXBfZnVuY3MgewogCXZv aWQgKCpjb25maWcpKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCB3LAot CQkgICAgICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCk7CisJCSAgICAg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLCB1bnNpZ25lZCBpbnQgYnBj KTsKIAl2b2lkICgqc3RhcnQpKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApOwogCXZvaWQgKCpz dG9wKShzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKTsKIAl2b2lkICgqZW5hYmxlX3ZibGFuayko c3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKQEAgLTg5 LDEwICs4OSwxMCBAQCBzdHJ1Y3QgbXRrX2RkcF9jb21wIHsKIAogc3RhdGljIGlubGluZSB2b2lk IG10a19kZHBfY29tcF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwKIAkJCQkgICAg ICAgdW5zaWduZWQgaW50IHcsIHVuc2lnbmVkIGludCBoLAotCQkJCSAgICAgICB1bnNpZ25lZCBp bnQgdnJlZnJlc2gpCisJCQkJICAgICAgIHVuc2lnbmVkIGludCB2cmVmcmVzaCwgdW5zaWduZWQg aW50IGJwYykKIHsKIAlpZiAoY29tcC0+ZnVuY3MgJiYgY29tcC0+ZnVuY3MtPmNvbmZpZykKLQkJ Y29tcC0+ZnVuY3MtPmNvbmZpZyhjb21wLCB3LCBoLCB2cmVmcmVzaCk7CisJCWNvbXAtPmZ1bmNz LT5jb25maWcoY29tcCwgdywgaCwgdnJlZnJlc2gsIGJwYyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg dm9pZCBtdGtfZGRwX2NvbXBfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKLS0gCjEu Ny45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=