From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [APL PO PATCH] drm/i915/bxt: Additional MIPI clock divider form B0 stepping onwards Date: Wed, 3 Feb 2016 16:13:29 +0530 Message-ID: <1454496209-19256-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 55E7C6E0BE for ; Tue, 2 Feb 2016 21:09:15 -0800 (PST) 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: Deepak M List-Id: intel-gfx@lists.freedesktop.org VGhlIE1JUEkgY2xvY2sgY2FsY3VsYXRpb25zIGZvciB0aGUgYWRkdGlvbmFsIGNsb2NrCmFyZSBy ZXZpc2VkIGZyb20gQjAgc3RlcHBpbmcgb253YXJkcywgdGhlIGJpdCBkZWZpbml0aW9ucwpoYXZl IGNoYW5nZWQgY29tcGFyZWQgdG8gb2xkIHN0ZXBwaW5nLgoKU2lnbmVkLW9mZi1ieTogRGVlcGFr IE0gPG0uZGVlcGFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oICAgICAgfCAxMDQgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyB8ICA2NSArKysrKysrKysrKysrKystLS0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDczIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGMwYmQ2OTEuLjI1NjhmMzUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaApAQCAtNzYzOCw2ICs3NjM4LDU3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJf d2VsbHMgewogCiAvKiBNSVBJIERTSSByZWdpc3RlcnMgKi8KIAorI2RlZmluZSAgQlhUX01JUEkx X1JYX0xPV0VSX1NISUZUCQkxNgorI2RlZmluZSAgQlhUX01JUEkyX1JYX0xPV0VSX1NISUZUCQkw CisjZGVmaW5lICBCWFRfTUlQSV9SWF9MT1dFUl9TSElGVChwb3J0KQlcCisJCQlfTUlQSV9QT1JU KHBvcnQsIEJYVF9NSVBJMV9SWF9MT1dFUl9TSElGVCwgXAorCQkJCUJYVF9NSVBJMl9SWF9MT1dF Ul9TSElGVCkKKyNkZWZpbmUgIEJYVF9NSVBJMV9SWF9MT1dFUl9ESVZJREVSX01BU0sJKDMgPDwg MTYpCisjZGVmaW5lICBCWFRfTUlQSTJfUlhfTE9XRVJfRElWSURFUl9NQVNLCSgzIDw8IDApCisj ZGVmaW5lICBCWFRfTUlQSV9SWF9MT1dFUl9ESVZJREVSX01BU0socG9ydCkJXAorCQkJKDMgPDwg QlhUX01JUElfUlhfTE9XRVJfU0hJRlQocG9ydCkpCisjZGVmaW5lICBCWFRfTUlQSV9SWF9MT1dF Ul9ESVZJREVSKHBvcnQsIHZhbCkJXAorCQkJKCh2YWwgJiAzKSA8PCBCWFRfTUlQSV9SWF9MT1dF Ul9TSElGVChwb3J0KSkKKworI2RlZmluZSAgQlhUX01JUEkxXzhYX0JZM19TSElGVAkJMTkKKyNk ZWZpbmUgIEJYVF9NSVBJMl84WF9CWTNfU0hJRlQJCTMKKyNkZWZpbmUgIEJYVF9NSVBJXzhYX0JZ M19TSElGVChwb3J0KSAgICAgICAgICBcCisJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV84 WF9CWTNfU0hJRlQsIFwKKwkJCQlCWFRfTUlQSTJfOFhfQlkzX1NISUZUKQorI2RlZmluZSAgQlhU X01JUEkxXzhYX0JZM19ESVZJREVSX01BU0sJCSgzIDw8IDE5KQorI2RlZmluZSAgQlhUX01JUEky XzhYX0JZM19ESVZJREVSX01BU0sJCSgzIDw8IDMpCisjZGVmaW5lICBCWFRfTUlQSV84WF9CWTNf RElWSURFUl9NQVNLKHBvcnQpCVwKKwkJCSgzIDw8IEJYVF9NSVBJXzhYX0JZM19TSElGVChwb3J0 KSkKKyNkZWZpbmUgIEJYVF9NSVBJXzhYX0JZM19ESVZJREVSKHBvcnQsIHZhbCkJXAorCQkJKCh2 YWwgJiAzKSA8PCBCWFRfTUlQSV84WF9CWTNfU0hJRlQocG9ydCkpCisKKyNkZWZpbmUgIEJYVF9N SVBJMV9SWF9VUFBFUl9TSElGVAkJMjEKKyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9VUFBFUl9TSElG VAkJNQorI2RlZmluZSAgQlhUX01JUElfUlhfVVBQRVJfU0hJRlQocG9ydCkJXAorCQkJX01JUElf UE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfVVBQRVJfU0hJRlQsIFwKKwkJCQlCWFRfTUlQSTJfUlhf VVBQRVJfU0hJRlQpCisjZGVmaW5lICBCWFRfTUlQSTFfUlhfVVBQRVJfRElWSURFUl9NQVNLCSgz IDw8IDIxKQorI2RlZmluZSAgQlhUX01JUEkyX1JYX1VQUEVSX0RJVklERVJfTUFTSwkoMyA8PCA1 KQorI2RlZmluZSAgQlhUX01JUElfUlhfVVBQRVJfRElWSURFUl9NQVNLKHBvcnQpCVwKKwkJCSgz IDw8IEJYVF9NSVBJX1JYX1VQUEVSX1NISUZUKHBvcnQpKQorI2RlZmluZSAgQlhUX01JUElfUlhf VVBQRVJfRElWSURFUihwb3J0LCB2YWwpCVwKKwkJCSgodmFsICYgMykgPDwgQlhUX01JUElfUlhf VVBQRVJfU0hJRlQocG9ydCkpCisKKyNkZWZpbmUgIEJYVF9NSVBJMV9UWF9TSElGVAkJCTI2Cisj ZGVmaW5lICBCWFRfTUlQSTJfVFhfU0hJRlQJCQkxMAorI2RlZmluZSAgQlhUX01JUElfVFhfU0hJ RlQocG9ydCkJCVwKKwkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfVFhfU0hJRlQsIFwKKwkJ CQlCWFRfTUlQSTJfVFhfU0hJRlQpCisjZGVmaW5lICBCWFRfTUlQSTFfVFhfRElWSURFUl9NQVNL CQkoMHgzRiA8PCAyNikKKyNkZWZpbmUgIEJYVF9NSVBJMl9UWF9ESVZJREVSX01BU0sJCSgweDNG IDw8IDEwKQorI2RlZmluZSAgQlhUX01JUElfVFhfRElWSURFUl9NQVNLKHBvcnQpCQlcCisJCQko MHgzRiA8PCBCWFRfTUlQSV9UWF9TSElGVChwb3J0KSkKKyNkZWZpbmUgIEJYVF9NSVBJX1RYX0RJ VklERVIocG9ydCwgdmFsKQlcCisJCQkoKHZhbCAmIDB4M0YpIDw8IEJYVF9NSVBJX1RYX1NISUZU KHBvcnQpKQorCisjZGVmaW5lIFJYX0RJVklERVJfQklUXzFfMgkJCTB4MworI2RlZmluZSBSWF9E SVZJREVSX0JJVF8zXzQJCQkweEMKKwogI2RlZmluZSBfTUlQSV9QT1JUKHBvcnQsIGEsIGMpCV9Q T1JUMyhwb3J0LCBhLCAwLCBjKQkvKiBwb3J0cyBBIGFuZCBDIG9ubHkgKi8KICNkZWZpbmUgX01N SU9fTUlQSShwb3J0LCBhLCBjKQlfTU1JTyhfTUlQSV9QT1JUKHBvcnQsIGEsIGMpKQogCkBAIC03 NjUwLDU5ICs3NzAxLDYgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lICBC WFRfTUlQSV9ESVZfU0hJRlQocG9ydCkJCVwKIAkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkx X0RJVl9TSElGVCwgXAogCQkJCQlCWFRfTUlQSTJfRElWX1NISUZUKQotLyogVmFyIGNsb2NrIGRp dmlkZXIgdG8gZ2VuZXJhdGUgVFggc291cmNlLiBSZXN1bHQgbXVzdCBiZSA8IDM5LjUgTSAqLwot I2RlZmluZSAgQlhUX01JUEkxX0VTQ0xLX1ZBUl9ESVZfTUFTSwkJKDB4M0YgPDwgMjYpCi0jZGVm aW5lICBCWFRfTUlQSTJfRVNDTEtfVkFSX0RJVl9NQVNLCQkoMHgzRiA8PCAxMCkKLSNkZWZpbmUg IEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhwb3J0KQlcCi0JCQlfTUlQSV9QT1JUKHBvcnQs IEJYVF9NSVBJMV9FU0NMS19WQVJfRElWX01BU0ssIFwKLQkJCQkJCUJYVF9NSVBJMl9FU0NMS19W QVJfRElWX01BU0spCi0KLSNkZWZpbmUgIEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVYocG9ydCwgdmFs KQlcCi0JCQkodmFsIDw8IEJYVF9NSVBJX0RJVl9TSElGVChwb3J0KSkKLS8qIFRYIGNvbnRyb2wg ZGl2aWRlciB0byBzZWxlY3QgYWN0dWFsIFRYIGNsb2NrIG91dHB1dCBmcm9tICg4eC92YXIpICov Ci0jZGVmaW5lICBCWFRfTUlQSTFfVFhfRVNDTEtfU0hJRlQJCTIxCi0jZGVmaW5lICBCWFRfTUlQ STJfVFhfRVNDTEtfU0hJRlQJCTUKLSNkZWZpbmUgIEJYVF9NSVBJX1RYX0VTQ0xLX1NISUZUKHBv cnQpCQlcCi0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9UWF9FU0NMS19TSElGVCwgXAot CQkJCQlCWFRfTUlQSTJfVFhfRVNDTEtfU0hJRlQpCi0jZGVmaW5lICBCWFRfTUlQSTFfVFhfRVND TEtfRklYRElWX01BU0sJCSgzIDw8IDIxKQotI2RlZmluZSAgQlhUX01JUEkyX1RYX0VTQ0xLX0ZJ WERJVl9NQVNLCQkoMyA8PCA1KQotI2RlZmluZSAgQlhUX01JUElfVFhfRVNDTEtfRklYRElWX01B U0socG9ydCkJXAotCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfVFhfRVNDTEtfRklYRElW X01BU0ssIFwKLQkJCQkJCUJYVF9NSVBJMl9UWF9FU0NMS19GSVhESVZfTUFTSykKLSNkZWZpbmUg IEJYVF9NSVBJX1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0KQlcCi0JCSgweDAgPDwgQlhUX01JUElf VFhfRVNDTEtfU0hJRlQocG9ydCkpCi0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS184WERJVl9C WTQocG9ydCkJXAotCQkoMHgxIDw8IEJYVF9NSVBJX1RYX0VTQ0xLX1NISUZUKHBvcnQpKQotI2Rl ZmluZSAgQlhUX01JUElfVFhfRVNDTEtfOFhESVZfQlk4KHBvcnQpCVwKLQkJKDB4MiA8PCBCWFRf TUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKLS8qIFJYIGNvbnRyb2wgZGl2aWRlciB0byBzZWxl Y3QgYWN0dWFsIFJYIGNsb2NrIG91dHB1dCBmcm9tIDh4Ki8KLSNkZWZpbmUgIEJYVF9NSVBJMV9S WF9FU0NMS19TSElGVAkJMTkKLSNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19TSElGVAkJMwot I2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkJCVwKLQkJCV9NSVBJX1BPUlQo cG9ydCwgQlhUX01JUEkxX1JYX0VTQ0xLX1NISUZULCBcCi0JCQkJCUJYVF9NSVBJMl9SWF9FU0NM S19TSElGVCkKLSNkZWZpbmUgIEJYVF9NSVBJMV9SWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwg MTkpCi0jZGVmaW5lICBCWFRfTUlQSTJfUlhfRVNDTEtfRklYRElWX01BU0sJCSgzIDw8IDMpCi0j ZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19GSVhESVZfTUFTSyhwb3J0KQlcCi0JCSgzIDw8IEJY VF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQotI2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtf OFhfQlkyKHBvcnQpCVwKLQkJKDEgPDwgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCi0j ZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS184WF9CWTMocG9ydCkJXAotCQkoMiA8PCBCWFRfTUlQ SV9SWF9FU0NMS19TSElGVChwb3J0KSkKLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhYX0JZ NChwb3J0KQlcCi0JCSgzIDw8IEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQotLyogQlhU LUEgV0E6IEFsd2F5cyBwcm9nIERQSFkgZGl2aWRlcnMgdG8gMDAgKi8KLSNkZWZpbmUgIEJYVF9N SVBJMV9EUEhZX0RJVl9TSElGVAkJMTYKLSNkZWZpbmUgIEJYVF9NSVBJMl9EUEhZX0RJVl9TSElG VAkJMAotI2RlZmluZSAgQlhUX01JUElfRFBIWV9ESVZfU0hJRlQocG9ydCkJCVwKLQkJCV9NSVBJ X1BPUlQocG9ydCwgQlhUX01JUEkxX0RQSFlfRElWX1NISUZULCBcCi0JCQkJCUJYVF9NSVBJMl9E UEhZX0RJVl9TSElGVCkKLSNkZWZpbmUgIEJYVF9NSVBJXzFfRFBIWV9ESVZJREVSX01BU0sJCSgz IDw8IDE2KQotI2RlZmluZSAgQlhUX01JUElfMl9EUEhZX0RJVklERVJfTUFTSwkJKDMgPDwgMCkK LSNkZWZpbmUgIEJYVF9NSVBJX0RQSFlfRElWSURFUl9NQVNLKHBvcnQpCVwKLQkJKDMgPDwgQlhU X01JUElfRFBIWV9ESVZfU0hJRlQocG9ydCkpCi0KIC8qIEJYVCBNSVBJIG1vZGUgY29uZmlndXJl ICovCiAjZGVmaW5lICBfQlhUX01JUElBX1RSQU5TX0hBQ1RJVkUJCQkweDZCMEY4CiAjZGVmaW5l ICBfQlhUX01JUElDX1RSQU5TX0hBQ1RJVkUJCQkweDZCOEY4CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGxsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2lfcGxsLmMKaW5kZXggYmI1ZTk1YS4uNmRmZGNiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaV9wbGwuYwpAQCAtMzYyLDM1ICszNjIsNTkgQEAgc3RhdGljIHZvaWQgdmx2X2RzaV9y ZXNldF9jbG9ja3Moc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGVudW0gcG9ydCBwb3J0 KQogLyogUHJvZ3JhbSBCWFQgTWlwaSBjbG9ja3MgYW5kIGRpdmlkZXJzICovCiBzdGF0aWMgdm9p ZCBieHRfZHNpX3Byb2dyYW1fY2xvY2tzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcG9y dCBwb3J0KQogewotCXUzMiB0bXA7Ci0JdTMyIGRpdmlkZXI7Ci0JdTMyIGRzaV9yYXRlOwotCXUz MiBwbGxfcmF0aW87CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKKwl1MzIgdG1wOworCXUzMiBkc2lfcmF0ZSA9IDA7CisJdTMyIHBsbF9yYXRp byA9IDA7CisJdTMyIHJ4X2RpdjsKKwl1MzIgdHhfZGl2OworCXUzMiByeF9kaXZfdXBwZXI7CisJ dTMyIHJ4X2Rpdl9sb3dlcjsKKwl1MzIgbWlwaV84YnkzX2RpdmlkZXI7CiAKIAkvKiBDbGVhciBv bGQgY29uZmlndXJhdGlvbnMgKi8KIAl0bXAgPSBJOTE1X1JFQUQoQlhUX01JUElfQ0xPQ0tfQ1RM KTsKLQl0bXAgJj0gfihCWFRfTUlQSV9UWF9FU0NMS19GSVhESVZfTUFTSyhwb3J0KSk7Ci0JdG1w ICY9IH4oQlhUX01JUElfUlhfRVNDTEtfRklYRElWX01BU0socG9ydCkpOwotCXRtcCAmPSB+KEJY VF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhwb3J0KSk7Ci0JdG1wICY9IH4oQlhUX01JUElfRFBI WV9ESVZJREVSX01BU0socG9ydCkpOworCXRtcCAmPSB+KEJYVF9NSVBJXzhYX0JZM19ESVZJREVS X01BU0socG9ydCkpOworCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0xPV0VSX0RJVklERVJfTUFTSyhw b3J0KSk7CisJdG1wICY9IH4oQlhUX01JUElfUlhfVVBQRVJfRElWSURFUl9NQVNLKHBvcnQpKTsK Kwl0bXAgJj0gfihCWFRfTUlQSV9UWF9ESVZJREVSX01BU0socG9ydCkpOwogCiAJLyogR2V0IHRo ZSBjdXJyZW50IERTSSByYXRlKGFjdHVhbCkgKi8KIAlwbGxfcmF0aW8gPSBJOTE1X1JFQUQoQlhU X0RTSV9QTExfQ1RMKSAmCi0JCQkJQlhUX0RTSV9QTExfUkFUSU9fTUFTSzsKKwkJCQkJQlhUX0RT SV9QTExfUkFUSU9fTUFTSzsKKworCS8qIFRvIGdldCA4WCBjbG9jaywgZGl2aWRlIHJlZl9mcmVx ICogcGxsIHJhdGlvIGJ5IDIgYXMgcGVyIGJzcGVjICovCiAJZHNpX3JhdGUgPSAoQlhUX1JFRl9D TE9DS19LSFogKiBwbGxfcmF0aW8pIC8gMjsKIAotCS8qIE1heCBwb3NzaWJsZSBvdXRwdXQgb2Yg Y2xvY2sgaXMgMzkuNSBNSHosIHByb2dyYW0gdmFsdWUgLTEgKi8KLQlkaXZpZGVyID0gKGRzaV9y YXRlIC8gQlhUX01BWF9WQVJfT1VUUFVUX0tIWikgLSAxOwotCXRtcCB8PSBCWFRfTUlQSV9FU0NM S19WQVJfRElWKHBvcnQsIGRpdmlkZXIpOworCS8qCisJICogdHggY2xvY2sgc2hvdWxkIGJlIDw9 IDIwTUh6IGFuZCB0aGUgZGl2IHZhbHVlIG11c3QgYmUKKwkgKiBzdWJ0cmFjdGVkIGJ5IDEgYXMg cGVyIGJzcGVjCisJICovCisJdHhfZGl2ID0gRElWX1JPVU5EX1VQKGRzaV9yYXRlLCAyMDAwMCkg LSAxOworCS8qCisJICogcnggY2xvY2sgc2hvdWxkIGJlIDw9IDE1ME1IeiBhbmQgdGhlIGRpdiB2 YWx1ZSBtdXN0IGJlCisJICogc3VidHJhY3RlZCBieSAxIGFzIHBlciBic3BlYworCSAqLworCXJ4 X2RpdiA9IERJVl9ST1VORF9VUChkc2lfcmF0ZSwgMTUwMDAwKSAtIDE7CiAKIAkvKgotCSAqIFR4 IGVzY2FwZSBjbG9jayBtdXN0IGJlIGFzIGNsb3NlIHRvIDIwTUh6IHBvc3NpYmxlLCBidXQgc2hv dWxkCi0JICogbm90IGV4Y2VlZCBpdC4gSGVuY2Ugc2VsZWN0IGRpdmlkZSBieSAyCisJICogcngg ZGl2aWRlciB2YWx1ZSBuZWVkcyB0byBiZSB1cGRhdGVkIGluIHRoZQorCSAqIHR3byBkaWZmZXJu dCBiaXQgZmllbGRzIGluIHRoZSByZWdpc3RlciBoZW5jZSBzcGxpdHRpbmcgdGhlCisJICogcngg ZGl2aWRlciB2YWx1ZSBhY2NvcmRpbmdseQogCSAqLwotCXRtcCB8PSBCWFRfTUlQSV9UWF9FU0NM S184WERJVl9CWTIocG9ydCk7CisJcnhfZGl2X2xvd2VyID0gcnhfZGl2ICYgUlhfRElWSURFUl9C SVRfMV8yOworCXJ4X2Rpdl91cHBlciA9IChyeF9kaXYgJiBSWF9ESVZJREVSX0JJVF8zXzQpID4+ IDI7CiAKLQl0bXAgfD0gQlhUX01JUElfUlhfRVNDTEtfOFhfQlkzKHBvcnQpOworCS8qIEFzIHBl ciBicHNlYyBwcm9ncmFtIHRoZSA4LzNYIGNsb2NrIGRpdmlkZXIgdG8gdGhlIGJlbG93IHZhbHVl ICovCisJaWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+aXNfY21kX21vZGUpCisJCW1pcGlf OGJ5M19kaXZpZGVyID0gMHgyOworCWVsc2UKKwkJbWlwaV84YnkzX2RpdmlkZXIgPSAweDM7CisK Kwl0bXAgfD0gQlhUX01JUElfOFhfQlkzX0RJVklERVIocG9ydCwgbWlwaV84YnkzX2RpdmlkZXIp OworCXRtcCB8PSBCWFRfTUlQSV9UWF9ESVZJREVSKHBvcnQsIHR4X2Rpdik7CisJdG1wIHw9IEJY VF9NSVBJX1JYX0xPV0VSX0RJVklERVIocG9ydCwgcnhfZGl2X2xvd2VyKTsKKwl0bXAgfD0gQlhU X01JUElfUlhfVVBQRVJfRElWSURFUihwb3J0LCByeF9kaXZfdXBwZXIpOwogCiAJSTkxNV9XUklU RShCWFRfTUlQSV9DTE9DS19DVEwsIHRtcCk7CiB9CkBAIC00NDUsNiArNDY5LDcgQEAgc3RhdGlj IGJvb2wgYnh0X2NvbmZpZ3VyZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQogCiBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2RzaV9wbGwoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2 OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmJhc2UuZGV2 LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50 ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKIAllbnVtIHBvcnQgcG9ydDsKQEAgLTUxMiwxMCArNTM3 LDEwIEBAIHN0YXRpYyB2b2lkIGJ4dF9kc2lfcmVzZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLCBlbnVtIHBvcnQgcG9ydCkKIAogCS8qIENsZWFyIG9sZCBjb25maWd1cmF0 aW9ucyAqLwogCXRtcCA9IEk5MTVfUkVBRChCWFRfTUlQSV9DTE9DS19DVEwpOwotCXRtcCAmPSB+ KEJYVF9NSVBJX1RYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKLQl0bXAgJj0gfihCWFRfTUlQ SV9SWF9FU0NMS19GSVhESVZfTUFTSyhwb3J0KSk7Ci0JdG1wICY9IH4oQlhUX01JUElfRVNDTEtf VkFSX0RJVl9NQVNLKHBvcnQpKTsKLQl0bXAgJj0gfihCWFRfTUlQSV9EUEhZX0RJVklERVJfTUFT Syhwb3J0KSk7CisJdG1wICY9IH4oQlhUX01JUElfOFhfQlkzX0RJVklERVJfTUFTSyhwb3J0KSk7 CisJdG1wICY9IH4oQlhUX01JUElfUlhfTE9XRVJfRElWSURFUl9NQVNLKHBvcnQpKTsKKwl0bXAg Jj0gfihCWFRfTUlQSV9SWF9VUFBFUl9ESVZJREVSX01BU0socG9ydCkpOworCXRtcCAmPSB+KEJY VF9NSVBJX1RYX0RJVklERVJfTUFTSyhwb3J0KSk7CiAJSTkxNV9XUklURShCWFRfTUlQSV9DTE9D S19DVEwsIHRtcCk7CiAJSTkxNV9XUklURShNSVBJX0VPVF9ESVNBQkxFKHBvcnQpLCBDTE9DS1NU T1ApOwogfQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==