From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: [PATCH v4 4/4] drm/mediatek: set mt8173 dithering function Date: Thu, 28 Jul 2016 10:22:55 +0800 Message-ID: <1469672575-5847-5-git-send-email-bibby.hsieh@mediatek.com> References: <1469672575-5847-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: <1469672575-5847-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 ZWsvbXRrX2RybV9jcnRjLmggICAgIHwgICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kZHBfY29tcC5jIHwgICA3MiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgICA4ICstLQogNiBm aWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKaW5kZXggOGY2MjY3MWYuLjAxOWI3Y2EgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmwuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMKQEAgLTEwMyw3ICsxMDMsOCBA QCBzdGF0aWMgdm9pZCBtdGtfb3ZsX3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKIH0K IAogc3RhdGljIHZvaWQgbXRrX292bF9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwg dW5zaWduZWQgaW50IHcsCi0JCQkgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZy ZXNoKQorCQkJICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCwKKwkJCSAg IHVuc2lnbmVkIGludCBicGMpCiB7CiAJaWYgKHcgIT0gMCAmJiBoICE9IDApCiAJCXdyaXRlbF9y ZWxheGVkKGggPDwgMTYgfCB3LCBjb21wLT5yZWdzICsgRElTUF9SRUdfT1ZMX1JPSV9TSVpFKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfcmRtYS5jCmluZGV4IDVmYjgwY2IuLjBk ZjA1ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1h LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX3JkbWEuYwpAQCAtMTA2 LDcgKzEwNiw4IEBAIHN0YXRpYyB2b2lkIG10a19yZG1hX3N0b3Aoc3RydWN0IG10a19kZHBfY29t cCAqY29tcCkKIH0KIAogc3RhdGljIHZvaWQgbXRrX3JkbWFfY29uZmlnKHN0cnVjdCBtdGtfZGRw X2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCB3aWR0aCwKLQkJCSAgICB1bnNpZ25lZCBpbnQgaGVp Z2h0LCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gpCisJCQkgICAgdW5zaWduZWQgaW50IGhlaWdodCwg dW5zaWduZWQgaW50IHZyZWZyZXNoLAorCQkJICAgIHVuc2lnbmVkIGludCBicGMpCiB7CiAJdW5z aWduZWQgaW50IHRocmVzaG9sZDsKIAl1bnNpZ25lZCBpbnQgcmVnOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fY3J0Yy5jCmluZGV4IGNiYjQ2MGE1Li5lNTExNzZlOCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwpAQCAtMjIyLDcgKzIyMiw5IEBAIHN0YXRp YyB2b2lkIG10a19jcnRjX2RkcF9jbGtfZGlzYWJsZShzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtf Y3J0YykKIHN0YXRpYyBpbnQgbXRrX2NydGNfZGRwX2h3X2luaXQoc3RydWN0IG10a19kcm1fY3J0 YyAqbXRrX2NydGMpCiB7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJm10a19jcnRjLT5iYXNl OwotCXVuc2lnbmVkIGludCB3aWR0aCwgaGVpZ2h0LCB2cmVmcmVzaDsKKwlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKKwl1bnNp Z25lZCBpbnQgd2lkdGgsIGhlaWdodCwgdnJlZnJlc2gsIGJwYyA9IE1US19NQVhfQlBDOwogCWlu dCByZXQ7CiAJaW50IGk7CiAKQEAgLTIzNCw2ICsyMzYsMTkgQEAgc3RhdGljIGludCBtdGtfY3J0 Y19kZHBfaHdfaW5pdChzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YykKIAloZWlnaHQgPSBj cnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZS52ZGlzcGxheTsKIAl2cmVmcmVzaCA9IGNydGMtPnN0 YXRlLT5hZGp1c3RlZF9tb2RlLnZyZWZyZXNoOwogCisJZHJtX2Zvcl9lYWNoX2VuY29kZXIoZW5j b2RlciwgY3J0Yy0+ZGV2KSB7CisJCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMpCisJCQljb250 aW51ZTsKKworCQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgY3J0Yy0+ZGV2KSB7 CisJCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyICE9IGVuY29kZXIpCisJCQkJY29udGludWU7CisJ CQlpZiAoY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjICE9IDAgJiYKKwkJCSAgICBicGMgPiBj b25uZWN0b3ItPmRpc3BsYXlfaW5mby5icGMpCisJCQkJYnBjID0gY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uYnBjOworCQl9CisJfQorCiAJcmV0ID0gcG1fcnVudGltZV9nZXRfc3luYyhjcnRjLT5k ZXYtPmRldik7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZW5hYmxl IHBvd2VyIGRvbWFpbjogJWRcbiIsIHJldCk7CkBAIC0yNjYsNyArMjgxLDcgQEAgc3RhdGljIGlu dCBtdGtfY3J0Y19kZHBfaHdfaW5pdChzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YykKIAlm b3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yOyBpKyspIHsKIAkJc3RydWN0IG10 a19kZHBfY29tcCAqY29tcCA9IG10a19jcnRjLT5kZHBfY29tcFtpXTsKIAotCQltdGtfZGRwX2Nv bXBfY29uZmlnKGNvbXAsIHdpZHRoLCBoZWlnaHQsIHZyZWZyZXNoKTsKKwkJbXRrX2RkcF9jb21w X2NvbmZpZyhjb21wLCB3aWR0aCwgaGVpZ2h0LCB2cmVmcmVzaCwgYnBjKTsKIAkJbXRrX2RkcF9j b21wX3N0YXJ0KGNvbXApOwogCX0KIApAQCAtNDY4LDcgKzQ4Myw3IEBAIHZvaWQgbXRrX2NydGNf ZGRwX2lycShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBtdGtfZGRwX2NvbXAgKm92bCkK IAlpZiAoc3RhdGUtPnBlbmRpbmdfY29uZmlnKSB7CiAJCW10a19kZHBfY29tcF9jb25maWcob3Zs LCBzdGF0ZS0+cGVuZGluZ193aWR0aCwKIAkJCQkgICAgc3RhdGUtPnBlbmRpbmdfaGVpZ2h0LAot CQkJCSAgICBzdGF0ZS0+cGVuZGluZ192cmVmcmVzaCk7CisJCQkJICAgIHN0YXRlLT5wZW5kaW5n X3ZyZWZyZXNoLCAwKTsKIAogCQlzdGF0ZS0+cGVuZGluZ19jb25maWcgPSBmYWxzZTsKIAl9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmggYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmgKaW5kZXggZDMzMjU2NC4uMzNmNmFi NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaApAQCAtMjAsNiArMjAs OCBAQAogCiAjZGVmaW5lIE9WTF9MQVlFUl9OUgk0CiAjZGVmaW5lIE1US19MVVRfU0laRQk1MTIK KyNkZWZpbmUgTVRLX01BWF9CUEMJMTAKKyNkZWZpbmUgTVRLX01JTl9CUEMJMwogCiBpbnQgbXRr X2RybV9jcnRjX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQg aW50IHBpcGUpOwogdm9pZCBtdGtfZHJtX2NydGNfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgdW5zaWduZWQgaW50IHBpcGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2RkcF9jb21wLmMKaW5kZXggNDJjZDU4Ny4uZGYzM2IzYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jCkBAIC0zMSw2ICszMSwxMCBAQAog I2RlZmluZSBESVNQX09EX0lOVFNUQQkJCQkweDAwMGMKICNkZWZpbmUgRElTUF9PRF9DRkcJCQkJ MHgwMDIwCiAjZGVmaW5lIERJU1BfT0RfU0laRQkJCQkweDAwMzAKKyNkZWZpbmUgRElTUF9ESVRI RVJfNQkJCQkweDAxMTQKKyNkZWZpbmUgRElTUF9ESVRIRVJfNwkJCQkweDAxMWMKKyNkZWZpbmUg RElTUF9ESVRIRVJfMTUJCQkJMHgwMTNjCisjZGVmaW5lIERJU1BfRElUSEVSXzE2CQkJCTB4MDE0 MAogCiAjZGVmaW5lIERJU1BfUkVHX1VGT19TVEFSVAkJCTB4MDAwMAogCkBAIC00OSwyMCArNTMs NTkgQEAKIAogI2RlZmluZSBMVVRfMTBCSVRfTUFTSwkJCQkweDAzZmYKIAotI2RlZmluZQlPRF9S RUxBWV9NT0RFCQlCSVQoMCkKKyNkZWZpbmUgQ09MT1JfQllQQVNTX0FMTAkJCUJJVCg3KQorI2Rl ZmluZSBDT0xPUl9TRVFfU0VMCQkJCUJJVCgxMykKIAotI2RlZmluZQlVRk9fQllQQVNTCQlCSVQo MikKKyNkZWZpbmUgT0RfUkVMQVlNT0RFCQkJCUJJVCgwKQogCi0jZGVmaW5lCUNPTE9SX0JZUEFT U19BTEwJQklUKDcpCi0jZGVmaW5lCUNPTE9SX1NFUV9TRUwJCUJJVCgxMykKKyNkZWZpbmUgVUZP X0JZUEFTUwkJCQlCSVQoMikKIAotI2RlZmluZSBBQUxfRU4JCQlCSVQoMCkKKyNkZWZpbmUgQUFM X0VOCQkJCQlCSVQoMCkKIAotI2RlZmluZSBHQU1NQV9FTgkJQklUKDApCi0jZGVmaW5lIEdBTU1B X0xVVF9FTgkJQklUKDEpCisjZGVmaW5lIEdBTU1BX0VOCQkJCUJJVCgwKQorI2RlZmluZSBHQU1N QV9MVVRfRU4JCQkJQklUKDEpCisKKyNkZWZpbmUgRElTUF9ESVRIRVJJTkcJCQkJQklUKDIpCisj ZGVmaW5lIERJVEhFUl9MU0JfRVJSX1NISUZUX1IoeCkJCSgoKHgpICYgMHg3KSA8PCAyOCkKKyNk ZWZpbmUgRElUSEVSX09WRkxXX0JJVF9SKHgpCQkJKCgoeCkgJiAweDcpIDw8IDI0KQorI2RlZmlu ZSBESVRIRVJfQUREX0xTSElGVF9SKHgpCQkJKCgoeCkgJiAweDcpIDw8IDIwKQorI2RlZmluZSBE SVRIRVJfQUREX1JTSElGVF9SKHgpCQkJKCgoeCkgJiAweDcpIDw8IDE2KQorI2RlZmluZSBESVRI RVJfTkVXX0JJVF9NT0RFCQkJQklUKDApCisjZGVmaW5lIERJVEhFUl9MU0JfRVJSX1NISUZUX0Io eCkJCSgoKHgpICYgMHg3KSA8PCAyOCkKKyNkZWZpbmUgRElUSEVSX09WRkxXX0JJVF9CKHgpCQkJ KCgoeCkgJiAweDcpIDw8IDI0KQorI2RlZmluZSBESVRIRVJfQUREX0xTSElGVF9CKHgpCQkJKCgo eCkgJiAweDcpIDw8IDIwKQorI2RlZmluZSBESVRIRVJfQUREX1JTSElGVF9CKHgpCQkJKCgoeCkg JiAweDcpIDw8IDE2KQorI2RlZmluZSBESVRIRVJfTFNCX0VSUl9TSElGVF9HKHgpCQkoKCh4KSAm IDB4NykgPDwgMTIpCisjZGVmaW5lIERJVEhFUl9PVkZMV19CSVRfRyh4KQkJCSgoKHgpICYgMHg3 KSA8PCA4KQorI2RlZmluZSBESVRIRVJfQUREX0xTSElGVF9HKHgpCQkJKCgoeCkgJiAweDcpIDw8 IDQpCisjZGVmaW5lIERJVEhFUl9BRERfUlNISUZUX0coeCkJCQkoKCh4KSAmIDB4NykgPDwgMCkK Kwordm9pZCBtdGtfZGl0aGVyX3NldChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25l ZCBpbnQgYnBjLAorCQkgICAgdW5zaWduZWQgaW50IENGRykKK3sKKwkvKiBJZiBicGMgZXF1YWwg dG8gMCwgdGhlIGRpdGhlcmluZyBmdW5jdGlvbiBkaWRuJ3QgYmUgZW5hYmxlZCAqLworCWlmIChi cGMgPT0gMCkKKwkJcmV0dXJuOworCisJaWYgKGJwYyA+PSBNVEtfTUlOX0JQQykgeworCQl3cml0 ZWwoMCwgY29tcC0+cmVncyArIERJU1BfRElUSEVSXzUpOworCQl3cml0ZWwoMCwgY29tcC0+cmVn cyArIERJU1BfRElUSEVSXzcpOworCQl3cml0ZWwoRElUSEVSX0xTQl9FUlJfU0hJRlRfUihNVEtf TUFYX0JQQyAtIGJwYykgfAorCQkgICAgICAgRElUSEVSX0FERF9MU0hJRlRfUihNVEtfTUFYX0JQ QyAtIGJwYykgfAorCQkgICAgICAgRElUSEVSX05FV19CSVRfTU9ERSwKKwkJICAgICAgIGNvbXAt PnJlZ3MgKyBESVNQX0RJVEhFUl8xNSk7CisJCXdyaXRlbChESVRIRVJfTFNCX0VSUl9TSElGVF9C KE1US19NQVhfQlBDIC0gYnBjKSB8CisJCSAgICAgICBESVRIRVJfQUREX0xTSElGVF9CKE1US19N QVhfQlBDIC0gYnBjKSB8CisJCSAgICAgICBESVRIRVJfTFNCX0VSUl9TSElGVF9HKE1US19NQVhf QlBDIC0gYnBjKSB8CisJCSAgICAgICBESVRIRVJfQUREX0xTSElGVF9HKE1US19NQVhfQlBDIC0g YnBjKSwKKwkJICAgICAgIGNvbXAtPnJlZ3MgKyBESVNQX0RJVEhFUl8xNik7CisJCXdyaXRlbChE SVNQX0RJVEhFUklORywgY29tcC0+cmVncyArIENGRyk7CisJfQorfQogCiBzdGF0aWMgdm9pZCBt dGtfY29sb3JfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCB3 LAotCQkJICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoKQorCQkJICAg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLAorCQkJICAgICB1bnNpZ25l ZCBpbnQgYnBjKQogewogCXdyaXRlbCh3LCBjb21wLT5yZWdzICsgRElTUF9DT0xPUl9XSURUSCk7 CiAJd3JpdGVsKGgsIGNvbXAtPnJlZ3MgKyBESVNQX0NPTE9SX0hFSUdIVCk7CkBAIC03NiwxNCAr MTE5LDE2IEBAIHN0YXRpYyB2b2lkIG10a19jb2xvcl9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wKQogfQogCiBzdGF0aWMgdm9pZCBtdGtfb2RfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2Nv bXAgKmNvbXAsIHVuc2lnbmVkIGludCB3LAotCQkJICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQg aW50IHZyZWZyZXNoKQorCQkJICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNo LAorCQkJICB1bnNpZ25lZCBpbnQgYnBjKQogewogCXdyaXRlbCh3IDw8IDE2IHwgaCwgY29tcC0+ cmVncyArIERJU1BfT0RfU0laRSk7CisJd3JpdGVsKE9EX1JFTEFZTU9ERSwgY29tcC0+cmVncyAr IE9EX1JFTEFZTU9ERSk7CisJbXRrX2RpdGhlcl9zZXQoY29tcCwgYnBjLCBESVNQX09EX0NGRyk7 CiB9CiAKIHN0YXRpYyB2b2lkIG10a19vZF9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21w KQogewotCXdyaXRlbChPRF9SRUxBWV9NT0RFLCBjb21wLT5yZWdzICsgRElTUF9PRF9DRkcpOwog CXdyaXRlbCgxLCBjb21wLT5yZWdzICsgRElTUF9PRF9FTik7CiB9CiAKQEAgLTkzLDcgKzEzOCw4 IEBAIHN0YXRpYyB2b2lkIG10a191Zm9lX3N0YXJ0KHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAp CiB9CiAKIHN0YXRpYyB2b2lkIG10a19hYWxfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNv bXAsIHVuc2lnbmVkIGludCB3LAotCQkJICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2 cmVmcmVzaCkKKwkJCSAgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsCisJ CQkgICB1bnNpZ25lZCBpbnQgYnBjKQogewogCXdyaXRlbChoIDw8IDE2IHwgdywgY29tcC0+cmVn cyArIERJU1BfQUFMX1NJWkUpOwogfQpAQCAtMTA5LDkgKzE1NSwxMSBAQCBzdGF0aWMgdm9pZCBt dGtfYWFsX3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKIH0KIAogc3RhdGljIHZvaWQg bXRrX2dhbW1hX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQg dywKLQkJCSAgICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCkKKwkJCSAg ICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2cmVmcmVzaCwKKwkJCSAgICAgdW5zaWdu ZWQgaW50IGJwYykKIHsKIAl3cml0ZWwoaCA8PCAxNiB8IHcsIGNvbXAtPnJlZ3MgKyBESVNQX0dB TU1BX1NJWkUpOworCW10a19kaXRoZXJfc2V0KGNvbXAsIGJwYywgRElTUF9HQU1NQV9DRkcpOwog fQogCiBzdGF0aWMgdm9pZCBtdGtfZ2FtbWFfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29t cCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21w LmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCmluZGV4IGY0 YjdlMGEuLjIyYTMzZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcF9jb21wLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw X2NvbXAuaApAQCAtNjUsNyArNjUsNyBAQCBzdHJ1Y3QgbXRrX2RkcF9jb21wOwogCiBzdHJ1Y3Qg bXRrX2RkcF9jb21wX2Z1bmNzIHsKIAl2b2lkICgqY29uZmlnKShzdHJ1Y3QgbXRrX2RkcF9jb21w ICpjb21wLCB1bnNpZ25lZCBpbnQgdywKLQkJICAgICAgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25l ZCBpbnQgdnJlZnJlc2gpOworCQkgICAgICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCB2 cmVmcmVzaCwgdW5zaWduZWQgaW50IGJwYyk7CiAJdm9pZCAoKnN0YXJ0KShzdHJ1Y3QgbXRrX2Rk cF9jb21wICpjb21wKTsKIAl2b2lkICgqc3RvcCkoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCk7 CiAJdm9pZCAoKmVuYWJsZV92YmxhbmspKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHN0cnVj dCBkcm1fY3J0YyAqY3J0Yyk7CkBAIC04OSwxMCArODksMTAgQEAgc3RydWN0IG10a19kZHBfY29t cCB7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBtdGtfZGRwX2NvbXBfY29uZmlnKHN0cnVjdCBtdGtf ZGRwX2NvbXAgKmNvbXAsCiAJCQkJICAgICAgIHVuc2lnbmVkIGludCB3LCB1bnNpZ25lZCBpbnQg aCwKLQkJCQkgICAgICAgdW5zaWduZWQgaW50IHZyZWZyZXNoKQorCQkJCSAgICAgICB1bnNpZ25l ZCBpbnQgdnJlZnJlc2gsIHVuc2lnbmVkIGludCBicGMpCiB7CiAJaWYgKGNvbXAtPmZ1bmNzICYm IGNvbXAtPmZ1bmNzLT5jb25maWcpCi0JCWNvbXAtPmZ1bmNzLT5jb25maWcoY29tcCwgdywgaCwg dnJlZnJlc2gpOworCQljb21wLT5mdW5jcy0+Y29uZmlnKGNvbXAsIHcsIGgsIHZyZWZyZXNoLCBi cGMpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbXRrX2RkcF9jb21wX3N0YXJ0KHN0cnVjdCBt dGtfZGRwX2NvbXAgKmNvbXApCkBAIC0xNTYsNSArMTU2LDcgQEAgaW50IG10a19kZHBfY29tcF9p bml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9ub2RlICpjb21wX25vZGUsCiAJ CSAgICAgIGNvbnN0IHN0cnVjdCBtdGtfZGRwX2NvbXBfZnVuY3MgKmZ1bmNzKTsKIGludCBtdGtf ZGRwX2NvbXBfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IG10a19kZHBf Y29tcCAqY29tcCk7CiB2b2lkIG10a19kZHBfY29tcF91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sIHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXApOwordm9pZCBtdGtfZGl0aGVyX3Nl dChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgYnBjLAorCQkgICAgdW5z aWduZWQgaW50IENGRyk7CiAKICNlbmRpZiAvKiBNVEtfRFJNX0REUF9DT01QX0ggKi8KLS0gCjEu Ny45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=