From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [MIPI SEQ PARSING v3 07/13] drm/i915: Added support the v3 mipi sequence block Date: Tue, 1 Dec 2015 04:17:10 +0530 Message-ID: <1448923632-16760-8-git-send-email-m.deepak@intel.com> References: <1448923632-16760-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 0EF8F6E5B3 for ; Mon, 30 Nov 2015 09:13:26 -0800 (PST) In-Reply-To: <1448923632-16760-1-git-send-email-m.deepak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula , Deepak M List-Id: intel-gfx@lists.freedesktop.org RnJvbTogdmtvcmphbmkgPHZpa2FzLmtvcmphbmlAaW50ZWwuY29tPgoKVGhlIEJsb2NrIDUzIG9m IHRoZSBWQlQsIHdoaWNoIGlzIHRoZSBNSVBJIHNlcXVlbmNlIGJsb2NrCmhhcyB1bmRlcmdvbmUg YSBkZXNpZ24gY2hhbmdlIGJlY2F1c2Ugb2Ygd2hpY2ggdGhlIHBhcnNpbmcKbG9naWMgaGFzIHRv IGJlIGNoYW5nZWQuCgpUaGUgY3VycmVudCBjb2RlIHdpbGwgaGFuZGxlIHRoZSBwYXJzaW5nIG9m IHYzIGFuZCBvdGhlcgpsb3dlciB2ZXJzaW9ucyBvZiB0aGUgTUlQSSBzZXF1ZW5jZSBibG9jay4K CnYyOiByZWJhc2UKdjM6IG1pbm9yIGNvbW1lbnRzIGZpeGVkLgoKQ2M6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IHZrb3JqYW5pIDx2aWthcy5rb3Jq YW5pQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNv bT4KLS0tCgpBZGRyZXNzZWQgbW9zdCBvZiB0aGUgbWlub3IgY29tbWVudHMgaW4gdGhpcyB2ZXJz aW9uLApleGNlcHQgdGhlIG9uZSB3aGVyZSBKYW5pIGhhZCBzdWdnZXN0ZWQgdG8gY2hhbmdlIHRo ZQpsb2dpYyBpbiB0aGUgZ290b19uZXh0X3NlcXVlbmNlKCksIFRob3VnaHQgb2YgaGFuZGxpbmcK dGhpcyBhcyBhIG5ldyBwYXRjaCBhZnRlciB0aGlzIHNlcmllcy4KCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvYXJjaGl2ZXMvaW50ZWwtZ2Z4LzIwMTUtU2VwdGVtYmVyLzA3NjI3My5odG1s CgogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jICAgICAgICAgIHwgMTI1ICsrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9z LmggICAgICAgICAgfCAgIDkgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFu ZWxfdmJ0LmMgfCAgIDcgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMoKyksIDIx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jp b3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwppbmRleCA5OGIwZTJhLi41 Y2ZiODYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCkBAIC03NDUsNiArNzQ1LDcyIEBA IHN0YXRpYyB1OCAqZ290b19uZXh0X3NlcXVlbmNlKHU4ICpkYXRhLCBpbnQgKnNpemUpCiAJcmV0 dXJuIGRhdGE7CiB9CiAKKworLyoKKyAqCVN0cnVjdHVyZSBvZiBzaW5nbGUgc2VxdWVuY2UgaW4g djMgdmVyc2lvbi4KKyAqCSBfX19fX19fX19fXyBfX19fX19fX18gX19fX19fX19fXyBfX19fX19f XyBfX19fX19fXyAJX19fX19fX19fCisgKgl8CSAgICB8ICAgICAgICAgfCBGaXJzdCAgICB8U2l6 ZSBvZiB8UGF5bG9hZCB8CXxFbmQgb2YgfAorICoJfCBTZXF1ZW5jZSAgfCBTaXplIG9mIHwgT3By ZWF0aW9ufEZpcnN0IE9wfEZpcnN0IE9wfAl8Q3VycmVudHwKKyAqCXwgYnl0ZQkgICAgfCBTZXF1 ZW5jZXwJYnl0ZSAgICAgfGJ5dGUgICAgfGJ5dGUgICAgfAl8U2VxKDAwKXwKKyAqCXxfX19fX19f X19fX3xfX19fX19fX198X19fX19fX19fX3xfX19fX19fX3xfX19fX19fX3wgLi4ufF9fX19fX198 CisgKgl8ICAxIGJ5dGUgICB8IDQgQnl0ZXMgfCAxIGJ5dGUgICB8MSBieXRlcyB8IFkgYnl0ZSB8 CXwxIGJ5dGUJfAorICoJfAkgICAgfAkoWCkgICB8CQkgfCAgKFkpICAgfAkgICB8CXwJfAorICoJ fF9fX19fX19fX19ffF9fX19fX19fX3xfX19fX19fX19ffF9fX19fX19ffF9fX19fX19ffCAgICB8 X19fX19fX3wKKyAqCisgKgkJCQkJIAkgIHw8LS1ZLS0tPnwKKyAqCQkJICAgICAgfDwtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLVgtLS0tLS0tLS0tLS0tLS0+fAorICovCisKK3N0YXRpYyB1OCAqZ290 b19uZXh0X3NlcXVlbmNlX3YzKHU4ICpkYXRhLCBpbnQgKnNpemUpCit7CisJaW50IHRtcCA9ICpz aXplOworCWludCBvcF9zaXplOworCisJaWYgKC0tdG1wIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisK KwkvKiBTa2lwIHRoZSBwYW5lbCBpZCBhbmQgdGhlIHNlcXVlbmNlIGJ5dGUgKi8KKwlkYXRhID0g ZGF0YSArIDU7CisJdG1wID0gdG1wIC0gNTsKKwl3aGlsZSAoKmRhdGEgIT0gMCkgeworCQl1OCBv cGVyYXRpb25fdHlwZSA9ICpkYXRhKys7CisKKwkJc3dpdGNoIChvcGVyYXRpb25fdHlwZSkgewor CQlkZWZhdWx0OgorCQkJRFJNX0VSUk9SKCJVbmtub3duIG9wZXJhdGlvbiB0eXBlICVkXG4iLCBv cGVyYXRpb25fdHlwZSk7CisJCWNhc2UgTUlQSV9TRVFfRUxFTV9TRU5EX1BLVDoKKwkJY2FzZSBN SVBJX1NFUV9FTEVNX0RFTEFZOgorCQljYXNlIE1JUElfU0VRX0VMRU1fR1BJTzoKKwkJY2FzZSBN SVBJX1NFUV9FTEVNX0kyQzoKKwkJY2FzZSBNSVBJX1NFUV9FTEVNX1NQSToKKwkJY2FzZSBNSVBJ X1NFUV9FTEVNX1BNSUM6CisJCQkvKgorCQkJICogc2tpcCBieSB0aGlzIGVsZW1lbnQgcGF5bG9h ZCBzaXplCisJCQkgKiBza2lwIGVsZW0gaWQsIGNvbW1hbmQgZmxhZyBhbmQgZGF0YSB0eXBlCisJ CQkgKi8KKwkJCW9wX3NpemUgPSAqZGF0YSsrOworCQkJdG1wID0gdG1wIC0gKG9wX3NpemUgKyAx KTsKKwkJCWlmICh0bXAgPCAwKQorCQkJCXJldHVybiBOVUxMOworCisJCQkvKiBza2lwIGJ5IGxl biAqLworCQkJZGF0YSArPSBvcF9zaXplOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwkvKiBnb3Rv IG5leHQgc2VxdWVuY2Ugb3IgZW5kIG9mIGJsb2NrIGJ5dGUgKi8KKwlpZiAoLS10bXAgPCAwKQor CQlyZXR1cm4gTlVMTDsKKworCS8qIFNraXAgdGhlIGVuZCBlbGVtZW50IG1hcmtlciAqLworCWRh dGErKzsKKworCS8qIHVwZGF0ZSBhbW91bnQgb2YgZGF0YSBsZWZ0IGZvciB0aGUgc2VxdWVuY2Ug YmxvY2sgdG8gYmUgcGFyc2VkICovCisJKnNpemUgPSB0bXA7CisJcmV0dXJuIGRhdGE7Cit9CisK IHN0YXRpYyB2b2lkCiBwYXJzZV9taXBpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIHsKQEAgLTc1NCw4ICs4MjAsOCBAQCBw YXJzZV9taXBpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3Qgc3RydWN0 IGJkYl9oZWFkZXIgKmJkYikKIAljb25zdCBzdHJ1Y3QgbWlwaV9wcHNfZGF0YSAqcHBzOwogCXU4 ICpkYXRhOwogCWNvbnN0IHU4ICpzZXFfZGF0YTsKLQlpbnQgaSwgcGFuZWxfaWQsIHNlcV9zaXpl OwotCXUxNiBibG9ja19zaXplOworCWludCBpLCBwYW5lbF9pZCwgcGFuZWxfc2VxX3NpemU7CisJ dTMyIGJsb2NrX3NpemU7CiAKIAkvKiBwYXJzZSBNSVBJIGJsb2NrcyBvbmx5IGlmIExGUCB0eXBl IGlzIE1JUEkgKi8KIAlpZiAoIWRldl9wcml2LT52YnQuaGFzX21pcGkpCkBAIC04MTcsMjkgKzg4 Myw0MCBAQCBwYXJzZV9taXBpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgY29u c3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKIAogCURSTV9ERUJVR19EUklWRVIoIkZvdW5kIE1J UEkgc2VxdWVuY2UgYmxvY2tcbiIpOwogCi0JYmxvY2tfc2l6ZSA9IGdldF9ibG9ja3NpemUoc2Vx dWVuY2UpOwotCiAJLyoKIAkgKiBwYXJzZSB0aGUgc2VxdWVuY2UgYmxvY2sgZm9yIGluZGl2aWR1 YWwgc2VxdWVuY2VzCiAJICovCiAJZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPSBzZXF1 ZW5jZS0+dmVyc2lvbjsKIAogCXNlcV9kYXRhID0gJnNlcXVlbmNlLT5kYXRhWzBdOworCWlmIChk ZXZfcHJpdi0+dmJ0LmRzaS5zZXFfdmVyc2lvbiA+PSAzKSB7CisJCWJsb2NrX3NpemUgPSAqKCh1 bnNpZ25lZCBpbnQgKilzZXFfZGF0YSk7CisJCXNlcV9kYXRhID0gc2VxX2RhdGEgKyA0OworCX0g ZWxzZQorCQlibG9ja19zaXplID0gZ2V0X2Jsb2Nrc2l6ZShzZXF1ZW5jZSk7CiAKIAkvKgogCSAq IHNlcXVlbmNlIGJsb2NrIGlzIHZhcmlhYmxlIGxlbmd0aCBhbmQgaGVuY2Ugd2UgbmVlZCB0byBw YXJzZSBhbmQKIAkgKiBnZXQgdGhlIHNlcXVlbmNlIGRhdGEgZm9yIHNwZWNpZmljIHBhbmVsIGlk CiAJICovCiAJZm9yIChpID0gMDsgaSA8IE1BWF9NSVBJX0NPTkZJR1VSQVRJT05TOyBpKyspIHsK LQkJcGFuZWxfaWQgPSAqc2VxX2RhdGE7Ci0JCXNlcV9zaXplID0gKigodTE2ICopIChzZXFfZGF0 YSArIDEpKTsKKwkJcGFuZWxfaWQgPSAqc2VxX2RhdGErKzsKKwkJaWYgKGRldl9wcml2LT52YnQu ZHNpLnNlcV92ZXJzaW9uID49IDMpIHsKKwkJCXBhbmVsX3NlcV9zaXplID0gKigodTMyICopc2Vx X2RhdGEpOworCQkJc2VxX2RhdGEgKz0gc2l6ZW9mKHUzMik7CisJCX0gZWxzZSB7CisJCQlwYW5l bF9zZXFfc2l6ZSA9ICooKHUxNiAqKXNlcV9kYXRhKTsKKwkJCXNlcV9kYXRhICs9IHNpemVvZih1 MTYpOworCQl9CisKIAkJaWYgKHBhbmVsX2lkID09IHBhbmVsX3R5cGUpCiAJCQlicmVhazsKIAot CQkvKiBza2lwIHRoZSBzZXF1ZW5jZSBpbmNsdWRpbmcgc2VxIGhlYWRlciBvZiAzIGJ5dGVzICov Ci0JCXNlcV9kYXRhID0gc2VxX2RhdGEgKyAzICsgc2VxX3NpemU7CisJCXNlcV9kYXRhICs9IHBh bmVsX3NlcV9zaXplOworCiAJCWlmICgoc2VxX2RhdGEgLSAmc2VxdWVuY2UtPmRhdGFbMF0pID4g YmxvY2tfc2l6ZSkgewotCQkJRFJNX0VSUk9SKCJTZXF1ZW5jZSBzdGFydCBpcyBiZXlvbmQgc2Vx dWVuY2UgYmxvY2sgc2l6ZSwgY29ycnVwdGVkIHNlcXVlbmNlIGJsb2NrXG4iKTsKKwkJCURSTV9F UlJPUigiU2VxdWVuY2Ugc3RhcnQgaXMgYmV5b25kIHNlcSBibG9jayBzaXplIFwKKwkJCQkJY29y cnVwdGVkIHNlcXVlbmNlIGJsb2NrXG4iKTsKIAkJCXJldHVybjsKIAkJfQogCX0KQEAgLTg1MSwx MyArOTI4LDE0IEBAIHBhcnNlX21pcGkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogCiAJLyogY2hlY2sgaWYgZm91bmQgc2Vx dWVuY2UgaXMgY29tcGxldGVseSB3aXRoaW4gdGhlIHNlcXVlbmNlIGJsb2NrCiAJICoganVzdCBi ZWluZyBwYXJhbm9pZCAqLwotCWlmIChzZXFfc2l6ZSA+IGJsb2NrX3NpemUpIHsKKwlpZiAocGFu ZWxfc2VxX3NpemUgPiBibG9ja19zaXplKSB7CiAJCURSTV9FUlJPUigiQ29ycnVwdGVkIHNlcXVl bmNlL3NpemUsIGJhaWxpbmcgb3V0XG4iKTsKIAkJcmV0dXJuOwogCX0KIAotCS8qIHNraXAgdGhl IHBhbmVsIGlkKDEgYnl0ZSkgYW5kIHNlcSBzaXplKDIgYnl0ZXMpICovCi0JZGV2X3ByaXYtPnZi dC5kc2kuZGF0YSA9IGttZW1kdXAoc2VxX2RhdGEgKyAzLCBzZXFfc2l6ZSwgR0ZQX0tFUk5FTCk7 CisKKwlkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhID0ga21lbWR1cChzZXFfZGF0YSwgcGFuZWxfc2Vx X3NpemUsIEdGUF9LRVJORUwpOworCiAJaWYgKCFkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhKQogCQly ZXR1cm47CiAKQEAgLTg2NiwyOSArOTQ0LDM2IEBAIHBhcnNlX21pcGkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogCSAqIFRo ZXJlIGFyZSBvbmx5IDUgdHlwZXMgb2Ygc2VxdWVuY2VzIGFzIG9mIG5vdwogCSAqLwogCWRhdGEg PSBkZXZfcHJpdi0+dmJ0LmRzaS5kYXRhOwotCWRldl9wcml2LT52YnQuZHNpLnNpemUgPSBzZXFf c2l6ZTsKKwlkZXZfcHJpdi0+dmJ0LmRzaS5zaXplID0gcGFuZWxfc2VxX3NpemU7CiAKIAkvKiB0 d28gY29uc2VjdXRpdmUgMHgwMCBpbmRpY2F0ZSBlbmQgb2YgYWxsIHNlcXVlbmNlcyAqLwotCXdo aWxlICgxKSB7CisJd2hpbGUgKCpkYXRhICE9IDApIHsKIAkJaW50IHNlcV9pZCA9ICpkYXRhOwor CQlpbnQgc2VxX3NpemU7CisKIAkJaWYgKE1JUElfU0VRX01BWCA+IHNlcV9pZCAmJiBzZXFfaWQg PiBNSVBJX1NFUV9VTkRFRklORUQpIHsKIAkJCWRldl9wcml2LT52YnQuZHNpLnNlcXVlbmNlW3Nl cV9pZF0gPSBkYXRhOwogCQkJRFJNX0RFQlVHX0RSSVZFUigiRm91bmQgbWlwaSBzZXF1ZW5jZSAt ICVkXG4iLCBzZXFfaWQpOwogCQl9IGVsc2UgewotCQkJRFJNX0VSUk9SKCJ1bmRlZmluZWQgc2Vx dWVuY2VcbiIpOwotCQkJZ290byBlcnI7CisJCQlEUk1fRVJST1IoInVuZGVmaW5lZCBzZXF1ZW5j ZSAtICVkXG4iLCBzZXFfaWQpOworCQkJc2VxX3NpemUgPSAqKGRhdGEgKyAxKTsKKwkJCWlmIChk ZXZfcHJpdi0+dmJ0LmRzaS5zZXFfdmVyc2lvbiA+PSAzKSB7CisJCQkJZGF0YSA9IGRhdGEgKyBz ZXFfc2l6ZSArIDE7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UKKwkJCQlnb3RvIGVycjsKIAkJ fQogCiAJCS8qIHBhcnRpYWwgcGFyc2luZyB0byBza2lwIGVsZW1lbnRzICovCi0JCWRhdGEgPSBn b3RvX25leHRfc2VxdWVuY2UoZGF0YSwgJnNlcV9zaXplKTsKKwkJaWYgKGRldl9wcml2LT52YnQu ZHNpLnNlcV92ZXJzaW9uID49IDMpCisJCQlkYXRhID0gZ290b19uZXh0X3NlcXVlbmNlX3YzKGRh dGEsICZwYW5lbF9zZXFfc2l6ZSk7CisJCWVsc2UKKwkJCWRhdGEgPSBnb3RvX25leHRfc2VxdWVu Y2UoZGF0YSwgJnBhbmVsX3NlcV9zaXplKTsKIAogCQlpZiAoZGF0YSA9PSBOVUxMKSB7CiAJCQlE Uk1fRVJST1IoIlNlcXVlbmNlIGVsZW1lbnRzIGdvaW5nIGJleW9uZCBibG9jayBpdHNlbGYuIFNl cXVlbmNlIGJsb2NrIHBhcnNpbmcgZmFpbGVkXG4iKTsKIAkJCWdvdG8gZXJyOwogCQl9Ci0KLQkJ aWYgKCpkYXRhID09IDApCi0JCQlicmVhazsgLyogZW5kIG9mIHNlcXVlbmNlIHJlYWNoZWQgKi8K IAl9CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJNSVBJIHJlbGF0ZWQgdmJ0IHBhcnNpbmcgY29tcGxl dGVcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5oCmluZGV4IDRlYzczZjUuLjI0MjIyMjEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9iaW9zLmgKQEAgLTk0Niw2ICs5NDYsMTIgQEAgZW51bSBt aXBpX3NlcSB7CiAJTUlQSV9TRVFfRElTUExBWV9PTiwKIAlNSVBJX1NFUV9ESVNQTEFZX09GRiwK IAlNSVBJX1NFUV9ERUFTU0VSVF9SRVNFVCwKKwlNSVBJX1NFUV9CQUNLTElHSFRfT04sCisJTUlQ SV9TRVFfQkFDS0xJR0hUX09GRiwKKwlNSVBJX1NFUV9URUFSX09OLAorCU1JUElfU0VRX1RFQVJf T0ZGLAorCU1JUElfU0VRX1BPV0VSX09OLAorCU1JUElfU0VRX1BPV0VSX09GRiwKIAlNSVBJX1NF UV9NQVgKIH07CiAKQEAgLTk1NSw3ICs5NjEsOCBAQCBlbnVtIG1pcGlfc2VxX2VsZW1lbnQgewog CU1JUElfU0VRX0VMRU1fREVMQVksCiAJTUlQSV9TRVFfRUxFTV9HUElPLAogCU1JUElfU0VRX0VM RU1fSTJDLAotCU1JUElfU0VRX0VMRU1fU1RBVFVTLAorCU1JUElfU0VRX0VMRU1fU1BJLAorCU1J UElfU0VRX0VMRU1fUE1JQywKIAlNSVBJX1NFUV9FTEVNX01BWAogfTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCmluZGV4IDkyZDYxOWEuLmViMDY5N2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKQEAgLTMxNiw2ICsz MTYsOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlcV9uYW1lW10gPSB7CiAKIHN0YXRp YyB2b2lkIGdlbmVyaWNfZXhlY19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ks IGNvbnN0IHU4ICpkYXRhKQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kc2kt PmJhc2UuYmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKIAlmbl9taXBpX2VsZW1fZXhlYyBtaXBpX2VsZW1fZXhlYzsKIAlpbnQg aW5kZXg7CiAKQEAgLTMyNiw2ICszMjgsOCBAQCBzdGF0aWMgdm9pZCBnZW5lcmljX2V4ZWNfc2Vx dWVuY2Uoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKIAogCS8q IGdvIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBzZXF1ZW5jZSAqLwogCWRhdGErKzsKKwlp ZiAoZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPj0gMykKKwkJZGF0YSA9IGRhdGEgKyA0 OwogCiAJLyogcGFyc2UgZWFjaCBieXRlIHRpbGwgd2UgcmVhY2ggZW5kIG9mIHNlcXVlbmNlIGJ5 dGUgLSAweDAwICovCiAJd2hpbGUgKDEpIHsKQEAgLTMzOSw2ICszNDMsOSBAQCBzdGF0aWMgdm9p ZCBnZW5lcmljX2V4ZWNfc2VxdWVuY2Uoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25z dCB1OCAqZGF0YSkKIAkJLyogZ290byBlbGVtZW50IHBheWxvYWQgKi8KIAkJZGF0YSsrOwogCisJ CWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5zZXFfdmVyc2lvbiA+PSAzKQorCQkJZGF0YSsrOworCiAJ CS8qIGV4ZWN1dGUgdGhlIGVsZW1lbnQgc3BlY2lmaWMgcm90aW5lcyAqLwogCQlkYXRhID0gbWlw aV9lbGVtX2V4ZWMoaW50ZWxfZHNpLCBkYXRhKTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==