From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH CI v3 1/6] drm/i915: Merge the PPS register definitions Date: Wed, 10 Aug 2016 14:07:29 +0300 Message-ID: <1470827254-21954-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6BBE46E72A for ; Wed, 10 Aug 2016 11:07:38 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org VGhlIFBQUyByZWdpc3RlcnMgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGV2ZXJ5d2hlcmUsIHRo ZSBkaWZmZXJlbmNlcwpiZWluZzoKLSBSZWdpc3RlciBmaWVsZHMgYXBwZWFyaW5nLCBkaXNhcHBl YXJpbmcgZnJvbSBvbmUgcGxhdGZvcm0gdG8gdGhlCiAgbmV4dDogcGFuZWwtcmVzZXQtb24tcG93 ZXJkb3duLCBiYWNrbGlnaHQtb24sIHBhbmVsLXBvcnQsCiAgcmVnaXN0ZXItdW5sb2NrCi0gRGlm ZmVyZW50IHJlZ2lzdGVyIGJhc2UgYWRkcmVzc2VzCi0gRGlmZmVyZW50IG51bWJlciBvZiBQUFMg aW5zdGFuY2VzOiAyIG9uIFZMVi9DSFYvQlhULCAxIGV2ZXJ5d2hlcmUKICBlbHNlLgoKV2UgY2Fu IG1lcmdlIHRoZSBzZXBhcmF0ZSBzZXQgb2YgUFBTIGRlZmluaXRpb25zIGJ5IGV4dGVuZGluZyB0 aGUgUFBTCmluc3RhbmNlIGFyZ3VtZW50IHRvIGFsbCBwbGF0Zm9ybXMgYW5kIHVzaW5nIGluc3Rh bmNlIDAgb24gcGxhdGZvcm1zCndpdGggYSBzaW5nbGUgaW5zdGFuY2UuIFRoaXMgbWVhbnMgd2Un bGwgbmVlZCB0byBjYWxjdWxhdGUgdGhlIHJlZ2lzdGVyCmFkZHJlc3NlcyBkeW5hbWljYWxseSBi YXNlZCBvbiB0aGUgZ2l2ZW4gcGxhdGZvcm0gYW5kIFBQUyBpbnN0YW5jZS4KCnYyOgotIFNpbXBs aWZ5IGlmIGxhZGRlciBpbiBpbnRlbF9wcHNfZ2V0X3JlZ2lzdGVycygpLiAoVmlsbGUpCgpTaWdu ZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oICAgICAgfCAxNDUgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jICB8ICAzMCArKystLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDIyICsrKystLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgIDQ1ICsrKysrLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAgNDMgKysrLS0tLS0tLS0KIDYgZmls ZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDE3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAppbmRleCAyY2I5MWZmLi4wZmZhYjI5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKQEAgLTE3NDksNiArMTc0OSw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAog CXVpbnQzMl90IHBzcl9tbWlvX2Jhc2U7CiAKKwl1aW50MzJfdCBwcHNfbW1pb19iYXNlOworCiAJ d2FpdF9xdWV1ZV9oZWFkX3QgZ21idXNfd2FpdF9xdWV1ZTsKIAogCXN0cnVjdCBwY2lfZGV2ICpi cmlkZ2VfZGV2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggZjM4YTVlMi4uYjY1ZmU1MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0zNjYwLDggKzM2NjAsMTcgQEAgZW51bSB7CiAj ZGVmaW5lICAgVklERU9fRElQX0VOQUJMRV9TUERfSFNXCSgxIDw8IDApCiAKIC8qIFBhbmVsIHBv d2VyIHNlcXVlbmNpbmcgKi8KLSNkZWZpbmUgUFBfU1RBVFVTCV9NTUlPKDB4NjEyMDApCi0jZGVm aW5lICAgUFBfT04JCSgxIDw8IDMxKQorI2RlZmluZSBQUFNfQkFTRQkJCTB4NjEyMDAKKyNkZWZp bmUgVkxWX1BQU19CQVNFCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyBQUFNfQkFTRSkKKyNkZWZpbmUg UENIX1BQU19CQVNFCQkJMHhDNzIwMAorCisjZGVmaW5lIF9NTUlPX1BQUyhwcHNfaWR4LCByZWcp CQlfTU1JTyhkZXZfcHJpdi0+cHBzX21taW9fYmFzZSAtCVwKKwkJCQkJICAgICAgUFBTX0JBU0Ug KyAocmVnKSArCVwKKwkJCQkJICAgICAgKHBwc19pZHgpICogMHgxMDApCisKKyNkZWZpbmUgX1BQ X1NUQVRVUwkJCTB4NjEyMDAKKyNkZWZpbmUgUFBfU1RBVFVTKHBwc19pZHgpCQlfTU1JT19QUFMo cHBzX2lkeCwgX1BQX1NUQVRVUykKKyNkZWZpbmUgICBQUF9PTgkJCQkoMSA8PCAzMSkKIC8qCiAg KiBJbmRpY2F0ZXMgdGhhdCBhbGwgZGVwZW5kZW5jaWVzIG9mIHRoZSBwYW5lbCBhcmUgb246CiAg KgpAQCAtMzY2OSwxNCArMzY3OCwxNCBAQCBlbnVtIHsKICAqIC0gcGlwZSBlbmFibGVkCiAgKiAt IExWRFMvRFZPQi9EVk9DIG9uCiAgKi8KLSNkZWZpbmUgICBQUF9SRUFEWQkJKDEgPDwgMzApCi0j ZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQkoMCA8PCAyOCkKLSNkZWZpbmUgICBQUF9TRVFVRU5D RV9QT1dFUl9VUAkoMSA8PCAyOCkKLSNkZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9ET1dOICgy IDw8IDI4KQotI2RlZmluZSAgIFBQX1NFUVVFTkNFX01BU0sJKDMgPDwgMjgpCi0jZGVmaW5lICAg UFBfU0VRVUVOQ0VfU0hJRlQJMjgKLSNkZWZpbmUgICBQUF9DWUNMRV9ERUxBWV9BQ1RJVkUJKDEg PDwgMjcpCi0jZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RBVEVfTUFTSyAweDAwMDAwMDBmCisjZGVm aW5lICAgUFBfUkVBRFkJCQkoMSA8PCAzMCkKKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9OT05FCQko MCA8PCAyOCkKKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9VUAkJKDEgPDwgMjgpCisjZGVm aW5lICAgUFBfU0VRVUVOQ0VfUE9XRVJfRE9XTgkoMiA8PCAyOCkKKyNkZWZpbmUgICBQUF9TRVFV RU5DRV9NQVNLCQkoMyA8PCAyOCkKKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAkJMjgKKyNk ZWZpbmUgICBQUF9DWUNMRV9ERUxBWV9BQ1RJVkUJCSgxIDw8IDI3KQorI2RlZmluZSAgIFBQX1NF UVVFTkNFX1NUQVRFX01BU0sJMHgwMDAwMDAwZgogI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRF X09GRl9JRExFCSgweDAgPDwgMCkKICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9PRkZfUzBf MQkoMHgxIDw8IDApCiAjZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RBVEVfT0ZGX1MwXzIJKDB4MiA8 PCAwKQpAQCAtMzY4NiwxMSArMzY5NSw0NiBAQCBlbnVtIHsKICNkZWZpbmUgICBQUF9TRVFVRU5D RV9TVEFURV9PTl9TMV8yCSgweGEgPDwgMCkKICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9P Tl9TMV8zCSgweGIgPDwgMCkKICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9SRVNFVAkoMHhm IDw8IDApCi0jZGVmaW5lIFBQX0NPTlRST0wJX01NSU8oMHg2MTIwNCkKLSNkZWZpbmUgICBQT1dF Ul9UQVJHRVRfT04JKDEgPDwgMCkKLSNkZWZpbmUgUFBfT05fREVMQVlTCV9NTUlPKDB4NjEyMDgp Ci0jZGVmaW5lIFBQX09GRl9ERUxBWVMJX01NSU8oMHg2MTIwYykKLSNkZWZpbmUgUFBfRElWSVNP UglfTU1JTygweDYxMjEwKQorCisjZGVmaW5lIF9QUF9DT05UUk9MCQkJMHg2MTIwNAorI2RlZmlu ZSBQUF9DT05UUk9MKHBwc19pZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX0NPTlRST0wpCisj ZGVmaW5lICBQQU5FTF9VTkxPQ0tfUkVHUwkJKDB4YWJjZCA8PCAxNikKKyNkZWZpbmUgIFBBTkVM X1VOTE9DS19NQVNLCQkoMHhmZmZmIDw8IDE2KQorI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RF TEFZX01BU0sJMHgxZjAKKyNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAk0Cisj ZGVmaW5lICBFRFBfRk9SQ0VfVkRECQkJKDEgPDwgMykKKyNkZWZpbmUgIEVEUF9CTENfRU5BQkxF CQkJKDEgPDwgMikKKyNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VUCQkoMSA8PCAxKQorI2RlZmlu ZSAgUEFORUxfUE9XRVJfT0ZGCQkoMCA8PCAwKQorI2RlZmluZSAgUEFORUxfUE9XRVJfT04JCQko MSA8PCAwKQorI2RlZmluZSAgUE9XRVJfVEFSR0VUX09OCQkoMSA8PCAwKQorCisjZGVmaW5lIF9Q UF9PTl9ERUxBWVMJCQkweDYxMjA4CisjZGVmaW5lIFBQX09OX0RFTEFZUyhwcHNfaWR4KQkJX01N SU9fUFBTKHBwc19pZHgsIF9QUF9PTl9ERUxBWVMpCisjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVD VF9NQVNLCQkoMyA8PCAzMCkKKyNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX0xWRFMJCSgwIDw8 IDMwKQorI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBBCQkoMSA8PCAzMCkKKyNkZWZpbmUg IFBBTkVMX1BPUlRfU0VMRUNUX0RQQwkJKDIgPDwgMzApCisjZGVmaW5lICBQQU5FTF9QT1JUX1NF TEVDVF9EUEQJCSgzIDw8IDMwKQorI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQp CSgocG9ydCkgPDwgMzApCisjZGVmaW5lICBQQU5FTF9QT1dFUl9VUF9ERUxBWV9NQVNLCTB4MWZm ZjAwMDAKKyNkZWZpbmUgIFBBTkVMX1BPV0VSX1VQX0RFTEFZX1NISUZUCTE2CisjZGVmaW5lICBQ QU5FTF9MSUdIVF9PTl9ERUxBWV9NQVNLCTB4MWZmZgorI2RlZmluZSAgUEFORUxfTElHSFRfT05f REVMQVlfU0hJRlQJMAorCisjZGVmaW5lIF9QUF9PRkZfREVMQVlTCQkJMHg2MTIwQworI2RlZmlu ZSBQUF9PRkZfREVMQVlTKHBwc19pZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX09GRl9ERUxB WVMpCisjZGVmaW5lICBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0sJMHgxZmZmMDAwMAorI2Rl ZmluZSAgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVAkxNgorI2RlZmluZSAgUEFORUxfTElH SFRfT0ZGX0RFTEFZX01BU0sJMHgxZmZmCisjZGVmaW5lICBQQU5FTF9MSUdIVF9PRkZfREVMQVlf U0hJRlQJMAorCisjZGVmaW5lIF9QUF9ESVZJU09SCQkJMHg2MTIxMAorI2RlZmluZSBQUF9ESVZJ U09SKHBwc19pZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX0RJVklTT1IpCisjZGVmaW5lICBQ UF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCTB4ZmZmZmZmMDAKKyNkZWZpbmUgIFBQX1JFRkVSRU5D RV9ESVZJREVSX1NISUZUCTgKKyNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJ MHgxZgorI2RlZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQJMAogCiAvKiBQYW5l bCBmaXR0aW5nICovCiAjZGVmaW5lIFBGSVRfQ09OVFJPTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5k aXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTIzMCkKQEAgLTY3NTAsNzcgKzY3OTQsNiBAQCBlbnVt IHsKICNkZWZpbmUgUENIX0xWRFMJX01NSU8oMHhlMTE4MCkKICNkZWZpbmUgIExWRFNfREVURUNU RUQJKDEgPDwgMSkKIAotLyogdmx2IGhhcyAyIHNldHMgb2YgcGFuZWwgY29udHJvbCByZWdzLiAq LwotI2RlZmluZSBfUElQRUFfUFBfU1RBVFVTICAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAw eDYxMjAwKQotI2RlZmluZSBfUElQRUFfUFBfQ09OVFJPTCAgICAgICAgKFZMVl9ESVNQTEFZX0JB U0UgKyAweDYxMjA0KQotI2RlZmluZSBfUElQRUFfUFBfT05fREVMQVlTICAgICAgKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDYxMjA4KQotI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQp CSgocG9ydCkgPDwgMzApCi0jZGVmaW5lIF9QSVBFQV9QUF9PRkZfREVMQVlTICAgICAoVkxWX0RJ U1BMQVlfQkFTRSArIDB4NjEyMGMpCi0jZGVmaW5lIF9QSVBFQV9QUF9ESVZJU09SICAgICAgICAo VkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMTApCi0KLSNkZWZpbmUgX1BJUEVCX1BQX1NUQVRVUyAg ICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwMCkKLSNkZWZpbmUgX1BJUEVCX1BQX0NP TlRST0wgICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwNCkKLSNkZWZpbmUgX1BJUEVC X1BQX09OX0RFTEFZUyAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwOCkKLSNkZWZpbmUg X1BJUEVCX1BQX09GRl9ERUxBWVMgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwYykKLSNk ZWZpbmUgX1BJUEVCX1BQX0RJVklTT1IgICAgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMx MCkKLQotI2RlZmluZSBWTFZfUElQRV9QUF9TVEFUVVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBf UElQRUFfUFBfU1RBVFVTLCBfUElQRUJfUFBfU1RBVFVTKQotI2RlZmluZSBWTFZfUElQRV9QUF9D T05UUk9MKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BJUEVBX1BQX0NPTlRST0wsIF9QSVBFQl9Q UF9DT05UUk9MKQotI2RlZmluZSBWTFZfUElQRV9QUF9PTl9ERUxBWVMocGlwZSkJX01NSU9fUElQ RShwaXBlLCBfUElQRUFfUFBfT05fREVMQVlTLCBfUElQRUJfUFBfT05fREVMQVlTKQotI2RlZmlu ZSBWTFZfUElQRV9QUF9PRkZfREVMQVlTKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BJUEVBX1BQ X09GRl9ERUxBWVMsIF9QSVBFQl9QUF9PRkZfREVMQVlTKQotI2RlZmluZSBWTFZfUElQRV9QUF9E SVZJU09SKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BJUEVBX1BQX0RJVklTT1IsIF9QSVBFQl9Q UF9ESVZJU09SKQotCi0jZGVmaW5lIF9QQ0hfUFBfU1RBVFVTCQkweGM3MjAwCi0jZGVmaW5lIF9Q Q0hfUFBfQ09OVFJPTAkJMHhjNzIwNAotI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJj ZCA8PCAxNikKLSNkZWZpbmUgIFBBTkVMX1VOTE9DS19NQVNLCSgweGZmZmYgPDwgMTYpCi0jZGVm aW5lICBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSwkoMHgxZjApCi0jZGVmaW5lICBCWFRfUE9X RVJfQ1lDTEVfREVMQVlfU0hJRlQJNAotI2RlZmluZSAgRURQX0ZPUkNFX1ZERAkJKDEgPDwgMykK LSNkZWZpbmUgIEVEUF9CTENfRU5BQkxFCQkoMSA8PCAyKQotI2RlZmluZSAgUEFORUxfUE9XRVJf UkVTRVQJKDEgPDwgMSkKLSNkZWZpbmUgIFBBTkVMX1BPV0VSX09GRgkoMCA8PCAwKQotI2RlZmlu ZSAgUEFORUxfUE9XRVJfT04JCSgxIDw8IDApCi0jZGVmaW5lIF9QQ0hfUFBfT05fREVMQVlTCTB4 YzcyMDgKLSNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX01BU0sJKDMgPDwgMzApCi0jZGVmaW5l ICBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTCSgwIDw8IDMwKQotI2RlZmluZSAgUEFORUxfUE9SVF9T RUxFQ1RfRFBBCSgxIDw8IDMwKQotI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBDCSgyIDw8 IDMwKQotI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBECSgzIDw8IDMwKQotI2RlZmluZSAg UEFORUxfUE9XRVJfVVBfREVMQVlfTUFTSwkoMHgxZmZmMDAwMCkKLSNkZWZpbmUgIFBBTkVMX1BP V0VSX1VQX0RFTEFZX1NISUZUCTE2Ci0jZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9NQVNL CSgweDFmZmYpCi0jZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9TSElGVAkwCi0KLSNkZWZp bmUgX1BDSF9QUF9PRkZfREVMQVlTCQkweGM3MjBjCi0jZGVmaW5lICBQQU5FTF9QT1dFUl9ET1dO X0RFTEFZX01BU0sJKDB4MWZmZjAwMDApCi0jZGVmaW5lICBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZ X1NISUZUCTE2Ci0jZGVmaW5lICBQQU5FTF9MSUdIVF9PRkZfREVMQVlfTUFTSwkoMHgxZmZmKQot I2RlZmluZSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX1NISUZUCTAKLQotI2RlZmluZSBfUENIX1BQ X0RJVklTT1IJCQkweGM3MjEwCi0jZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCSgw eGZmZmZmZjAwKQotI2RlZmluZSAgUFBfUkVGRVJFTkNFX0RJVklERVJfU0hJRlQJOAotI2RlZmlu ZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSwkoMHgxZikKLSNkZWZpbmUgIFBBTkVMX1BP V0VSX0NZQ0xFX0RFTEFZX1NISUZUCTAKLQotI2RlZmluZSBQQ0hfUFBfU1RBVFVTCQkJX01NSU8o X1BDSF9QUF9TVEFUVVMpCi0jZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkJX01NSU8oX1BDSF9QUF9D T05UUk9MKQotI2RlZmluZSBQQ0hfUFBfT05fREVMQVlTCQlfTU1JTyhfUENIX1BQX09OX0RFTEFZ UykKLSNkZWZpbmUgUENIX1BQX09GRl9ERUxBWVMJCV9NTUlPKF9QQ0hfUFBfT0ZGX0RFTEFZUykK LSNkZWZpbmUgUENIX1BQX0RJVklTT1IJCQlfTU1JTyhfUENIX1BQX0RJVklTT1IpCi0KLS8qIEJY VCBQUFMgY2hhbmdlcyAtIDJuZCBzZXQgb2YgUFBTIHJlZ2lzdGVycyAqLwotI2RlZmluZSBfQlhU X1BQX1NUQVRVUzIgCTB4YzczMDAKLSNkZWZpbmUgX0JYVF9QUF9DT05UUk9MMiAJMHhjNzMwNAot I2RlZmluZSBfQlhUX1BQX09OX0RFTEFZUzIJMHhjNzMwOAotI2RlZmluZSBfQlhUX1BQX09GRl9E RUxBWVMyCTB4YzczMGMKLQotI2RlZmluZSBCWFRfUFBfU1RBVFVTKG4pCV9NTUlPX1BJUEUobiwg X1BDSF9QUF9TVEFUVVMsIF9CWFRfUFBfU1RBVFVTMikKLSNkZWZpbmUgQlhUX1BQX0NPTlRST0wo bikJX01NSU9fUElQRShuLCBfUENIX1BQX0NPTlRST0wsIF9CWFRfUFBfQ09OVFJPTDIpCi0jZGVm aW5lIEJYVF9QUF9PTl9ERUxBWVMobikJX01NSU9fUElQRShuLCBfUENIX1BQX09OX0RFTEFZUywg X0JYVF9QUF9PTl9ERUxBWVMyKQotI2RlZmluZSBCWFRfUFBfT0ZGX0RFTEFZUyhuKQlfTU1JT19Q SVBFKG4sIF9QQ0hfUFBfT0ZGX0RFTEFZUywgX0JYVF9QUF9PRkZfREVMQVlTMikKLQogI2RlZmlu ZSBfUENIX0RQX0IJCTB4ZTQxMDAKICNkZWZpbmUgUENIX0RQX0IJCV9NTUlPKF9QQ0hfRFBfQikK ICNkZWZpbmUgX1BDSF9EUEJfQVVYX0NIX0NUTAkweGU0MTEwCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3VzcGVuZC5jCmluZGV4IDVjZmU0YzcuLmM4MjZiNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3VzcGVuZC5jCkBAIC00NCwxNiArNDQsMTEgQEAgc3RhdGljIHZvaWQgaTkxNV9zYXZlX2Rpc3Bs YXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUxWRFMg PSBJOTE1X1JFQUQoTFZEUyk7CiAKIAkvKiBQYW5lbCBwb3dlciBzZXF1ZW5jZXIgKi8KLQlpZiAo SEFTX1BDSF9TUExJVChkZXYpKSB7Ci0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9M ID0gSTkxNV9SRUFEKFBDSF9QUF9DT05UUk9MKTsKLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQ X09OX0RFTEFZUyA9IEk5MTVfUkVBRChQQ0hfUFBfT05fREVMQVlTKTsKLQkJZGV2X3ByaXYtPnJl Z2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09GRl9ERUxBWVMpOwot CQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUiA9IEk5MTVfUkVBRChQQ0hfUFBfRElW SVNPUik7Ci0JfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA0KSB7Ci0JCWRldl9w cml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBQX0NPTlRST0wpOwotCQlk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZ Uyk7Ci0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTID0gSTkxNV9SRUFEKFBQ X09GRl9ERUxBWVMpOwotCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUiA9IEk5MTVf UkVBRChQUF9ESVZJU09SKTsKKwlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikgfHwgSU5URUxf R0VOKGRldl9wcml2KSA8PSA0KSB7CisJCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9M ID0gSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpOworCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBf T05fREVMQVlTID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZUygwKSk7CisJCWRldl9wcml2LT5yZWdm aWxlLnNhdmVQUF9PRkZfREVMQVlTID0gSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMoMCkpOworCQlk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUiA9IEk5MTVfUkVBRChQUF9ESVZJU09SKDAp KTsKIAl9CiAKIAkvKiBzYXZlIEZCQyBpbnRlcnZhbCAqLwpAQCAtNzksMTYgKzc0LDExIEBAIHN0 YXRpYyB2b2lkIGk5MTVfcmVzdG9yZV9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ CUk5MTVfV1JJVEUoTFZEUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUxWRFMgJiBtYXNrKTsKIAog CS8qIFBhbmVsIHBvd2VyIHNlcXVlbmNlciAqLwotCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsK LQkJSTkxNV9XUklURShQQ0hfUFBfT05fREVMQVlTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBf T05fREVMQVlTKTsKLQkJSTkxNV9XUklURShQQ0hfUFBfT0ZGX0RFTEFZUywgZGV2X3ByaXYtPnJl Z2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwotCQlJOTE1X1dSSVRFKFBDSF9QUF9ESVZJU09SLCBk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Ci0JCUk5MTVfV1JJVEUoUENIX1BQX0NP TlRST0wsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9MKTsKLQl9IGVsc2UgaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuIDw9IDQpIHsKLQkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMsIGRl dl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMpOwotCQlJOTE1X1dSSVRFKFBQX09GRl9E RUxBWVMsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTKTsKLQkJSTkxNV9XUklU RShQUF9ESVZJU09SLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Ci0JCUk5MTVf V1JJVEUoUFBfQ09OVFJPTCwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wpOworCWlm IChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDQpIHsK KwkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9P Tl9ERUxBWVMpOworCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIGRldl9wcml2LT5yZWdm aWxlLnNhdmVQUF9PRkZfREVMQVlTKTsKKwkJSTkxNV9XUklURShQUF9ESVZJU09SKDApLCBkZXZf cHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7CisJCUk5MTVfV1JJVEUoUFBfQ09OVFJPTCgw KSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wpOwogCX0KIAogCS8qIG9ubHkgcmVz dG9yZSBGQkMgaW5mbyBvbiB0aGUgcGxhdGZvcm0gdGhhdCBzdXBwb3J0cyBGQkMqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDhlNzFkYzIuLjRiNTg2ZjIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEyMDIsOCArMTIwMiw4IEBAIHZvaWQgYXNz ZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlp ZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7CiAJCXUzMiBwb3J0X3NlbDsKIAotCQlwcF9yZWcgPSBQ Q0hfUFBfQ09OVFJPTDsKLQkJcG9ydF9zZWwgPSBJOTE1X1JFQUQoUENIX1BQX09OX0RFTEFZUykg JiBQQU5FTF9QT1JUX1NFTEVDVF9NQVNLOworCQlwcF9yZWcgPSBQUF9DT05UUk9MKDApOworCQlw b3J0X3NlbCA9IEk5MTVfUkVBRChQUF9PTl9ERUxBWVMoMCkpICYgUEFORUxfUE9SVF9TRUxFQ1Rf TUFTSzsKIAogCQlpZiAocG9ydF9zZWwgPT0gUEFORUxfUE9SVF9TRUxFQ1RfTFZEUyAmJgogCQkg ICAgSTkxNV9SRUFEKFBDSF9MVkRTKSAmIExWRFNfUElQRUJfU0VMRUNUKQpAQCAtMTIxMSwxMCAr MTIxMSwxMCBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCS8qIFhYWDogZWxzZSBmaXggZm9yIGVEUCAqLwogCX0gZWxzZSBp ZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewogCQkvKiBwcmVz dW1hYmx5IHdyaXRlIGxvY2sgZGVwZW5kcyBvbiBwaXBlLCBub3QgcG9ydCBzZWxlY3QgKi8KLQkJ cHBfcmVnID0gVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKTsKKwkJcHBfcmVnID0gUFBfQ09OVFJP TChwaXBlKTsKIAkJcGFuZWxfcGlwZSA9IHBpcGU7CiAJfSBlbHNlIHsKLQkJcHBfcmVnID0gUFBf Q09OVFJPTDsKKwkJcHBfcmVnID0gUFBfQ09OVFJPTCgwKTsKIAkJaWYgKEk5MTVfUkVBRChMVkRT KSAmIExWRFNfUElQRUJfU0VMRUNUKQogCQkJcGFuZWxfcGlwZSA9IFBJUEVfQjsKIAl9CkBAIC05 NDkxLDcgKzk0OTEsNyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2Rpc2FibGVfbGNwbGwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JF QUQoU1BMTF9DVEwpICYgU1BMTF9QTExfRU5BQkxFLCAiU1BMTCBlbmFibGVkXG4iKTsKIAlJOTE1 X1NUQVRFX1dBUk4oSTkxNV9SRUFEKFdSUExMX0NUTCgwKSkgJiBXUlBMTF9QTExfRU5BQkxFLCAi V1JQTEwxIGVuYWJsZWRcbiIpOwogCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoV1JQTExfQ1RM KDEpKSAmIFdSUExMX1BMTF9FTkFCTEUsICJXUlBMTDIgZW5hYmxlZFxuIik7Ci0JSTkxNV9TVEFU RV9XQVJOKEk5MTVfUkVBRChQQ0hfUFBfU1RBVFVTKSAmIFBQX09OLCAiUGFuZWwgcG93ZXIgb25c biIpOworCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoUFBfU1RBVFVTKDApKSAmIFBQX09OLCAi UGFuZWwgcG93ZXIgb25cbiIpOwogCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoQkxDX1BXTV9D UFVfQ1RMMikgJiBCTE1fUFdNX0VOQUJMRSwKIAkgICAgICJDUFUgUFdNMSBlbmFibGVkXG4iKTsK IAlpZiAoSVNfSEFTV0VMTChkZXYpKQpAQCAtMTQ3MTUsMTIgKzE0NzE1LDI0IEBAIHN0YXRpYyBi b29sIGludGVsX2NydF9wcmVzZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmV0dXJuIHRy dWU7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVsX3Bwc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKK3sKKwlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikgfHwgSVNfQlJP WFRPTihkZXZfcHJpdikpCisJCWRldl9wcml2LT5wcHNfbW1pb19iYXNlID0gUENIX1BQU19CQVNF OworCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2 X3ByaXYpKQorCQlkZXZfcHJpdi0+cHBzX21taW9fYmFzZSA9IFZMVl9QUFNfQkFTRTsKKwllbHNl CisJCWRldl9wcml2LT5wcHNfbW1pb19iYXNlID0gUFBTX0JBU0U7Cit9CisKIHN0YXRpYyB2b2lk IGludGVsX3NldHVwX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXI7CiAJYm9vbCBkcGRfaXNfZWRwID0gZmFsc2U7CiAKKwlpbnRlbF9w cHNfaW5pdChkZXZfcHJpdik7CisKIAkvKgogCSAqIGludGVsX2VkcF9pbml0X2Nvbm5lY3Rvcigp IGRlcGVuZHMgb24gdGhpcyBjb21wbGV0aW5nIGZpcnN0LCB0bwogCSAqIHByZXZlbnQgdGhlIHJl Z2lzdGVyYXRpb24gb2YgYm90aCBlRFAgYW5kIExWRFMgYW5kIHRoZSBpbmNvcnJlY3QKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCmluZGV4IDhmZTJhZmEuLjE1YWZmOTMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwpAQCAtNDYzLDEzICs0NjMsMTMgQEAgdHlwZWRlZiBib29sICgqdmx2X3BpcGVfY2hl Y2spKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyBib29sIHZsdl9w aXBlX2hhc19wcF9vbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAg ICAgZW51bSBwaXBlIHBpcGUpCiB7Ci0JcmV0dXJuIEk5MTVfUkVBRChWTFZfUElQRV9QUF9TVEFU VVMocGlwZSkpICYgUFBfT047CisJcmV0dXJuIEk5MTVfUkVBRChQUF9TVEFUVVMocGlwZSkpICYg UFBfT047CiB9CiAKIHN0YXRpYyBib29sIHZsdl9waXBlX2hhc192ZGRfb24oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCWVudW0gcGlwZSBwaXBlKQogewotCXJldHVybiBJ OTE1X1JFQUQoVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKSkgJiBFRFBfRk9SQ0VfVkREOworCXJl dHVybiBJOTE1X1JFQUQoUFBfQ09OVFJPTChwaXBlKSkgJiBFRFBfRk9SQ0VfVkREOwogfQogCiBz dGF0aWMgYm9vbCB2bHZfcGlwZV9hbnkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZsdl9pbml0aWFsX3Bwc19waXBlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAllbnVtIHBpcGUgcGlwZTsKIAogCWZvciAocGlwZSA9IFBJ UEVfQTsgcGlwZSA8PSBQSVBFX0I7IHBpcGUrKykgewotCQl1MzIgcG9ydF9zZWwgPSBJOTE1X1JF QUQoVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpKSAmCisJCXUzMiBwb3J0X3NlbCA9IEk5MTVf UkVBRChQUF9PTl9ERUxBWVMocGlwZSkpICYKIAkJCVBBTkVMX1BPUlRfU0VMRUNUX01BU0s7CiAK IAkJaWYgKHBvcnRfc2VsICE9IFBBTkVMX1BPUlRfU0VMRUNUX1ZMVihwb3J0KSkKQEAgLTU4Mywz MCArNTgzLDIxIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bwc19nZXRfcmVnaXN0ZXJzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwKIAkJCQkgICAgc3RydWN0IHBwc19yZWdpc3RlcnMgKnJlZ3MpCiB7CisJaW50IHBwc19p ZHggPSAwOworCiAJbWVtc2V0KHJlZ3MsIDAsIHNpemVvZigqcmVncykpOwogCi0JaWYgKElTX0JS T1hUT04oZGV2X3ByaXYpKSB7Ci0JCWludCBpZHggPSBieHRfcG93ZXJfc2VxdWVuY2VyX2lkeChp bnRlbF9kcCk7CisJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQorCQlwcHNfaWR4ID0gYnh0X3Bv d2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApOworCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2 X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQorCQlwcHNfaWR4ID0gdmx2X3Bvd2Vy X3NlcXVlbmNlcl9waXBlKGludGVsX2RwKTsKIAotCQlyZWdzLT5wcF9jdHJsID0gQlhUX1BQX0NP TlRST0woaWR4KTsKLQkJcmVncy0+cHBfc3RhdCA9IEJYVF9QUF9TVEFUVVMoaWR4KTsKLQkJcmVn cy0+cHBfb24gPSBCWFRfUFBfT05fREVMQVlTKGlkeCk7Ci0JCXJlZ3MtPnBwX29mZiA9IEJYVF9Q UF9PRkZfREVMQVlTKGlkeCk7Ci0JfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkg ewotCQlyZWdzLT5wcF9jdHJsID0gUENIX1BQX0NPTlRST0w7Ci0JCXJlZ3MtPnBwX3N0YXQgPSBQ Q0hfUFBfU1RBVFVTOwotCQlyZWdzLT5wcF9vbiA9IFBDSF9QUF9PTl9ERUxBWVM7Ci0JCXJlZ3Mt PnBwX29mZiA9IFBDSF9QUF9PRkZfREVMQVlTOwotCQlyZWdzLT5wcF9kaXYgPSBQQ0hfUFBfRElW SVNPUjsKLQl9IGVsc2UgewotCQllbnVtIHBpcGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJf cGlwZShpbnRlbF9kcCk7Ci0KLQkJcmVncy0+cHBfY3RybCA9IFZMVl9QSVBFX1BQX0NPTlRST0wo cGlwZSk7Ci0JCXJlZ3MtPnBwX3N0YXQgPSBWTFZfUElQRV9QUF9TVEFUVVMocGlwZSk7Ci0JCXJl Z3MtPnBwX29uID0gVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpOwotCQlyZWdzLT5wcF9vZmYg PSBWTFZfUElQRV9QUF9PRkZfREVMQVlTKHBpcGUpOwotCQlyZWdzLT5wcF9kaXYgPSBWTFZfUElQ RV9QUF9ESVZJU09SKHBpcGUpOwotCX0KKwlyZWdzLT5wcF9jdHJsID0gUFBfQ09OVFJPTChwcHNf aWR4KTsKKwlyZWdzLT5wcF9zdGF0ID0gUFBfU1RBVFVTKHBwc19pZHgpOworCXJlZ3MtPnBwX29u ID0gUFBfT05fREVMQVlTKHBwc19pZHgpOworCXJlZ3MtPnBwX29mZiA9IFBQX09GRl9ERUxBWVMo cHBzX2lkeCk7CisJaWYgKCFJU19CUk9YVE9OKGRldl9wcml2KSkKKwkJcmVncy0+cHBfZGl2ID0g UFBfRElWSVNPUihwcHNfaWR4KTsKIH0KIAogc3RhdGljIGk5MTVfcmVnX3QKQEAgLTY1MSw4ICs2 NDIsOCBAQCBzdGF0aWMgaW50IGVkcF9ub3RpZnlfaGFuZGxlcihzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgY29kZSwKIAkJaTkxNV9yZWdfdCBwcF9jdHJsX3JlZywg cHBfZGl2X3JlZzsKIAkJdTMyIHBwX2RpdjsKIAotCQlwcF9jdHJsX3JlZyA9IFZMVl9QSVBFX1BQ X0NPTlRST0wocGlwZSk7Ci0JCXBwX2Rpdl9yZWcgID0gVkxWX1BJUEVfUFBfRElWSVNPUihwaXBl KTsKKwkJcHBfY3RybF9yZWcgPSBQUF9DT05UUk9MKHBpcGUpOworCQlwcF9kaXZfcmVnICA9IFBQ X0RJVklTT1IocGlwZSk7CiAJCXBwX2RpdiA9IEk5MTVfUkVBRChwcF9kaXZfcmVnKTsKIAkJcHBf ZGl2ICY9IFBQX1JFRkVSRU5DRV9ESVZJREVSX01BU0s7CiAKQEAgLTI3MjksNyArMjcyMCw3IEBA IHN0YXRpYyB2b2lkIHZsdl9kZXRhY2hfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CiAJZW51bSBwaXBl IHBpcGUgPSBpbnRlbF9kcC0+cHBzX3BpcGU7Ci0JaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBWTFZf UElQRV9QUF9PTl9ERUxBWVMocGlwZSk7CisJaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBQUF9PTl9E RUxBWVMocGlwZSk7CiAKIAllZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IDQ5NTUwNDcuLjQxM2U3MjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9sdmRzLmMKQEAgLTIxNywyMSArMjE3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVs X2VuYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9CiAJCSZsdmRzX2VuY29kZXItPmF0dGFjaGVk X2Nvbm5lY3Rvci0+YmFzZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Ci0JaTkxNV9yZWdfdCBjdGxfcmVnLCBzdGF0X3JlZzsKLQotCWlmIChIQVNf UENIX1NQTElUKGRldikpIHsKLQkJY3RsX3JlZyA9IFBDSF9QUF9DT05UUk9MOwotCQlzdGF0X3Jl ZyA9IFBDSF9QUF9TVEFUVVM7Ci0JfSBlbHNlIHsKLQkJY3RsX3JlZyA9IFBQX0NPTlRST0w7Ci0J CXN0YXRfcmVnID0gUFBfU1RBVFVTOwotCX0KIAogCUk5MTVfV1JJVEUobHZkc19lbmNvZGVyLT5y ZWcsIEk5MTVfUkVBRChsdmRzX2VuY29kZXItPnJlZykgfCBMVkRTX1BPUlRfRU4pOwogCi0JSTkx NV9XUklURShjdGxfcmVnLCBJOTE1X1JFQUQoY3RsX3JlZykgfCBQT1dFUl9UQVJHRVRfT04pOwor CUk5MTVfV1JJVEUoUFBfQ09OVFJPTCgwKSwgSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpIHwgUE9X RVJfVEFSR0VUX09OKTsKIAlQT1NUSU5HX1JFQUQobHZkc19lbmNvZGVyLT5yZWcpOwotCWlmIChp bnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgc3RhdF9yZWcsIFBQX09OLCBQUF9PTiwg MTAwMCkpCisJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQUF9TVEFUVVMo MCksIFBQX09OLCBQUF9PTiwgMTAwMCkpCiAJCURSTV9FUlJPUigidGltZWQgb3V0IHdhaXRpbmcg Zm9yIHBhbmVsIHRvIHBvd2VyIG9uXG4iKTsKIAogCWludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGln aHQoaW50ZWxfY29ubmVjdG9yKTsKQEAgLTI0MiwxOCArMjMzLDkgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZGlzYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgaW50ZWxfbHZkc19l bmNvZGVyICpsdmRzX2VuY29kZXIgPSB0b19sdmRzX2VuY29kZXIoJmVuY29kZXItPmJhc2UpOwog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlpOTE1 X3JlZ190IGN0bF9yZWcsIHN0YXRfcmVnOwogCi0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewot CQljdGxfcmVnID0gUENIX1BQX0NPTlRST0w7Ci0JCXN0YXRfcmVnID0gUENIX1BQX1NUQVRVUzsK LQl9IGVsc2UgewotCQljdGxfcmVnID0gUFBfQ09OVFJPTDsKLQkJc3RhdF9yZWcgPSBQUF9TVEFU VVM7Ci0JfQotCi0JSTkxNV9XUklURShjdGxfcmVnLCBJOTE1X1JFQUQoY3RsX3JlZykgJiB+UE9X RVJfVEFSR0VUX09OKTsKLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIHN0 YXRfcmVnLCBQUF9PTiwgMCwgMTAwMCkpCisJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBJOTE1 X1JFQUQoUFBfQ09OVFJPTCgwKSkgJiB+UE9XRVJfVEFSR0VUX09OKTsKKwlpZiAoaW50ZWxfd2Fp dF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIFBQX1NUQVRVUygwKSwgUFBfT04sIDAsIDEwMDApKQog CQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5nIGZvciBwYW5lbCB0byBwb3dlciBvZmZcbiIp OwogCiAJSTkxNV9XUklURShsdmRzX2VuY29kZXItPnJlZywgSTkxNV9SRUFEKGx2ZHNfZW5jb2Rl ci0+cmVnKSAmIH5MVkRTX1BPUlRfRU4pOwpAQCAtOTA0LDEzICs4ODYsMTAgQEAgdm9pZCBpbnRl bF9sdmRzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkgKiBVbmxvY2sgcmVnaXN0ZXJz IGFuZCBqdXN0IGxlYXZlIHRoZW0gdW5sb2NrZWQuIERvIHRoaXMgYmVmb3JlCiAJICogY2hlY2tp bmcgcXVpcmsgbGlzdHMgdG8gYXZvaWQgYm9ndXMgV0FSTklOR3MuCiAJICovCi0JaWYgKEhBU19Q Q0hfU1BMSVQoZGV2KSkgewotCQlJOTE1X1dSSVRFKFBDSF9QUF9DT05UUk9MLAotCQkJICAgSTkx NV9SRUFEKFBDSF9QUF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKLQl9IGVsc2UgaWYg KElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPCA1KSB7Ci0JCUk5MTVfV1JJVEUoUFBfQ09OVFJP TCwKLQkJCSAgIEk5MTVfUkVBRChQUF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKLQl9 CisJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPD0g NCkKKwkJSTkxNV9XUklURShQUF9DT05UUk9MKDApLAorCQkJICAgSTkxNV9SRUFEKFBQX0NPTlRS T0woMCkpIHwgUEFORUxfVU5MT0NLX1JFR1MpOworCiAJaWYgKCFpbnRlbF9sdmRzX3N1cHBvcnRl ZChkZXYpKQogCQlyZXR1cm47CiAKQEAgLTk0NSwxMiArOTI0LDEyIEBAIHZvaWQgaW50ZWxfbHZk c19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAkgLyogU2V0IHRoZSBQYW5lbCBQb3dl ciBPbi9PZmYgdGltaW5ncyBpZiB1bmluaXRpYWxpemVkLiAqLwogCWlmIChJTlRFTF9JTkZPKGRl dl9wcml2KS0+Z2VuIDwgNSAmJgotCSAgICBJOTE1X1JFQUQoUFBfT05fREVMQVlTKSA9PSAwICYm IEk5MTVfUkVBRChQUF9PRkZfREVMQVlTKSA9PSAwKSB7CisJICAgIEk5MTVfUkVBRChQUF9PTl9E RUxBWVMoMCkpID09IDAgJiYgSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMoMCkpID09IDApIHsKIAkJ LyogU2V0IFQyIHRvIDQwbXMgYW5kIFQ1IHRvIDIwMG1zICovCi0JCUk5MTVfV1JJVEUoUFBfT05f REVMQVlTLCAweDAxOTAwN2QwKTsKKwkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIDB4MDE5 MDA3ZDApOwogCiAJCS8qIFNldCBUMyB0byAzNW1zIGFuZCBUeCB0byAyMDBtcyAqLwotCQlJOTE1 X1dSSVRFKFBQX09GRl9ERUxBWVMsIDB4MDE1ZTA3ZDApOworCQlJOTE1X1dSSVRFKFBQX09GRl9E RUxBWVMoMCksIDB4MDE1ZTA3ZDApOwogCiAJCURSTV9ERUJVR19LTVMoIlBhbmVsIHBvd2VyIHRp bWluZ3MgdW5pbml0aWFsaXplZCwgc2V0dGluZyBkZWZhdWx0c1xuIik7CiAJfQotLSAKMi41LjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=