From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 01/11] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Fri, 7 Apr 2017 19:39:18 +0300 Message-ID: <1491583168-20042-2-git-send-email-shashank.sharma@intel.com> References: <1491583168-20042-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: <1491583168-20042-1-git-send-email-shashank.sharma@intel.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, intel-gfx@lists.freedesktop.org Cc: Jose Abreu , Alex Deucher , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ugb2YgQ0VB LTg2MS1EIChWSUMgMS02NCkuCkZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBB VkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KSERNSSAyLjAgc2lua3MsIHN1cHBvcnQgdmlkZW8g bW9kZXMgcmFuZ2UgYXMgcGVyIENFQS04NjEtRiBzcGVjLCB3aGljaCBpcwpleHRlbmRlZCB0byAo VklDIDEtMTA3KS4KClRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUsIHdoaWNo IGluZGljYXRlcyBpZiB0aGUgY29ubmVjdGVkCnNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5v dC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHBhc3MgYQpIRE1JIDIuMCBWSUMg dG8gYSBIRE1JIDEuNCBzaW5rLgoKVGhpcyBwYXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywg d2hvIGFyZSBjYWxsZXJzIG9mIHRoaXMgZnVuY3Rpb24KZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFrZSBzdXJlIHRoZXJlIGlzCm5vIGNoYW5nZSBpbiBj dXJyZW50IGJlaGF2aW9yLCBpc19oZG1pMiBpcyBrZXB0IGFzIGZhbHNlLgoKSW4gY2FzZSBvZiBJ OTE1IGRyaXZlciwgdGhpcyBwYXRjaCBjaGVja3MgdGhlIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZv CnRvIGNoZWNrIGlmIHRoZSBjb25uZWN0ZWQgZGlzcGxheSBpcyBIRE1JIDIuMC4KCkNjOiBWaWxs ZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEpvc2UgQWJyZXUg PGpvc2UuYWJyZXVAc3lub3BzeXMuY29tPgpDYzogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1z dW5nLmNvbT4KQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgoKUFM6IFRoaXMgcGF0Y2gg dG91Y2hlcyBhIGZldyBsaW5lcyBpbiBmZXcgZmlsZXMsIHdoaWNoIHdlcmUKYWxyZWFkeSBhYm92 ZSA4MCBjaGFyLCBzbyBjaGVja3BhdGNoIGdpdmVzIDgwIGNoYXIgd2FybmluZyBhZ2Fpbi4KLSBn cHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKLSBncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j CgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyAgICAgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2lpOTAyeC5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlk Z2Uvc3lub3BzeXMvZHctaGRtaS5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j ICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19oZG1pLmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhf ZHJ2LmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMg ICAgICAgICB8ICA1ICsrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAg ICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgICAgfCAgMyAr Ky0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX2hkbWkuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9oZG1pLmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS90ZWdy YS9zb3IuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hk bWkuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jICAg ICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAgICAgICAg ICAgIHwgIDMgKystCiAyMSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyMSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEw XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCmluZGV4IGRhZjAw M2QuLjVkYzNlOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCkBAIC0x ODc3LDcgKzE4NzcsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjEwXzBfYWZtdF9zZXRtb2RlKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlkY2VfdjEwXzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3Mo ZW5jb2Rlcik7CiAJZGNlX3YxMF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIs IG1vZGUpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VS Uk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1 cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCmluZGV4IDNhNzI5NjcuLmI3 MGYwNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCkBAIC0xODYxLDcg KzE4NjEsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjExXzBfYWZtdF9zZXRtb2RlKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIAlkY2VfdjExXzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rl cik7CiAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUp OwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1cm47CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwppbmRleCA2OTQzZjI2Li5iY2Y5Yzc1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKQEAgLTE3NjAsNyArMTc2MCw3IEBA IHN0YXRpYyB2b2lkIGRjZV92OF8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJZGNlX3Y4XzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7CiAJZGNlX3Y4 XzBfYXVkaW9fd3JpdGVfbGF0ZW5jeV9maWVsZHMoZW5jb2RlciwgbW9kZSk7CiAKLQllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7CisJ ZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1v ZGUsIGZhbHNlKTsKIAlpZiAoZXJyIDwgMCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1 cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKaW5kZXggYTJhODIzNi4uZjliNzdiOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKQEAgLTEwOTcsNyArMTA5Nyw4 IEBAIHN0YXRpYyB2b2lkIGFueDc4eHhfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCiAKIAltdXRleF9sb2NrKCZhbng3OHh4LT5sb2NrKTsKIAotCWVyciA9IGRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBhZGp1c3RlZF9tb2Rl KTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgYWRqdXN0ZWRfbW9kZSwKKwkJCQkJCSAgICAgICBmYWxzZSk7CiAJaWYgKGVycikgewogCQlE Uk1fRVJST1IoIkZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKIAkJ Z290byB1bmxvY2s7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMngu YyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCmluZGV4IDkxMjZkMDMuLmRjZjE1 ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCkBAIC0yNjksNyArMjY5LDcgQEAgc3RhdGlj IHZvaWQgc2lpOTAyeF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwK IAlpZiAocmV0KQogCQlyZXR1cm47CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqKTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqLCBmYWxzZSk7CiAJaWYgKHJldCA8IDAp IHsKIAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1 cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku YyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCmluZGV4IDNiYzg1 NmMuLjU0YWRhNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5j CkBAIC0xMjg2LDcgKzEyODYsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX2NvbmZpZ19BVkkoc3RydWN0 IGR3X2hkbWkgKmhkbWksIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogCXU4IHZhbDsK IAogCS8qIEluaXRpYWxpc2UgaW5mbyBmcmFtZSBmcm9tIERSTSBtb2RlICovCi0JZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAK IAlpZiAoaGRtaV9idXNfZm10X2lzX3l1djQ0NChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9idXNf Zm9ybWF0KSkKIAkJZnJhbWUuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZWRpZC5jCmluZGV4IGZhZDNkNDQuLmY5ODJhNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC00MzI2 LDEyICs0MzI2LDE0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NldF9wcmVmZXJyZWRfbW9kZSk7CiAg KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIGZyb20g YSBEUk0gZGlzcGxheSBtb2RlCiAgKiBAZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQogICogQG1v ZGU6IERSTSBkaXNwbGF5IG1vZGUKKyAqIEBpc19oZG1pMjogU2luayBpcyBIRE1JIDIuMCBjb21w bGlhbnQKICAqCiAgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNv ZGUgb24gZmFpbHVyZS4KICAqLwogaW50CiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAotCQkJCQkgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCisJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSwKKwkJCQkJIGJvb2wgaXNfaGRtaTIpCiB7CiAJaW50IGVycjsKIApA QCAtNDM0Nyw2ICs0MzQ5LDE0IEBAIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCiAKIAlmcmFtZS0+dmlkZW9f Y29kZSA9IGRybV9tYXRjaF9jZWFfbW9kZShtb2RlKTsKIAorCS8qCisJICogSERNSSAxLjQgVklD IHJhbmdlOiAxIDw9IFZJQyA8PSA2NCAoQ0VBLTg2MS1EKSBidXQKKwkgKiBIRE1JIDIuMCBWSUMg cmFuZ2U6IDEgPD0gVklDIDw9IDEwNyAoQ0VBLTg2MS1GKS4gU28gd2UKKwkgKiBoYXZlIHRvIG1h a2Ugc3VyZSB3ZSBkb250IGJyZWFrIEhETUkgMS40IHNpbmtzLgorCSAqLworCWlmICghaXNfaGRt aTIgJiYgZnJhbWUtPnZpZGVvX2NvZGUgPiA2NCkKKwkJZnJhbWUtPnZpZGVvX2NvZGUgPSAwOwor CiAJZnJhbWUtPnBpY3R1cmVfYXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwogCiAJ LyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwppbmRleCA1MjQzODQwLi41Y2I0NGQ0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCkBAIC03ODEsNyArNzgxLDcgQEAg c3RhdGljIHZvaWQgaGRtaV9yZWdfaW5mb2ZyYW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0 YSkKIAl9CiAKIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcm0uYXZpLAotCQkJJmhkYXRhLT5jdXJyZW50X21vZGUpOworCQkJJmhkYXRhLT5jdXJyZW50 X21vZGUsIGZhbHNlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3Bh Y2soJmZybS5hdmksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwogCWlmIChyZXQgPiAwKSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTJjL3RkYTk5OHhfZHJ2LmMKaW5kZXggODZmNDdlMS4uZDFlN2FjNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMv dGRhOTk4eF9kcnYuYwpAQCAtNzEyLDcgKzcxMiw3IEBAIHRkYTk5OHhfd3JpdGVfYXZpKHN0cnVj dCB0ZGE5OTh4X3ByaXYgKnByaXYsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewog CXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCi0JZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlKTsKKwlkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKIAlmcmFtZS5h dmkucXVhbnRpemF0aW9uX3JhbmdlID0gSERNSV9RVUFOVElaQVRJT05fUkFOR0VfRlVMTDsKIAog CXRkYTk5OHhfd3JpdGVfaWYocHJpdiwgRElQX0lGX0ZMQUdTX0lGMiwgUkVHX0lGMl9IQjAsICZm cmFtZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggNmVmYzNjYi4uNzZkOWUwZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtNDU5LDExICs0NTksMTQgQEAgc3RhdGlj IHZvaWQgaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRt aShlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSA9CiAJCSZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7CisJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7 CisJYm9vbCBpc19oZG1pMiA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zdXBw b3J0ZWQ7CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CiAJaW50IHJldDsKIAogCXJldCA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKLQkJ CQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKKwkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlLAor CQkJCQkJICAgICAgIGlzX2hkbWkyKTsKIAlpZiAocmV0IDwgMCkgewogCQlEUk1fRVJST1IoImNv dWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nkdm8uYwppbmRleCA4MTZhNmY1Li42OTRmNjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jCkBAIC0xMDExLDcgKzEwMTEsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3NldF9h dmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAogCXNzaXplX3QgbGVu OwogCiAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUuYXZpLAotCQkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsK KwkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSwKKwkJCQkJCSAg ICAgICBmYWxzZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxs IEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCmluZGV4IDQxYTFjMDMuLmExNzcwZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCkBAIC05NzUsNyArOTc1LDcgQEAgc3RhdGljIGludCBtdGtfaGRtaV9zZXR1cF9h dmlfaW5mb2ZyYW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKIAl1OCBidWZmZXJbMTddOwogCXNz aXplX3QgZXJyOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2 X2VycihoZG1pLT5kZXYsCiAJCQkiRmFpbGVkIHRvIGdldCBBVkkgaW5mb2ZyYW1lIGZyb20gbW9k ZTogJXpkXG4iLCBlcnIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwppbmRl eCA4NmM5NzdiLi42MjRmNWI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9v bWFwX2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIu YwpAQCAtODUsNyArODUsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfbW9kZV9zZXQoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmIChoZG1pX21vZGUgJiYgZHNzZGV2LT5kcml2 ZXItPnNldF9oZG1pX2luZm9mcmFtZSkgewogCQlzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lIGF2 aTsKIAotCQlyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZp LCBhZGp1c3RlZF9tb2RlKTsKKwkJciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSwKKwkJCQkJCQkgICAgIGZhbHNlKTsKIAkJaWYg KHIgPT0gMCkKIAkJCWRzc2Rldi0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZvZnJhbWUoZHNzZGV2LCAm YXZpKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRp by5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwppbmRleCBhYWFjYWMx Li43NzBlMzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRp by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKQEAgLTUxNiw3 ICs1MTYsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19zZXRfYXZpX3BhY2tldChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKCFjb25uZWN0b3IpCiAJCXJldHVybiAtRUlOVkFM OwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7CiAJCXJldHVybiBlcnI7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKaW5kZXggN2Q5Yjc1ZS4uNzE0OTk2OCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwpAQCAtMjk0LDcgKzI5NCw3IEBAIHN0 YXRpYyBpbnQgaW5ub19oZG1pX2NvbmZpZ192aWRlb19hdmkoc3RydWN0IGlubm9faGRtaSAqaGRt aSwKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmM7CiAKLQlyYyA9IGRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7CisJ cmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmks IG1vZGUsIGZhbHNlKTsKIAogCWlmIChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9mb3JtYXQgPT0g SERNSV9DT0xPUlNQQUNFX1lVVjQ0NCkKIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NP TE9SU1BBQ0VfWVVWNDQ0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCmluZGV4IGNlMmRjYmEuLjIxMjhi OGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKQEAgLTQzNCw3ICs0MzQsNyBAQCBzdGF0aWMgaW50 IGhkbWlfYXZpX2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1pICpoZG1pKQogCiAJRFJN X0RFQlVHX0RSSVZFUigiXG4iKTsKIAotCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmluZm9mcmFtZSwgbW9kZSk7CisJcmV0ID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYg KHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTog JWRcbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dGVncmEvaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYwppbmRleCBjZGEwNDkx Li43MThkOGRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKQEAgLTczNCw3ICs3MzQsNyBAQCBzdGF0aWMg dm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0IHRlZ3JhX2hkbWkgKmhk bWksCiAJdTggYnVmZmVyWzE3XTsKIAlzc2l6ZV90IGVycjsKIAotCWVyciA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2Up OwogCWlmIChlcnIgPCAwKSB7CiAJCWRldl9lcnIoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIHNldHVw IEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCmlu ZGV4IGE4ZjUyODkuLmZiMjcwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9z b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKQEAgLTE5MDQsNyArMTkwNCw3 IEBAIHRlZ3JhX3Nvcl9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0IHRlZ3JhX3NvciAq c29yLAogCXZhbHVlICY9IH5JTkZPRlJBTUVfQ1RSTF9FTkFCTEU7CiAJdGVncmFfc29yX3dyaXRl bChzb3IsIHZhbHVlLCBTT1JfSERNSV9BVklfSU5GT0ZSQU1FX0NUUkwpOwogCi0JZXJyID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWVy ciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2Rl LCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0 byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKIAkJcmV0dXJuIGVycjsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2hkbWkuYwppbmRleCBlOWNiZTI2Li41ZDgxMzAxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRt aS5jCkBAIC0zOTQsNyArMzk0LDcgQEAgc3RhdGljIHZvaWQgdmM0X2hkbWlfc2V0X2F2aV9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCXVuaW9uIGhkbWlfaW5mb2ZyYW1l IGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwogCWlmIChy ZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsK IAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwppbmRleCAwZGY3MzY2Li43ZTgzNGUzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0venRlL3p4X2hkbWkuYwpAQCAtMTI0LDcgKzEyNCw3IEBAIHN0YXRpYyBpbnQgenhfaGRtaV9j b25maWdfdmlkZW9fYXZpKHN0cnVjdCB6eF9oZG1pICpoZG1pLAogCXVuaW9uIGhkbWlfaW5mb2Zy YW1lIGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJldCA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwogCWlm IChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihoZG1pLT5kZXYsICJmYWlsZWQgdG8gZ2V0IGF2aSBp bmZvZnJhbWU6ICVkXG4iLAogCQkJICAgICAgcmV0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCmluZGV4IDdiOWY0OGIuLmMwN2Vi ODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKKysrIGIvaW5jbHVkZS9kcm0v ZHJtX2VkaWQuaApAQCAtMzQzLDcgKzM0Myw4IEBAIGRybV9sb2FkX2VkaWRfZmlybXdhcmUoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogaW50CiBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAot CQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOworCQkJCQkgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkJCSBib29sIGlzX2hkbWkyKTsKIGlu dAogZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRt aV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK