From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 1/6] drm/i915: Merge the PPS register definitions Date: Tue, 9 Aug 2016 14:34:07 +0300 Message-ID: <1470742452-5240-2-git-send-email-imre.deak@intel.com> References: <1470742452-5240-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E7746E535 for ; Tue, 9 Aug 2016 11:34:15 +0000 (UTC) In-Reply-To: <1470742452-5240-1-git-send-email-imre.deak@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 List-Id: intel-gfx@lists.freedesktop.org VGhlIFBQUyByZWdpc3RlcnMgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGV2ZXJ5d2hlcmUsIHRo ZSBkaWZmZXJlbmNlcwpiZWluZzoKLSBSZWdpc3RlciBmaWVsZHMgYXBwZWFyaW5nLCBkaXNhcHBl YXJpbmcgZnJvbSBvbmUgcGxhdGZvcm0gdG8gdGhlCiAgbmV4dDogcGFuZWwtcmVzZXQtb24tcG93 ZXJkb3duLCBiYWNrbGlnaHQtb24sIHBhbmVsLXBvcnQsCiAgcmVnaXN0ZXItdW5sb2NrCi0gRGlm ZmVyZW50IHJlZ2lzdGVyIGJhc2UgYWRkcmVzc2VzCi0gRGlmZmVyZW50IG51bWJlciBvZiBQUFMg aW5zdGFuY2VzOiAyIG9uIFZMVi9DSFYvQlhULCAxIGV2ZXJ5d2hlcmUKICBlbHNlLgoKV2UgY2Fu IG1lcmdlIHRoZSBzZXBhcmF0ZSBzZXQgb2YgUFBTIGRlZmluaXRpb25zIGJ5IGV4dGVuZGluZyB0 aGUgUFBTCmluc3RhbmNlIGFyZ3VtZW50IHRvIGFsbCBwbGF0Zm9ybXMgYW5kIHVzaW5nIGluc3Rh bmNlIDAgb24gcGxhdGZvcm1zCndpdGggYSBzaW5nbGUgaW5zdGFuY2UuIFRoaXMgbWVhbnMgd2Un bGwgbmVlZCB0byBjYWxjdWxhdGUgdGhlIHJlZ2lzdGVyCmFkZHJlc3NlcyBkeW5hbWljYWxseSBi YXNlZCBvbiB0aGUgZ2l2ZW4gcGxhdGZvcm0gYW5kIFBQUyBpbnN0YW5jZS4KClNpZ25lZC1vZmYt Ynk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgIHwgMTQ1ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYyAgfCAgMzAgKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAyMiArKysrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICA0NyArKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2x2ZHMuYyAgICB8ICA0MyArKystLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2Vk LCAxMTkgaW5zZXJ0aW9ucygrKSwgMTcwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IGMzNmQxNzYuLmZkZGFlYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt MTc0OSw2ICsxNzQ5LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCiAJdWludDMyX3Qg cHNyX21taW9fYmFzZTsKIAorCXVpbnQzMl90IHBwc19tbWlvX2Jhc2U7CisKIAl3YWl0X3F1ZXVl X2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwogCiAJc3RydWN0IHBjaV9kZXYgKmJyaWRnZV9kZXY7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBmMzhhNWUyLi5iNjVmZTUwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKQEAgLTM2NjAsOCArMzY2MCwxNyBAQCBlbnVtIHsKICNkZWZpbmUgICBW SURFT19ESVBfRU5BQkxFX1NQRF9IU1cJKDEgPDwgMCkKIAogLyogUGFuZWwgcG93ZXIgc2VxdWVu Y2luZyAqLwotI2RlZmluZSBQUF9TVEFUVVMJX01NSU8oMHg2MTIwMCkKLSNkZWZpbmUgICBQUF9P TgkJKDEgPDwgMzEpCisjZGVmaW5lIFBQU19CQVNFCQkJMHg2MTIwMAorI2RlZmluZSBWTFZfUFBT X0JBU0UJCQkoVkxWX0RJU1BMQVlfQkFTRSArIFBQU19CQVNFKQorI2RlZmluZSBQQ0hfUFBTX0JB U0UJCQkweEM3MjAwCisKKyNkZWZpbmUgX01NSU9fUFBTKHBwc19pZHgsIHJlZykJCV9NTUlPKGRl dl9wcml2LT5wcHNfbW1pb19iYXNlIC0JXAorCQkJCQkgICAgICBQUFNfQkFTRSArIChyZWcpICsJ XAorCQkJCQkgICAgICAocHBzX2lkeCkgKiAweDEwMCkKKworI2RlZmluZSBfUFBfU1RBVFVTCQkJ MHg2MTIwMAorI2RlZmluZSBQUF9TVEFUVVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBf UFBfU1RBVFVTKQorI2RlZmluZSAgIFBQX09OCQkJCSgxIDw8IDMxKQogLyoKICAqIEluZGljYXRl cyB0aGF0IGFsbCBkZXBlbmRlbmNpZXMgb2YgdGhlIHBhbmVsIGFyZSBvbjoKICAqCkBAIC0zNjY5 LDE0ICszNjc4LDE0IEBAIGVudW0gewogICogLSBwaXBlIGVuYWJsZWQKICAqIC0gTFZEUy9EVk9C L0RWT0Mgb24KICAqLwotI2RlZmluZSAgIFBQX1JFQURZCQkoMSA8PCAzMCkKLSNkZWZpbmUgICBQ UF9TRVFVRU5DRV9OT05FCSgwIDw8IDI4KQotI2RlZmluZSAgIFBQX1NFUVVFTkNFX1BPV0VSX1VQ CSgxIDw8IDI4KQotI2RlZmluZSAgIFBQX1NFUVVFTkNFX1BPV0VSX0RPV04gKDIgPDwgMjgpCi0j ZGVmaW5lICAgUFBfU0VRVUVOQ0VfTUFTSwkoMyA8PCAyOCkKLSNkZWZpbmUgICBQUF9TRVFVRU5D RV9TSElGVAkyOAotI2RlZmluZSAgIFBQX0NZQ0xFX0RFTEFZX0FDVElWRQkoMSA8PCAyNykKLSNk ZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9NQVNLIDB4MDAwMDAwMGYKKyNkZWZpbmUgICBQUF9S RUFEWQkJCSgxIDw8IDMwKQorI2RlZmluZSAgIFBQX1NFUVVFTkNFX05PTkUJCSgwIDw8IDI4KQor I2RlZmluZSAgIFBQX1NFUVVFTkNFX1BPV0VSX1VQCQkoMSA8PCAyOCkKKyNkZWZpbmUgICBQUF9T RVFVRU5DRV9QT1dFUl9ET1dOCSgyIDw8IDI4KQorI2RlZmluZSAgIFBQX1NFUVVFTkNFX01BU0sJ CSgzIDw8IDI4KQorI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NISUZUCQkyOAorI2RlZmluZSAgIFBQ X0NZQ0xFX0RFTEFZX0FDVElWRQkJKDEgPDwgMjcpCisjZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RB VEVfTUFTSwkweDAwMDAwMDBmCiAjZGVmaW5lICAgUFBfU0VRVUVOQ0VfU1RBVEVfT0ZGX0lETEUJ KDB4MCA8PCAwKQogI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8xCSgweDEgPDwg MCkKICNkZWZpbmUgICBQUF9TRVFVRU5DRV9TVEFURV9PRkZfUzBfMgkoMHgyIDw8IDApCkBAIC0z Njg2LDExICszNjk1LDQ2IEBAIGVudW0gewogI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09O X1MxXzIJKDB4YSA8PCAwKQogI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09OX1MxXzMJKDB4 YiA8PCAwKQogI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX1JFU0VUCSgweGYgPDwgMCkKLSNk ZWZpbmUgUFBfQ09OVFJPTAlfTU1JTygweDYxMjA0KQotI2RlZmluZSAgIFBPV0VSX1RBUkdFVF9P TgkoMSA8PCAwKQotI2RlZmluZSBQUF9PTl9ERUxBWVMJX01NSU8oMHg2MTIwOCkKLSNkZWZpbmUg UFBfT0ZGX0RFTEFZUwlfTU1JTygweDYxMjBjKQotI2RlZmluZSBQUF9ESVZJU09SCV9NTUlPKDB4 NjEyMTApCisKKyNkZWZpbmUgX1BQX0NPTlRST0wJCQkweDYxMjA0CisjZGVmaW5lIFBQX0NPTlRS T0wocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBfUFBfQ09OVFJPTCkKKyNkZWZpbmUgIFBB TkVMX1VOTE9DS19SRUdTCQkoMHhhYmNkIDw8IDE2KQorI2RlZmluZSAgUEFORUxfVU5MT0NLX01B U0sJCSgweGZmZmYgPDwgMTYpCisjZGVmaW5lICBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSwkw eDFmMAorI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUCTQKKyNkZWZpbmUgIEVE UF9GT1JDRV9WREQJCQkoMSA8PCAzKQorI2RlZmluZSAgRURQX0JMQ19FTkFCTEUJCQkoMSA8PCAy KQorI2RlZmluZSAgUEFORUxfUE9XRVJfUkVTRVQJCSgxIDw8IDEpCisjZGVmaW5lICBQQU5FTF9Q T1dFUl9PRkYJCSgwIDw8IDApCisjZGVmaW5lICBQQU5FTF9QT1dFUl9PTgkJCSgxIDw8IDApCisj ZGVmaW5lICBQT1dFUl9UQVJHRVRfT04JCSgxIDw8IDApCisKKyNkZWZpbmUgX1BQX09OX0RFTEFZ UwkJCTB4NjEyMDgKKyNkZWZpbmUgUFBfT05fREVMQVlTKHBwc19pZHgpCQlfTU1JT19QUFMocHBz X2lkeCwgX1BQX09OX0RFTEFZUykKKyNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX01BU0sJCSgz IDw8IDMwKQorI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTFZEUwkJKDAgPDwgMzApCisjZGVm aW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEEJCSgxIDw8IDMwKQorI2RlZmluZSAgUEFORUxfUE9S VF9TRUxFQ1RfRFBDCQkoMiA8PCAzMCkKKyNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX0RQRAkJ KDMgPDwgMzApCisjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9WTFYocG9ydCkJKChwb3J0KSA8 PCAzMCkKKyNkZWZpbmUgIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0sJMHgxZmZmMDAwMAorI2Rl ZmluZSAgUEFORUxfUE9XRVJfVVBfREVMQVlfU0hJRlQJMTYKKyNkZWZpbmUgIFBBTkVMX0xJR0hU X09OX0RFTEFZX01BU0sJMHgxZmZmCisjZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9TSElG VAkwCisKKyNkZWZpbmUgX1BQX09GRl9ERUxBWVMJCQkweDYxMjBDCisjZGVmaW5lIFBQX09GRl9E RUxBWVMocHBzX2lkeCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBfUFBfT0ZGX0RFTEFZUykKKyNkZWZp bmUgIFBBTkVMX1BPV0VSX0RPV05fREVMQVlfTUFTSwkweDFmZmYwMDAwCisjZGVmaW5lICBQQU5F TF9QT1dFUl9ET1dOX0RFTEFZX1NISUZUCTE2CisjZGVmaW5lICBQQU5FTF9MSUdIVF9PRkZfREVM QVlfTUFTSwkweDFmZmYKKyNkZWZpbmUgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9TSElGVAkwCisK KyNkZWZpbmUgX1BQX0RJVklTT1IJCQkweDYxMjEwCisjZGVmaW5lIFBQX0RJVklTT1IocHBzX2lk eCkJCV9NTUlPX1BQUyhwcHNfaWR4LCBfUFBfRElWSVNPUikKKyNkZWZpbmUgIFBQX1JFRkVSRU5D RV9ESVZJREVSX01BU0sJMHhmZmZmZmYwMAorI2RlZmluZSAgUFBfUkVGRVJFTkNFX0RJVklERVJf U0hJRlQJOAorI2RlZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSwkweDFmCisjZGVm aW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAkwCiAKIC8qIFBhbmVsIGZpdHRpbmcg Ki8KICNkZWZpbmUgUEZJVF9DT05UUk9MCV9NTUlPKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDYxMjMwKQpAQCAtNjc1MCw3NyArNjc5NCw2IEBAIGVudW0gewogI2RlZmlu ZSBQQ0hfTFZEUwlfTU1JTygweGUxMTgwKQogI2RlZmluZSAgTFZEU19ERVRFQ1RFRAkoMSA8PCAx KQogCi0vKiB2bHYgaGFzIDIgc2V0cyBvZiBwYW5lbCBjb250cm9sIHJlZ3MuICovCi0jZGVmaW5l IF9QSVBFQV9QUF9TVEFUVVMgICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMDApCi0j ZGVmaW5lIF9QSVBFQV9QUF9DT05UUk9MICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEy MDQpCi0jZGVmaW5lIF9QSVBFQV9QUF9PTl9ERUxBWVMgICAgICAoVkxWX0RJU1BMQVlfQkFTRSAr IDB4NjEyMDgpCi0jZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9WTFYocG9ydCkJKChwb3J0KSA8 PCAzMCkKLSNkZWZpbmUgX1BJUEVBX1BQX09GRl9ERUxBWVMgICAgIChWTFZfRElTUExBWV9CQVNF ICsgMHg2MTIwYykKLSNkZWZpbmUgX1BJUEVBX1BQX0RJVklTT1IgICAgICAgIChWTFZfRElTUExB WV9CQVNFICsgMHg2MTIxMCkKLQotI2RlZmluZSBfUElQRUJfUFBfU1RBVFVTICAgICAgICAgKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDYxMzAwKQotI2RlZmluZSBfUElQRUJfUFBfQ09OVFJPTCAgICAg ICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzA0KQotI2RlZmluZSBfUElQRUJfUFBfT05fREVM QVlTICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzA4KQotI2RlZmluZSBfUElQRUJfUFBf T0ZGX0RFTEFZUyAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzBjKQotI2RlZmluZSBfUElQ RUJfUFBfRElWSVNPUiAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzEwKQotCi0jZGVm aW5lIFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9QSVBFQV9QUF9T VEFUVVMsIF9QSVBFQl9QUF9TVEFUVVMpCi0jZGVmaW5lIFZMVl9QSVBFX1BQX0NPTlRST0wocGlw ZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBfQ09OVFJPTCwgX1BJUEVCX1BQX0NPTlRST0wp Ci0jZGVmaW5lIFZMVl9QSVBFX1BQX09OX0RFTEFZUyhwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9Q SVBFQV9QUF9PTl9ERUxBWVMsIF9QSVBFQl9QUF9PTl9ERUxBWVMpCi0jZGVmaW5lIFZMVl9QSVBF X1BQX09GRl9ERUxBWVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBfT0ZGX0RFTEFZ UywgX1BJUEVCX1BQX09GRl9ERUxBWVMpCi0jZGVmaW5lIFZMVl9QSVBFX1BQX0RJVklTT1IocGlw ZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBfRElWSVNPUiwgX1BJUEVCX1BQX0RJVklTT1Ip Ci0KLSNkZWZpbmUgX1BDSF9QUF9TVEFUVVMJCTB4YzcyMDAKLSNkZWZpbmUgX1BDSF9QUF9DT05U Uk9MCQkweGM3MjA0Ci0jZGVmaW5lICBQQU5FTF9VTkxPQ0tfUkVHUwkoMHhhYmNkIDw8IDE2KQot I2RlZmluZSAgUEFORUxfVU5MT0NLX01BU0sJKDB4ZmZmZiA8PCAxNikKLSNkZWZpbmUgIEJYVF9Q T1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFmMCkKLSNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9E RUxBWV9TSElGVAk0Ci0jZGVmaW5lICBFRFBfRk9SQ0VfVkRECQkoMSA8PCAzKQotI2RlZmluZSAg RURQX0JMQ19FTkFCTEUJCSgxIDw8IDIpCi0jZGVmaW5lICBQQU5FTF9QT1dFUl9SRVNFVAkoMSA8 PCAxKQotI2RlZmluZSAgUEFORUxfUE9XRVJfT0ZGCSgwIDw8IDApCi0jZGVmaW5lICBQQU5FTF9Q T1dFUl9PTgkJKDEgPDwgMCkKLSNkZWZpbmUgX1BDSF9QUF9PTl9ERUxBWVMJMHhjNzIwOAotI2Rl ZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSwkoMyA8PCAzMCkKLSNkZWZpbmUgIFBBTkVMX1BP UlRfU0VMRUNUX0xWRFMJKDAgPDwgMzApCi0jZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEEJ KDEgPDwgMzApCi0jZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEMJKDIgPDwgMzApCi0jZGVm aW5lICBQQU5FTF9QT1JUX1NFTEVDVF9EUEQJKDMgPDwgMzApCi0jZGVmaW5lICBQQU5FTF9QT1dF Ul9VUF9ERUxBWV9NQVNLCSgweDFmZmYwMDAwKQotI2RlZmluZSAgUEFORUxfUE9XRVJfVVBfREVM QVlfU0hJRlQJMTYKLSNkZWZpbmUgIFBBTkVMX0xJR0hUX09OX0RFTEFZX01BU0sJKDB4MWZmZikK LSNkZWZpbmUgIFBBTkVMX0xJR0hUX09OX0RFTEFZX1NISUZUCTAKLQotI2RlZmluZSBfUENIX1BQ X09GRl9ERUxBWVMJCTB4YzcyMGMKLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0RPV05fREVMQVlfTUFT SwkoMHgxZmZmMDAwMCkKLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0RPV05fREVMQVlfU0hJRlQJMTYK LSNkZWZpbmUgIFBBTkVMX0xJR0hUX09GRl9ERUxBWV9NQVNLCSgweDFmZmYpCi0jZGVmaW5lICBQ QU5FTF9MSUdIVF9PRkZfREVMQVlfU0hJRlQJMAotCi0jZGVmaW5lIF9QQ0hfUFBfRElWSVNPUgkJ CTB4YzcyMTAKLSNkZWZpbmUgIFBQX1JFRkVSRU5DRV9ESVZJREVSX01BU0sJKDB4ZmZmZmZmMDAp Ci0jZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVAk4Ci0jZGVmaW5lICBQQU5FTF9Q T1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFmKQotI2RlZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVf REVMQVlfU0hJRlQJMAotCi0jZGVmaW5lIFBDSF9QUF9TVEFUVVMJCQlfTU1JTyhfUENIX1BQX1NU QVRVUykKLSNkZWZpbmUgUENIX1BQX0NPTlRST0wJCQlfTU1JTyhfUENIX1BQX0NPTlRST0wpCi0j ZGVmaW5lIFBDSF9QUF9PTl9ERUxBWVMJCV9NTUlPKF9QQ0hfUFBfT05fREVMQVlTKQotI2RlZmlu ZSBQQ0hfUFBfT0ZGX0RFTEFZUwkJX01NSU8oX1BDSF9QUF9PRkZfREVMQVlTKQotI2RlZmluZSBQ Q0hfUFBfRElWSVNPUgkJCV9NTUlPKF9QQ0hfUFBfRElWSVNPUikKLQotLyogQlhUIFBQUyBjaGFu Z2VzIC0gMm5kIHNldCBvZiBQUFMgcmVnaXN0ZXJzICovCi0jZGVmaW5lIF9CWFRfUFBfU1RBVFVT MiAJMHhjNzMwMAotI2RlZmluZSBfQlhUX1BQX0NPTlRST0wyIAkweGM3MzA0Ci0jZGVmaW5lIF9C WFRfUFBfT05fREVMQVlTMgkweGM3MzA4Ci0jZGVmaW5lIF9CWFRfUFBfT0ZGX0RFTEFZUzIJMHhj NzMwYwotCi0jZGVmaW5lIEJYVF9QUF9TVEFUVVMobikJX01NSU9fUElQRShuLCBfUENIX1BQX1NU QVRVUywgX0JYVF9QUF9TVEFUVVMyKQotI2RlZmluZSBCWFRfUFBfQ09OVFJPTChuKQlfTU1JT19Q SVBFKG4sIF9QQ0hfUFBfQ09OVFJPTCwgX0JYVF9QUF9DT05UUk9MMikKLSNkZWZpbmUgQlhUX1BQ X09OX0RFTEFZUyhuKQlfTU1JT19QSVBFKG4sIF9QQ0hfUFBfT05fREVMQVlTLCBfQlhUX1BQX09O X0RFTEFZUzIpCi0jZGVmaW5lIEJYVF9QUF9PRkZfREVMQVlTKG4pCV9NTUlPX1BJUEUobiwgX1BD SF9QUF9PRkZfREVMQVlTLCBfQlhUX1BQX09GRl9ERUxBWVMyKQotCiAjZGVmaW5lIF9QQ0hfRFBf QgkJMHhlNDEwMAogI2RlZmluZSBQQ0hfRFBfQgkJX01NSU8oX1BDSF9EUF9CKQogI2RlZmluZSBf UENIX0RQQl9BVVhfQ0hfQ1RMCTB4ZTQxMTAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3VzcGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMK aW5kZXggNWNmZTRjNy4uYzgyNmI2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zdXNwZW5kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMK QEAgLTQ0LDE2ICs0NCwxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X3NhdmVfZGlzcGxheShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyA9IEk5MTVfUkVB RChMVkRTKTsKIAogCS8qIFBhbmVsIHBvd2VyIHNlcXVlbmNlciAqLwotCWlmIChIQVNfUENIX1NQ TElUKGRldikpIHsKLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JF QUQoUENIX1BQX0NPTlRST0wpOwotCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlT ID0gSTkxNV9SRUFEKFBDSF9QUF9PTl9ERUxBWVMpOwotCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZl UFBfT0ZGX0RFTEFZUyA9IEk5MTVfUkVBRChQQ0hfUFBfT0ZGX0RFTEFZUyk7Ci0JCWRldl9wcml2 LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBDSF9QUF9ESVZJU09SKTsKLQl9 IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9IDQpIHsKLQkJZGV2X3ByaXYtPnJlZ2Zp bGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JFQUQoUFBfQ09OVFJPTCk7Ci0JCWRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JFQUQoUFBfT05fREVMQVlTKTsKLQkJZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZ Uyk7Ci0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBQX0RJ VklTT1IpOworCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3By aXYpIDw9IDQpIHsKKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JF QUQoUFBfQ09OVFJPTCgwKSk7CisJCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMg PSBJOTE1X1JFQUQoUFBfT05fREVMQVlTKDApKTsKKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQ X09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZUygwKSk7CisJCWRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBQX0RJVklTT1IoMCkpOwogCX0KIAog CS8qIHNhdmUgRkJDIGludGVydmFsICovCkBAIC03OSwxNiArNzQsMTEgQEAgc3RhdGljIHZvaWQg aTkxNV9yZXN0b3JlX2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJSTkxNV9XUklU RShMVkRTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyAmIG1hc2spOwogCiAJLyogUGFuZWwg cG93ZXIgc2VxdWVuY2VyICovCi0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewotCQlJOTE1X1dS SVRFKFBDSF9QUF9PTl9ERUxBWVMsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMp OwotCQlJOTE1X1dSSVRFKFBDSF9QUF9PRkZfREVMQVlTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZl UFBfT0ZGX0RFTEFZUyk7Ci0JCUk5MTVfV1JJVEUoUENIX1BQX0RJVklTT1IsIGRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9ESVZJU09SKTsKLQkJSTkxNV9XUklURShQQ0hfUFBfQ09OVFJPTCwgZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wpOwotCX0gZWxzZSBpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPD0gNCkgewotCQlJOTE1X1dSSVRFKFBQX09OX0RFTEFZUywgZGV2X3ByaXYtPnJl Z2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7Ci0JCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUywgZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwotCQlJOTE1X1dSSVRFKFBQX0RJVklT T1IsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SKTsKLQkJSTkxNV9XUklURShQUF9D T05UUk9MLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7CisJaWYgKEhBU19QQ0hf U1BMSVQoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPD0gNCkgeworCQlJOTE1X1dS SVRFKFBQX09OX0RFTEFZUygwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7 CisJCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQ X09GRl9ERUxBWVMpOworCQlJOTE1X1dSSVRFKFBQX0RJVklTT1IoMCksIGRldl9wcml2LT5yZWdm aWxlLnNhdmVQUF9ESVZJU09SKTsKKwkJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBkZXZfcHJp di0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7CiAJfQogCiAJLyogb25seSByZXN0b3JlIEZCQyBp bmZvIG9uIHRoZSBwbGF0Zm9ybSB0aGF0IHN1cHBvcnRzIEZCQyovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggYzZmMjdhYi4uM2Q1ZmQwNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTIwMiw4ICsxMjAyLDggQEAgdm9pZCBhc3NlcnRfcGFuZWxf dW5sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChIQVNfUENI X1NQTElUKGRldikpIHsKIAkJdTMyIHBvcnRfc2VsOwogCi0JCXBwX3JlZyA9IFBDSF9QUF9DT05U Uk9MOwotCQlwb3J0X3NlbCA9IEk5MTVfUkVBRChQQ0hfUFBfT05fREVMQVlTKSAmIFBBTkVMX1BP UlRfU0VMRUNUX01BU0s7CisJCXBwX3JlZyA9IFBQX0NPTlRST0woMCk7CisJCXBvcnRfc2VsID0g STkxNV9SRUFEKFBQX09OX0RFTEFZUygwKSkgJiBQQU5FTF9QT1JUX1NFTEVDVF9NQVNLOwogCiAJ CWlmIChwb3J0X3NlbCA9PSBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTICYmCiAJCSAgICBJOTE1X1JF QUQoUENIX0xWRFMpICYgTFZEU19QSVBFQl9TRUxFQ1QpCkBAIC0xMjExLDEwICsxMjExLDEwIEBA IHZvaWQgYXNzZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAkJLyogWFhYOiBlbHNlIGZpeCBmb3IgZURQICovCiAJfSBlbHNlIGlmIChJU19WQUxM RVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7CiAJCS8qIHByZXN1bWFibHkgd3Jp dGUgbG9jayBkZXBlbmRzIG9uIHBpcGUsIG5vdCBwb3J0IHNlbGVjdCAqLwotCQlwcF9yZWcgPSBW TFZfUElQRV9QUF9DT05UUk9MKHBpcGUpOworCQlwcF9yZWcgPSBQUF9DT05UUk9MKHBpcGUpOwog CQlwYW5lbF9waXBlID0gcGlwZTsKIAl9IGVsc2UgewotCQlwcF9yZWcgPSBQUF9DT05UUk9MOwor CQlwcF9yZWcgPSBQUF9DT05UUk9MKDApOwogCQlpZiAoSTkxNV9SRUFEKExWRFMpICYgTFZEU19Q SVBFQl9TRUxFQ1QpCiAJCQlwYW5lbF9waXBlID0gUElQRV9COwogCX0KQEAgLTk0MTEsNyArOTQx MSw3IEBAIHN0YXRpYyB2b2lkIGFzc2VydF9jYW5fZGlzYWJsZV9sY3BsbChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChTUExMX0NU TCkgJiBTUExMX1BMTF9FTkFCTEUsICJTUExMIGVuYWJsZWRcbiIpOwogCUk5MTVfU1RBVEVfV0FS TihJOTE1X1JFQUQoV1JQTExfQ1RMKDApKSAmIFdSUExMX1BMTF9FTkFCTEUsICJXUlBMTDEgZW5h YmxlZFxuIik7CiAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChXUlBMTF9DVEwoMSkpICYgV1JQ TExfUExMX0VOQUJMRSwgIldSUExMMiBlbmFibGVkXG4iKTsKLQlJOTE1X1NUQVRFX1dBUk4oSTkx NV9SRUFEKFBDSF9QUF9TVEFUVVMpICYgUFBfT04sICJQYW5lbCBwb3dlciBvblxuIik7CisJSTkx NV9TVEFURV9XQVJOKEk5MTVfUkVBRChQUF9TVEFUVVMoMCkpICYgUFBfT04sICJQYW5lbCBwb3dl ciBvblxuIik7CiAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChCTENfUFdNX0NQVV9DVEwyKSAm IEJMTV9QV01fRU5BQkxFLAogCSAgICAgIkNQVSBQV00xIGVuYWJsZWRcbiIpOwogCWlmIChJU19I QVNXRUxMKGRldikpCkBAIC0xNDYzNSwxMiArMTQ2MzUsMjQgQEAgc3RhdGljIGJvb2wgaW50ZWxf Y3J0X3ByZXNlbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gdHJ1ZTsKIH0KIAor c3RhdGljIHZvaWQgaW50ZWxfcHBzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQoreworCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJU19CUk9YVE9OKGRldl9w cml2KSkKKwkJZGV2X3ByaXYtPnBwc19tbWlvX2Jhc2UgPSBQQ0hfUFBTX0JBU0U7CisJZWxzZSBp ZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCisJ CWRldl9wcml2LT5wcHNfbW1pb19iYXNlID0gVkxWX1BQU19CQVNFOworCWVsc2UKKwkJZGV2X3By aXYtPnBwc19tbWlvX2Jhc2UgPSBQUFNfQkFTRTsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfc2V0 dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcjsKIAlib29sIGRwZF9pc19lZHAgPSBmYWxzZTsKIAorCWludGVsX3Bwc19pbml0KGRl dl9wcml2KTsKKwogCS8qCiAJICogaW50ZWxfZWRwX2luaXRfY29ubmVjdG9yKCkgZGVwZW5kcyBv biB0aGlzIGNvbXBsZXRpbmcgZmlyc3QsIHRvCiAJICogcHJldmVudCB0aGUgcmVnaXN0ZXJhdGlv biBvZiBib3RoIGVEUCBhbmQgTFZEUyBhbmQgdGhlIGluY29ycmVjdApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKaW5kZXggOGZlMmFmYS4uYTVjZWY5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBA IC00NjMsMTMgKzQ2MywxMyBAQCB0eXBlZGVmIGJvb2wgKCp2bHZfcGlwZV9jaGVjaykoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIGJvb2wgdmx2X3BpcGVfaGFzX3Bw X29uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgICBlbnVtIHBp cGUgcGlwZSkKIHsKLQlyZXR1cm4gSTkxNV9SRUFEKFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKSkg JiBQUF9PTjsKKwlyZXR1cm4gSTkxNV9SRUFEKFBQX1NUQVRVUyhwaXBlKSkgJiBQUF9PTjsKIH0K IAogc3RhdGljIGJvb2wgdmx2X3BpcGVfaGFzX3ZkZF9vbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJCQkJZW51bSBwaXBlIHBpcGUpCiB7Ci0JcmV0dXJuIEk5MTVfUkVBRChW TFZfUElQRV9QUF9DT05UUk9MKHBpcGUpKSAmIEVEUF9GT1JDRV9WREQ7CisJcmV0dXJuIEk5MTVf UkVBRChQUF9DT05UUk9MKHBpcGUpKSAmIEVEUF9GT1JDRV9WREQ7CiB9CiAKIHN0YXRpYyBib29s IHZsdl9waXBlX2FueShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC00ODYs NyArNDg2LDcgQEAgdmx2X2luaXRpYWxfcHBzX3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCWVudW0gcGlwZSBwaXBlOwogCiAJZm9yIChwaXBlID0gUElQRV9BOyBwaXBl IDw9IFBJUEVfQjsgcGlwZSsrKSB7Ci0JCXUzMiBwb3J0X3NlbCA9IEk5MTVfUkVBRChWTFZfUElQ RV9QUF9PTl9ERUxBWVMocGlwZSkpICYKKwkJdTMyIHBvcnRfc2VsID0gSTkxNV9SRUFEKFBQX09O X0RFTEFZUyhwaXBlKSkgJgogCQkJUEFORUxfUE9SVF9TRUxFQ1RfTUFTSzsKIAogCQlpZiAocG9y dF9zZWwgIT0gUEFORUxfUE9SVF9TRUxFQ1RfVkxWKHBvcnQpKQpAQCAtNTgzLDMwICs1ODMsMjMg QEAgc3RhdGljIHZvaWQgaW50ZWxfcHBzX2dldF9yZWdpc3RlcnMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJ CSAgICBzdHJ1Y3QgcHBzX3JlZ2lzdGVycyAqcmVncykKIHsKKwlpbnQgcHBzX2lkeDsKKwogCW1l bXNldChyZWdzLCAwLCBzaXplb2YoKnJlZ3MpKTsKIAotCWlmIChJU19CUk9YVE9OKGRldl9wcml2 KSkgewotCQlpbnQgaWR4ID0gYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApOworCWlm IChJU19CUk9YVE9OKGRldl9wcml2KSkKKwkJcHBzX2lkeCA9IGJ4dF9wb3dlcl9zZXF1ZW5jZXJf aWR4KGludGVsX2RwKTsKKwllbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKKwkJcHBz X2lkeCA9IDA7CisJZWxzZQorCQlwcHNfaWR4ID0gdmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGlu dGVsX2RwKTsKIAotCQlyZWdzLT5wcF9jdHJsID0gQlhUX1BQX0NPTlRST0woaWR4KTsKLQkJcmVn cy0+cHBfc3RhdCA9IEJYVF9QUF9TVEFUVVMoaWR4KTsKLQkJcmVncy0+cHBfb24gPSBCWFRfUFBf T05fREVMQVlTKGlkeCk7Ci0JCXJlZ3MtPnBwX29mZiA9IEJYVF9QUF9PRkZfREVMQVlTKGlkeCk7 Ci0JfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewotCQlyZWdzLT5wcF9jdHJs ID0gUENIX1BQX0NPTlRST0w7Ci0JCXJlZ3MtPnBwX3N0YXQgPSBQQ0hfUFBfU1RBVFVTOwotCQly ZWdzLT5wcF9vbiA9IFBDSF9QUF9PTl9ERUxBWVM7Ci0JCXJlZ3MtPnBwX29mZiA9IFBDSF9QUF9P RkZfREVMQVlTOwotCQlyZWdzLT5wcF9kaXYgPSBQQ0hfUFBfRElWSVNPUjsKLQl9IGVsc2Ugewot CQllbnVtIHBpcGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9kcCk7Ci0K LQkJcmVncy0+cHBfY3RybCA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Ci0JCXJlZ3MtPnBw X3N0YXQgPSBWTFZfUElQRV9QUF9TVEFUVVMocGlwZSk7Ci0JCXJlZ3MtPnBwX29uID0gVkxWX1BJ UEVfUFBfT05fREVMQVlTKHBpcGUpOwotCQlyZWdzLT5wcF9vZmYgPSBWTFZfUElQRV9QUF9PRkZf REVMQVlTKHBpcGUpOwotCQlyZWdzLT5wcF9kaXYgPSBWTFZfUElQRV9QUF9ESVZJU09SKHBpcGUp OwotCX0KKwlyZWdzLT5wcF9jdHJsID0gUFBfQ09OVFJPTChwcHNfaWR4KTsKKwlyZWdzLT5wcF9z dGF0ID0gUFBfU1RBVFVTKHBwc19pZHgpOworCXJlZ3MtPnBwX29uID0gUFBfT05fREVMQVlTKHBw c19pZHgpOworCXJlZ3MtPnBwX29mZiA9IFBQX09GRl9ERUxBWVMocHBzX2lkeCk7CisJaWYgKCFJ U19CUk9YVE9OKGRldl9wcml2KSkKKwkJcmVncy0+cHBfZGl2ID0gUFBfRElWSVNPUihwcHNfaWR4 KTsKIH0KIAogc3RhdGljIGk5MTVfcmVnX3QKQEAgLTY1MSw4ICs2NDQsOCBAQCBzdGF0aWMgaW50 IGVkcF9ub3RpZnlfaGFuZGxlcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVk IGxvbmcgY29kZSwKIAkJaTkxNV9yZWdfdCBwcF9jdHJsX3JlZywgcHBfZGl2X3JlZzsKIAkJdTMy IHBwX2RpdjsKIAotCQlwcF9jdHJsX3JlZyA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Ci0J CXBwX2Rpdl9yZWcgID0gVkxWX1BJUEVfUFBfRElWSVNPUihwaXBlKTsKKwkJcHBfY3RybF9yZWcg PSBQUF9DT05UUk9MKHBpcGUpOworCQlwcF9kaXZfcmVnICA9IFBQX0RJVklTT1IocGlwZSk7CiAJ CXBwX2RpdiA9IEk5MTVfUkVBRChwcF9kaXZfcmVnKTsKIAkJcHBfZGl2ICY9IFBQX1JFRkVSRU5D RV9ESVZJREVSX01BU0s7CiAKQEAgLTI3MjksNyArMjcyMiw3IEBAIHN0YXRpYyB2b2lkIHZsdl9k ZXRhY2hfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRl bF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRl bF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9kcC0+ cHBzX3BpcGU7Ci0JaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBWTFZfUElQRV9QUF9PTl9ERUxBWVMo cGlwZSk7CisJaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBQUF9PTl9ERUxBWVMocGlwZSk7CiAKIAll ZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZk cy5jCmluZGV4IDQ5NTUwNDcuLjQxM2U3MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMK QEAgLTIxNywyMSArMjE3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9sdmRzKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVs X2Nvbm5lY3RvciA9CiAJCSZsdmRzX2VuY29kZXItPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JaTkx NV9yZWdfdCBjdGxfcmVnLCBzdGF0X3JlZzsKLQotCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsK LQkJY3RsX3JlZyA9IFBDSF9QUF9DT05UUk9MOwotCQlzdGF0X3JlZyA9IFBDSF9QUF9TVEFUVVM7 Ci0JfSBlbHNlIHsKLQkJY3RsX3JlZyA9IFBQX0NPTlRST0w7Ci0JCXN0YXRfcmVnID0gUFBfU1RB VFVTOwotCX0KIAogCUk5MTVfV1JJVEUobHZkc19lbmNvZGVyLT5yZWcsIEk5MTVfUkVBRChsdmRz X2VuY29kZXItPnJlZykgfCBMVkRTX1BPUlRfRU4pOwogCi0JSTkxNV9XUklURShjdGxfcmVnLCBJ OTE1X1JFQUQoY3RsX3JlZykgfCBQT1dFUl9UQVJHRVRfT04pOworCUk5MTVfV1JJVEUoUFBfQ09O VFJPTCgwKSwgSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpIHwgUE9XRVJfVEFSR0VUX09OKTsKIAlQ T1NUSU5HX1JFQUQobHZkc19lbmNvZGVyLT5yZWcpOwotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcihkZXZfcHJpdiwgc3RhdF9yZWcsIFBQX09OLCBQUF9PTiwgMTAwMCkpCisJaWYgKGludGVs X3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQUF9TVEFUVVMoMCksIFBQX09OLCBQUF9PTiwg MTAwMCkpCiAJCURSTV9FUlJPUigidGltZWQgb3V0IHdhaXRpbmcgZm9yIHBhbmVsIHRvIHBvd2Vy IG9uXG4iKTsKIAogCWludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoaW50ZWxfY29ubmVjdG9y KTsKQEAgLTI0MiwxOCArMjMzLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9sdmRzKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBl bmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgaW50ZWxfbHZkc19lbmNvZGVyICpsdmRzX2VuY29k ZXIgPSB0b19sdmRzX2VuY29kZXIoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlpOTE1X3JlZ190IGN0bF9yZWcsIHN0 YXRfcmVnOwogCi0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewotCQljdGxfcmVnID0gUENIX1BQ X0NPTlRST0w7Ci0JCXN0YXRfcmVnID0gUENIX1BQX1NUQVRVUzsKLQl9IGVsc2UgewotCQljdGxf cmVnID0gUFBfQ09OVFJPTDsKLQkJc3RhdF9yZWcgPSBQUF9TVEFUVVM7Ci0JfQotCi0JSTkxNV9X UklURShjdGxfcmVnLCBJOTE1X1JFQUQoY3RsX3JlZykgJiB+UE9XRVJfVEFSR0VUX09OKTsKLQlp ZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIHN0YXRfcmVnLCBQUF9PTiwgMCwg MTAwMCkpCisJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBJOTE1X1JFQUQoUFBfQ09OVFJPTCgw KSkgJiB+UE9XRVJfVEFSR0VUX09OKTsKKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2 X3ByaXYsIFBQX1NUQVRVUygwKSwgUFBfT04sIDAsIDEwMDApKQogCQlEUk1fRVJST1IoInRpbWVk IG91dCB3YWl0aW5nIGZvciBwYW5lbCB0byBwb3dlciBvZmZcbiIpOwogCiAJSTkxNV9XUklURShs dmRzX2VuY29kZXItPnJlZywgSTkxNV9SRUFEKGx2ZHNfZW5jb2Rlci0+cmVnKSAmIH5MVkRTX1BP UlRfRU4pOwpAQCAtOTA0LDEzICs4ODYsMTAgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAkgKiBVbmxvY2sgcmVnaXN0ZXJzIGFuZCBqdXN0IGxlYXZlIHRo ZW0gdW5sb2NrZWQuIERvIHRoaXMgYmVmb3JlCiAJICogY2hlY2tpbmcgcXVpcmsgbGlzdHMgdG8g YXZvaWQgYm9ndXMgV0FSTklOR3MuCiAJICovCi0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewot CQlJOTE1X1dSSVRFKFBDSF9QUF9DT05UUk9MLAotCQkJICAgSTkxNV9SRUFEKFBDSF9QUF9DT05U Uk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKLQl9IGVsc2UgaWYgKElOVEVMX0lORk8oZGV2X3By aXYpLT5nZW4gPCA1KSB7Ci0JCUk5MTVfV1JJVEUoUFBfQ09OVFJPTCwKLQkJCSAgIEk5MTVfUkVB RChQUF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKLQl9CisJaWYgKEhBU19QQ0hfU1BM SVQoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPD0gNCkKKwkJSTkxNV9XUklURShQ UF9DT05UUk9MKDApLAorCQkJICAgSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpIHwgUEFORUxfVU5M T0NLX1JFR1MpOworCiAJaWYgKCFpbnRlbF9sdmRzX3N1cHBvcnRlZChkZXYpKQogCQlyZXR1cm47 CiAKQEAgLTk0NSwxMiArOTI0LDEyIEBAIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAKIAkgLyogU2V0IHRoZSBQYW5lbCBQb3dlciBPbi9PZmYgdGltaW5ncyBp ZiB1bmluaXRpYWxpemVkLiAqLwogCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNSAm JgotCSAgICBJOTE1X1JFQUQoUFBfT05fREVMQVlTKSA9PSAwICYmIEk5MTVfUkVBRChQUF9PRkZf REVMQVlTKSA9PSAwKSB7CisJICAgIEk5MTVfUkVBRChQUF9PTl9ERUxBWVMoMCkpID09IDAgJiYg STkxNV9SRUFEKFBQX09GRl9ERUxBWVMoMCkpID09IDApIHsKIAkJLyogU2V0IFQyIHRvIDQwbXMg YW5kIFQ1IHRvIDIwMG1zICovCi0JCUk5MTVfV1JJVEUoUFBfT05fREVMQVlTLCAweDAxOTAwN2Qw KTsKKwkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIDB4MDE5MDA3ZDApOwogCiAJCS8qIFNl dCBUMyB0byAzNW1zIGFuZCBUeCB0byAyMDBtcyAqLwotCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxB WVMsIDB4MDE1ZTA3ZDApOworCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIDB4MDE1ZTA3 ZDApOwogCiAJCURSTV9ERUJVR19LTVMoIlBhbmVsIHBvd2VyIHRpbWluZ3MgdW5pbml0aWFsaXpl ZCwgc2V0dGluZyBkZWZhdWx0c1xuIik7CiAJfQotLSAKMi41LjAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=