From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 01/11] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Tue, 30 May 2017 17:43:40 +0530 Message-ID: <1496146430-11430-2-git-send-email-shashank.sharma@intel.com> References: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Jose Abreu , Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ugb2YgQ0VB LTg2MS1EIChWSUMgMS02NCkuCkZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBB VkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KSERNSSAyLjAgc2lua3MsIHN1cHBvcnQgdmlkZW8g bW9kZXMgcmFuZ2UgYXMgcGVyIENFQS04NjEtRiBzcGVjLCB3aGljaCBpcwpleHRlbmRlZCB0byAo VklDIDEtMTA3KS4KClRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUsIHdoaWNo IGluZGljYXRlcyBpZiB0aGUgY29ubmVjdGVkCnNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5v dC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHBhc3MgYQpIRE1JIDIuMCBWSUMg dG8gYSBIRE1JIDEuNCBzaW5rLgoKVGhpcyBwYXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywg d2hvIGFyZSBjYWxsZXJzIG9mIHRoaXMgZnVuY3Rpb24KZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFrZSBzdXJlIHRoZXJlIGlzCm5vIGNoYW5nZSBpbiBj dXJyZW50IGJlaGF2aW9yLCBpc19oZG1pMiBpcyBrZXB0IGFzIGZhbHNlLgoKSW4gY2FzZSBvZiBJ OTE1IGRyaXZlciwgdGhpcyBwYXRjaCBjaGVja3MgdGhlIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv CnRvIGNoZWNrIGlmIHRoZSBjb25uZWN0ZWQgZGlzcGxheSBpcyBIRE1JIDIuMC4KCkNjOiBWaWxs ZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEpvc2UgQWJyZXUg PGpvc2UuYWJyZXVAc3lub3BzeXMuY29tPgpDYzogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1z dW5nLmNvbT4KQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgoKUFM6IFRoaXMgcGF0Y2gg dG91Y2hlcyBhIGZldyBsaW5lcyBpbiBmZXcgZmlsZXMsIHdoaWNoIHdlcmUKYWxyZWFkeSBhYm92 ZSA4MCBjaGFyLCBzbyBjaGVja3BhdGNoIGdpdmVzIDgwIGNoYXIgd2FybmluZyBhZ2Fpbi4KLSBn cHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKLSBncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j CgpWMjogUmViYXNlLCBBZGRlZCByLWIgZnJvbSBBbmRyemVqCgpSZXZpZXdlZC1ieTogQW5kcnpl aiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hh cm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2RjZV92MTBfMC5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92MTFfMC5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 OF8wLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4 eC5jIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyAgICAgICAgICB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgICAgICAgICB8IDEyICsrKysrKysr KysrLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgICAgICAgfCAgNSArKysrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfaGRtaS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL29tYXBfZW5jb2Rlci5jICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9hdWRpby5jICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19o ZG1pLmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jICAgICAgICAgICAgICB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgICAgICAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgICAgICAgICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYyAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2Ry bS9kcm1fZWRpZC5oICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQogMjEgZmlsZXMgY2hhbmdl ZCwgMzggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjEwXzAuYwppbmRleCAzYzYyYzQ1Li40OTIzZGRjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjEwXzAuYwpAQCAtMTg2NCw3ICsxODY0LDcgQEAgc3RhdGljIHZvaWQg ZGNlX3YxMF8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNl X3YxMF8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwogCWRjZV92MTBfMF9hdWRpb193 cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2Up OwogCWlmIChlcnIgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZv ZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjExXzAuYwppbmRleCBjOGVkMGZhLi40MTAxNjg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjExXzAuYwpAQCAtMTg0OCw3ICsxODQ4LDcgQEAgc3RhdGljIHZvaWQgZGNlX3Yx MV8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNlX3YxMV8w X2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwogCWRjZV92MTFfMF9hdWRpb193cml0ZV9s YXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlm IChlcnIgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6 ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8w LmMKaW5kZXggM2U5MGMxOS4uYTdmNmIzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djhfMC5jCkBAIC0xNzQ3LDcgKzE3NDcsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjhfMF9hZm10X3Nl dG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWRjZV92OF8wX2F1ZGlvX3dyaXRl X3NhZF9yZWdzKGVuY29kZXIpOwogCWRjZV92OF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRz KGVuY29kZXIsIG1vZGUpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsK IAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIp OwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4 LWFueDc4eHguYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCmlu ZGV4IGEyYTgyMzYuLmY5Yjc3YjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YW5hbG9naXgtYW54Nzh4eC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgt YW54Nzh4eC5jCkBAIC0xMDk3LDcgKzEwOTcsOCBAQCBzdGF0aWMgdm9pZCBhbng3OHh4X2JyaWRn ZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAogCiAJbXV0ZXhfbG9jaygmYW54 Nzh4eC0+bG9jayk7CiAKLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRfbW9kZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkanVzdGVkX21vZGUsCisJCQkJCQkgICAg ICAgZmFsc2UpOwogCWlmIChlcnIpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gc2V0dXAgQVZJ IGluZm9mcmFtZTogJWRcbiIsIGVycik7CiAJCWdvdG8gdW5sb2NrOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3Np aTkwMnguYwppbmRleCA5Yjg3MDY3Li4zZGM0MGY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3NpaTkwMnguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMngu YwpAQCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21vZGVfc2V0 KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiAJaWYgKHJldCkKIAkJcmV0dXJuOwogCi0JcmV0 ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkaik7 CisJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUs IGFkaiwgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmls bCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuYwppbmRleCA4NzM3ZGU4Li5lNmQzMTgxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgc3RhdGlj IHZvaWQgaGRtaV9jb25maWdfQVZJKHN0cnVjdCBkd19oZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKIAl1OCB2YWw7CiAKIAkvKiBJbml0aWFsaXNlIGluZm8gZnJhbWUg ZnJvbSBEUk0gbW9kZSAqLwotCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlKTsKKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCiAJaWYgKGhkbWlfYnVzX2ZtdF9pc195dXY0NDQo aGRtaS0+aGRtaV9kYXRhLmVuY19vdXRfYnVzX2Zvcm1hdCkpCiAJCWZyYW1lLmNvbG9yc3BhY2Ug PSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwppbmRleCAyZTU1NTk5Li44YjIz NDM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYwpAQCAtNDMzNCwxMiArNDMzNCwxNCBAQCBFWFBPUlRfU1lNQk9M KGRybV9zZXRfcHJlZmVycmVkX21vZGUpOwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGF0YSBmcm9tIGEgRFJNIGRpc3BsYXkgbW9kZQogICogQGZyYW1l OiBIRE1JIEFWSSBpbmZvZnJhbWUKICAqIEBtb2RlOiBEUk0gZGlzcGxheSBtb2RlCisgKiBAaXNf aGRtaTI6IFNpbmsgaXMgSERNSSAyLjAgY29tcGxpYW50CiAgKgogICogUmV0dXJuOiAwIG9uIHN1 Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCiAgKi8KIGludAogZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5m b2ZyYW1lICpmcmFtZSwKLQkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KQorCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkJCSBib29s IGlzX2hkbWkyKQogewogCWludCBlcnI7CiAKQEAgLTQzNTUsNiArNDM1NywxNCBAQCBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJh bWUgKmZyYW1lLAogCiAJZnJhbWUtPnZpZGVvX2NvZGUgPSBkcm1fbWF0Y2hfY2VhX21vZGUobW9k ZSk7CiAKKwkvKgorCSAqIEhETUkgMS40IFZJQyByYW5nZTogMSA8PSBWSUMgPD0gNjQgKENFQS04 NjEtRCkgYnV0CisJICogSERNSSAyLjAgVklDIHJhbmdlOiAxIDw9IFZJQyA8PSAxMDcgKENFQS04 NjEtRikuIFNvIHdlCisJICogaGF2ZSB0byBtYWtlIHN1cmUgd2UgZG9udCBicmVhayBIRE1JIDEu NCBzaW5rcy4KKwkgKi8KKwlpZiAoIWlzX2hkbWkyICYmIGZyYW1lLT52aWRlb19jb2RlID4gNjQp CisJCWZyYW1lLT52aWRlb19jb2RlID0gMDsKKwogCWZyYW1lLT5waWN0dXJlX2FzcGVjdCA9IEhE TUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19o ZG1pLmMKaW5kZXggMWZmNmFiNi4uZjJjYzc1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYwpAQCAtNzg0LDcgKzc4NCw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfcmVnX2luZm9mcmFt ZXMoc3RydWN0IGhkbWlfY29udGV4dCAqaGRhdGEpCiAJfQogCiAJcmV0ID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJtLmF2aSwKLQkJCSZoZGF0YS0+Y3VycmVu dF9tb2RlKTsKKwkJCSZoZGF0YS0+Y3VycmVudF9tb2RlLCBmYWxzZSk7CiAJaWYgKCFyZXQpCiAJ CXJldCA9IGhkbWlfYXZpX2luZm9mcmFtZV9wYWNrKCZmcm0uYXZpLCBidWYsIHNpemVvZihidWYp KTsKIAlpZiAocmV0ID4gMCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5 OTh4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCmluZGV4IDg2ZjQ3 ZTEuLmQxZTdhYzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTcxMiw3ICs3MTIs NyBAQCB0ZGE5OTh4X3dyaXRlX2F2aShzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsK IAotCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwg bW9kZSk7CisJZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUu YXZpLCBtb2RlLCBmYWxzZSk7CiAJZnJhbWUuYXZpLnF1YW50aXphdGlvbl9yYW5nZSA9IEhETUlf UVVBTlRJWkFUSU9OX1JBTkdFX0ZVTEw7CiAKIAl0ZGE5OTh4X3dyaXRlX2lmKHByaXYsIERJUF9J Rl9GTEFHU19JRjIsIFJFR19JRjJfSEIwLCAmZnJhbWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCmluZGV4IDU4ZDY5MDMuLjcwMmNiYWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK QEAgLTQ1OSwxMSArNDU5LDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9oZG1pICpp bnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7CiAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQogCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1 c3RlZF9tb2RlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfaGRt aS0+YXR0YWNoZWRfY29ubmVjdG9yLT5iYXNlOworCWJvb2wgaXNfaGRtaTIgPSBjb25uZWN0b3It PmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkOwogCXVuaW9uIGhkbWlfaW5mb2ZyYW1l IGZyYW1lOwogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCi0JCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSk7CisJ CQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSwKKwkJCQkJCSAgICAgICBpc19oZG1pMik7CiAJaWYg KHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIp OwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKaW5kZXggNmNjMTgxMi4uNjJk NzI3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwpAQCAtMTAwNiw3ICsxMDA2LDggQEAg c3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2 byAqaW50ZWxfc2R2bywKIAlzc2l6ZV90IGxlbjsKIAogCXJldCA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKLQkJCQkJCSAgICAgICAmcGlwZV9j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSk7CisJCQkJCQkgICAgICAgJnBpcGVfY29uZmlnLT5i YXNlLmFkanVzdGVkX21vZGUsCisJCQkJCQkgICAgICAgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7 CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJu IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwppbmRleCA0MWExYzAzLi5hMTc3 MGRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwpAQCAtOTc1LDcgKzk3NSw3IEBA IHN0YXRpYyBpbnQgbXRrX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgbXRrX2hkbWkg KmhkbWksCiAJdTggYnVmZmVyWzE3XTsKIAlzc2l6ZV90IGVycjsKIAotCWVyciA9IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFs c2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCWRldl9lcnIoaGRtaS0+ZGV2LAogCQkJIkZhaWxlZCB0 byBnZXQgQVZJIGluZm9mcmFtZSBmcm9tIG1vZGU6ICV6ZFxuIiwgZXJyKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9lbmNvZGVyLmMKaW5kZXggODZjOTc3Yi4uNjI0ZjViNSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKQEAgLTg1LDcgKzg1LDggQEAgc3RhdGljIHZv aWQgb21hcF9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlp ZiAoaGRtaV9tb2RlICYmIGRzc2Rldi0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZvZnJhbWUpIHsKIAkJ c3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSBhdmk7CiAKLQkJciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSk7CisJCXIgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZhdmksIGFkanVzdGVkX21vZGUs CisJCQkJCQkJICAgICBmYWxzZSk7CiAJCWlmIChyID09IDApCiAJCQlkc3NkZXYtPmRyaXZlci0+ c2V0X2hkbWlfaW5mb2ZyYW1lKGRzc2RldiwgJmF2aSk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2F1ZGlvLmMKaW5kZXggYWFhY2FjMS4uNzcwZTMxZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdWRpby5jCkBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIGludCByYWRlb25f YXVkaW9fc2V0X2F2aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmICgh Y29ubmVjdG9yKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlm IChlcnIgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6 ICVkXG4iLCBlcnIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRt aS5jCmluZGV4IDdkOWI3NWUuLjcxNDk5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9pbm5vX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19o ZG1pLmMKQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9jb25maWdfdmlk ZW9fYXZpKHN0cnVjdCBpbm5vX2hkbWkgKmhkbWksCiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJh bWU7CiAJaW50IHJjOwogCi0JcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJjID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7CiAKIAlpZiAoaGRtaS0+ aGRtaV9kYXRhLmVuY19vdXRfZm9ybWF0ID09IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQpCiAJCWZy YW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hkbWkuYwppbmRleCBhNTljOTVhLi5kYmM2YTE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCkBA IC00MzQsNyArNDM0LDcgQEAgc3RhdGljIGludCBoZG1pX2F2aV9pbmZvZnJhbWVfY29uZmlnKHN0 cnVjdCBzdGlfaGRtaSAqaGRtaSkKIAogCURSTV9ERUJVR19EUklWRVIoIlxuIik7CiAKLQlyZXQg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsIG1v ZGUpOworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmlu Zm9mcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFp bGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0Owpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9oZG1pLmMKaW5kZXggY2RhMDQ5MS4uNzE4ZDhkYiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5j CkBAIC03MzQsNyArNzM0LDcgQEAgc3RhdGljIHZvaWQgdGVncmFfaGRtaV9zZXR1cF9hdmlfaW5m b2ZyYW1lKHN0cnVjdCB0ZWdyYV9oZG1pICpoZG1pLAogCXU4IGJ1ZmZlclsxN107CiAJc3NpemVf dCBlcnI7CiAKLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgbW9kZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKIAlpZiAoZXJyIDwgMCkgewogCQlkZXZfZXJy KGhkbWktPmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7 CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwppbmRleCBhOGY1Mjg5Li5mYjI3MDljIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL3Nvci5jCkBAIC0xOTA0LDcgKzE5MDQsNyBAQCB0ZWdyYV9zb3JfaGRtaV9zZXR1cF9hdmlf aW5mb2ZyYW1lKHN0cnVjdCB0ZWdyYV9zb3IgKnNvciwKIAl2YWx1ZSAmPSB+SU5GT0ZSQU1FX0NU UkxfRU5BQkxFOwogCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09SX0hETUlfQVZJX0lO Rk9GUkFNRV9DVFJMKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChlcnIgPCAwKSB7CiAJ CWRldl9lcnIoc29yLT5kZXYsICJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIs IGVycik7CiAJCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKaW5kZXggZWQ2M2Q0ZS4u NDA2ZDZkOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwpAQCAtMzk1LDcgKzM5NSw3IEBAIHN0YXRp YyB2b2lkIHZjNF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmV0OwogCi0JcmV0ID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2Rl KTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZS5hdmksIG1vZGUsIGZhbHNlKTsKIAlpZiAocmV0IDwgMCkgewogCQlEUk1fRVJST1IoImNvdWxk bid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMK aW5kZXggMGRmNzM2Ni4uN2U4MzRlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96 eF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKQEAgLTEyNCw3ICsx MjQsNyBAQCBzdGF0aWMgaW50IHp4X2hkbWlfY29uZmlnX3ZpZGVvX2F2aShzdHJ1Y3QgenhfaGRt aSAqaGRtaSwKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmV0OwogCi0JcmV0 ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBt b2RlKTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKIAlpZiAocmV0KSB7CiAJCURSTV9ERVZfRVJST1IoaGRt aS0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhdmkgaW5mb2ZyYW1lOiAlZFxuIiwKIAkJCSAgICAgIHJl dCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJt X2VkaWQuaAppbmRleCA3YjlmNDhiLi5jMDdlYjgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9k cm1fZWRpZC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKQEAgLTM0Myw3ICszNDMsOCBA QCBkcm1fbG9hZF9lZGlkX2Zpcm13YXJlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip CiAKIGludAogZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3Qg aGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKLQkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlKTsKKwkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl LAorCQkJCQkgYm9vbCBpc19oZG1pMik7CiBpbnQKIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCiAJ CQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Ci0tIAoyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==