From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915/bxt: Additional MIPI clock divider form B0 stepping onwards Date: Thu, 03 Mar 2016 15:06:43 +0200 Message-ID: <8737s7sobg.fsf@intel.com> References: <87lh70efxb.fsf@intel.com> <1455556437-29267-1-git-send-email-m.deepak@intel.com> <877fi3f5al.fsf@intel.com> <56D08216.2000507@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 1A78C6E0F7 for ; Thu, 3 Mar 2016 13:06:46 +0000 (UTC) In-Reply-To: <56D08216.2000507@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ramalingam C , Deepak M , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyNiBGZWIgMjAxNiwgUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29t PiB3cm90ZToKPiBPbiBUaHVyc2RheSAxOCBGZWJydWFyeSAyMDE2IDAyOjAwIEFNLCBKYW5pIE5p a3VsYSB3cm90ZToKPj4gT24gTW9uLCAxNSBGZWIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGlu dGVsLmNvbT4gd3JvdGU6Cj4+PiBUaGUgTUlQSSBjbG9jayBjYWxjdWxhdGlvbnMgZm9yIHRoZSBh ZGR0aW9uYWwgY2xvY2sKPj4+IGFyZSByZXZpc2VkIGZyb20gQjAgc3RlcHBpbmcgb253YXJkcywg dGhlIGJpdCBkZWZpbml0aW9ucwo+Pj4gaGF2ZSBjaGFuZ2VkIGNvbXBhcmVkIHRvIG9sZCBzdGVw cGluZy4KPj4+Cj4+PiB2MjogRml4aW5nIGNvbXBpbGF0aW9uIHdhcm5pbmcuCj4+PiB2MzogUmV0 YWluZWQgdGhlIG9sZCBNYWNyb3MgKEphbmkpCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogRGVlcGFr IE0gPG0uZGVlcGFrQGludGVsLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBpbnRlbC5jb20+Cj4gVGVzdGVkLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0u Y0BpbnRlbC5jb20+Cj4KPiBUZXN0ZWQgaXQgb24gQlhULVQgd2l0aCBUaWFubWEgcGFuZWwuCgpQ dXNoZWQgdG8gZHJtLWludGVsLW5leHQtcXVldWVkLCB0aGFua3MgZm9yIHRoZSBwYXRjaCBhbmQg dGVzdGluZy4KCkJSLApKYW5pLgoKCj4+Cj4+Cj4+PiAtLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgOTYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyB8IDU2ICsr KysrKysrKysrKysrLS0tLS0tLQo+Pj4gICAyIGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMo KyksIDYzIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+Pj4gaW5k ZXggMTQ0NTg2ZS4uNGU2MWIwNiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+ IEBAIC03NjYzLDU4ICs3NjYzLDYyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+Pj4g ICAjZGVmaW5lICBCWFRfTUlQSV9ESVZfU0hJRlQocG9ydCkJCVwKPj4+ICAgCQkJX01JUElfUE9S VChwb3J0LCBCWFRfTUlQSTFfRElWX1NISUZULCBcCj4+PiAgIAkJCQkJQlhUX01JUEkyX0RJVl9T SElGVCkKPj4+IC0vKiBWYXIgY2xvY2sgZGl2aWRlciB0byBnZW5lcmF0ZSBUWCBzb3VyY2UuIFJl c3VsdCBtdXN0IGJlIDwgMzkuNSBNICovCj4+PiAtI2RlZmluZSAgQlhUX01JUEkxX0VTQ0xLX1ZB Ul9ESVZfTUFTSwkJKDB4M0YgPDwgMjYpCj4+PiAtI2RlZmluZSAgQlhUX01JUEkyX0VTQ0xLX1ZB Ul9ESVZfTUFTSwkJKDB4M0YgPDwgMTApCj4+PiAtI2RlZmluZSAgQlhUX01JUElfRVNDTEtfVkFS X0RJVl9NQVNLKHBvcnQpCVwKPj4+IC0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9FU0NM S19WQVJfRElWX01BU0ssIFwKPj4+IC0JCQkJCQlCWFRfTUlQSTJfRVNDTEtfVkFSX0RJVl9NQVNL KQo+Pj4gLQo+Pj4gLSNkZWZpbmUgIEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVYocG9ydCwgdmFsKQlc Cj4+PiAtCQkJKHZhbCA8PCBCWFRfTUlQSV9ESVZfU0hJRlQocG9ydCkpCj4+PiArCj4+PiAgIC8q IFRYIGNvbnRyb2wgZGl2aWRlciB0byBzZWxlY3QgYWN0dWFsIFRYIGNsb2NrIG91dHB1dCBmcm9t ICg4eC92YXIpICovCj4+PiAtI2RlZmluZSAgQlhUX01JUEkxX1RYX0VTQ0xLX1NISUZUCQkyMQo+ Pj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9UWF9FU0NMS19TSElGVAkJNQo+Pj4gKyNkZWZpbmUgIEJY VF9NSVBJMV9UWF9FU0NMS19TSElGVAkJMjYKPj4+ICsjZGVmaW5lICBCWFRfTUlQSTJfVFhfRVND TEtfU0hJRlQJCTEwCj4+PiAgICNkZWZpbmUgIEJYVF9NSVBJX1RYX0VTQ0xLX1NISUZUKHBvcnQp CQlcCj4+PiAgIAkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX1RYX0VTQ0xLX1NISUZULCBc Cj4+PiAgIAkJCQkJQlhUX01JUEkyX1RYX0VTQ0xLX1NISUZUKQo+Pj4gLSNkZWZpbmUgIEJYVF9N SVBJMV9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMjEpCj4+PiAtI2RlZmluZSAgQlhUX01J UEkyX1RYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCA1KQo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJ MV9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDB4M0YgPDwgMjYpCj4+PiArI2RlZmluZSAgQlhUX01J UEkyX1RYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMHgzRiA8PCAxMCkKPj4+ICAgI2RlZmluZSAgQlhU X01JUElfVFhfRVNDTEtfRklYRElWX01BU0socG9ydCkJXAo+Pj4gICAJCQlfTUlQSV9QT1JUKHBv cnQsIEJYVF9NSVBJMV9UWF9FU0NMS19GSVhESVZfTUFTSywgXAo+Pj4gLQkJCQkJCUJYVF9NSVBJ Ml9UWF9FU0NMS19GSVhESVZfTUFTSykKPj4+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS184 WERJVl9CWTIocG9ydCkJXAo+Pj4gLQkJKDB4MCA8PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChw b3J0KSkKPj4+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS184WERJVl9CWTQocG9ydCkJXAo+ Pj4gLQkJKDB4MSA8PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPj4+IC0jZGVmaW5l ICBCWFRfTUlQSV9UWF9FU0NMS184WERJVl9CWTgocG9ydCkJXAo+Pj4gLQkJKDB4MiA8PCBCWFRf TUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPj4+IC0vKiBSWCBjb250cm9sIGRpdmlkZXIgdG8g c2VsZWN0IGFjdHVhbCBSWCBjbG9jayBvdXRwdXQgZnJvbSA4eCovCj4+PiAtI2RlZmluZSAgQlhU X01JUEkxX1JYX0VTQ0xLX1NISUZUCQkxOQo+Pj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NM S19TSElGVAkJMwo+Pj4gLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpCQlc Cj4+PiAtCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfRVNDTEtfU0hJRlQsIFwKPj4+ IC0JCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19TSElGVCkKPj4+IC0jZGVmaW5lICBCWFRfTUlQSTFf UlhfRVNDTEtfRklYRElWX01BU0sJCSgzIDw8IDE5KQo+Pj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9S WF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMykKPj4+IC0jZGVmaW5lICBCWFRfTUlQSV9SWF9F U0NMS19GSVhESVZfTUFTSyhwb3J0KQlcCj4+PiAtCQkoMyA8PCBCWFRfTUlQSV9SWF9FU0NMS19T SElGVChwb3J0KSkKPj4+IC0jZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS184WF9CWTIocG9ydCkJ XAo+Pj4gLQkJKDEgPDwgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCj4+PiAtI2RlZmlu ZSAgQlhUX01JUElfUlhfRVNDTEtfOFhfQlkzKHBvcnQpCVwKPj4+IC0JCSgyIDw8IEJYVF9NSVBJ X1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+Pj4gLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhY X0JZNChwb3J0KQlcCj4+PiAtCQkoMyA8PCBCWFRfTUlQSV9SWF9FU0NMS19TSElGVChwb3J0KSkK Pj4+IC0vKiBCWFQtQSBXQTogQWx3YXlzIHByb2cgRFBIWSBkaXZpZGVycyB0byAwMCAqLwo+Pj4g LSNkZWZpbmUgIEJYVF9NSVBJMV9EUEhZX0RJVl9TSElGVAkJMTYKPj4+IC0jZGVmaW5lICBCWFRf TUlQSTJfRFBIWV9ESVZfU0hJRlQJCTAKPj4+IC0jZGVmaW5lICBCWFRfTUlQSV9EUEhZX0RJVl9T SElGVChwb3J0KQkJXAo+Pj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0RQSFlfRElW X1NISUZULCBcCj4+PiAtCQkJCQlCWFRfTUlQSTJfRFBIWV9ESVZfU0hJRlQpCj4+PiAtI2RlZmlu ZSAgQlhUX01JUElfMV9EUEhZX0RJVklERVJfTUFTSwkJKDMgPDwgMTYpCj4+PiAtI2RlZmluZSAg QlhUX01JUElfMl9EUEhZX0RJVklERVJfTUFTSwkJKDMgPDwgMCkKPj4+IC0jZGVmaW5lICBCWFRf TUlQSV9EUEhZX0RJVklERVJfTUFTSyhwb3J0KQlcCj4+PiAtCQkoMyA8PCBCWFRfTUlQSV9EUEhZ X0RJVl9TSElGVChwb3J0KSkKPj4+ICsJCQkJCUJYVF9NSVBJMl9UWF9FU0NMS19GSVhESVZfTUFT SykKPj4+ICsjZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS19ESVZJREVSKHBvcnQsIHZhbCkJXAo+ Pj4gKwkJKCh2YWwgJiAweDNGKSA8PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPj4+ ICsvKiBSWCB1cHBlciBjb250cm9sIGRpdmlkZXIgdG8gc2VsZWN0IGFjdHVhbCBSWCBjbG9jayBv dXRwdXQgZnJvbSA4eCovCj4+PiArI2RlZmluZSAgQlhUX01JUEkxX1JYX0VTQ0xLX1VQUEVSX1NI SUZUCQkyMQo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19VUFBFUl9TSElGVAkJNQo+ Pj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX1VQUEVSX1NISUZUKHBvcnQpCQlcCj4+PiAr CQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfRVNDTEtfVVBQRVJfU0hJRlQsIFwKPj4+ ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19VUFBFUl9TSElGVCkKPj4+ICsjZGVmaW5lICBCWFRf TUlQSTFfUlhfRVNDTEtfVVBQRVJfRklYRElWX01BU0sJCSgzIDw8IDIxKQo+Pj4gKyNkZWZpbmUg IEJYVF9NSVBJMl9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSwkJKDMgPDwgNSkKPj4+ICsjZGVm aW5lICBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSyhwb3J0KSAJXAo+Pj4gKwkJ CV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX1JYX0VTQ0xLX1VQUEVSX0ZJWERJVl9NQVNLLFwK Pj4+ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSykKPj4+ICsjZGVm aW5lICBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9ESVZJREVSKHBvcnQsIHZhbCkJXAo+Pj4gKwkJ KCh2YWwgJiAzKSA8PCBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9TSElGVChwb3J0KSkKPj4+ICsv KiA4LzNYIGRpdmlkZXIgdG8gc2VsZWN0IHRoZSBhY3R1YWwgOC8zWCBjbG9jayBvdXRwdXQgZnJv bSA4eCovCj4+PiArI2RlZmluZSAgQlhUX01JUEkxXzhYX0JZM19TSElGVCAgICAgICAgICAgICAg ICAxOQo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMl84WF9CWTNfU0hJRlQgICAgICAgICAgICAgICAg Mwo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJXzhYX0JZM19TSElGVChwb3J0KSAgICAgICAgICBcCj4+ PiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfOFhfQlkzX1NISUZULCBcCj4+PiArCQkJ CQlCWFRfTUlQSTJfOFhfQlkzX1NISUZUKQo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMV84WF9CWTNf RElWSURFUl9NQVNLICAgICAgICAgKDMgPDwgMTkpCj4+PiArI2RlZmluZSAgQlhUX01JUEkyXzhY X0JZM19ESVZJREVSX01BU0sgICAgICAgICAoMyA8PCAzKQo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJ XzhYX0JZM19ESVZJREVSX01BU0socG9ydCkgICAgXAo+Pj4gKwkJCV9NSVBJX1BPUlQocG9ydCwg QlhUX01JUEkxXzhYX0JZM19ESVZJREVSX01BU0ssIFwKPj4+ICsJCQkJCQlCWFRfTUlQSTJfOFhf QlkzX0RJVklERVJfTUFTSykKPj4+ICsjZGVmaW5lICBCWFRfTUlQSV84WF9CWTNfRElWSURFUihw b3J0LCB2YWwpICAgIFwKPj4+ICsJCQkoKHZhbCAmIDMpIDw8IEJYVF9NSVBJXzhYX0JZM19TSElG VChwb3J0KSkKPj4+ICsvKiBSWCBsb3dlciBjb250cm9sIGRpdmlkZXIgdG8gc2VsZWN0IGFjdHVh bCBSWCBjbG9jayBvdXRwdXQgZnJvbSA4eCovCj4+PiArI2RlZmluZSAgQlhUX01JUEkxX1JYX0VT Q0xLX0xPV0VSX1NISUZUCQkxNgo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19MT1dF Ul9TSElGVAkJMAo+Pj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX1NISUZUKHBv cnQpCQlcCj4+PiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfRVNDTEtfTE9XRVJf U0hJRlQsIFwKPj4+ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19MT1dFUl9TSElGVCkKPj4+ICsj ZGVmaW5lICBCWFRfTUlQSTFfUlhfRVNDTEtfTE9XRVJfRklYRElWX01BU0sJCSgzIDw8IDE2KQo+ Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFTSwkJKDMgPDwg MCkKPj4+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFTSyhwb3J0 KQlcCj4+PiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfRVNDTEtfTE9XRVJfRklY RElWX01BU0ssIFwKPj4+ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFT SykKPj4+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9ESVZJREVSKHBvcnQsIHZh bCkJXAo+Pj4gKwkJKCh2YWwgJiAzKSA8PCBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9TSElGVChw b3J0KSkKPj4+ICsKPj4+ICsjZGVmaW5lIFJYX0RJVklERVJfQklUXzFfMiAgICAgICAgICAgICAg ICAgICAgIDB4Mwo+Pj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfM180ICAgICAgICAgICAgICAg ICAgICAgMHhDCj4+PiAgIAo+Pj4gICAvKiBCWFQgTUlQSSBtb2RlIGNvbmZpZ3VyZSAqLwo+Pj4g ICAjZGVmaW5lICBfQlhUX01JUElBX1RSQU5TX0hBQ1RJVkUJCQkweDZCMEY4Cj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4+PiBpbmRleCBiYjVlOTVhLi4wMmFlYWU1IDEwMDY0 NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGxsLmMKPj4+IEBAIC0zNjIsMzUgKzM2 Miw1NyBAQCBzdGF0aWMgdm9pZCB2bHZfZHNpX3Jlc2V0X2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwgZW51bSBwb3J0IHBvcnQpCj4+PiAgIC8qIFByb2dyYW0gQlhUIE1pcGkg Y2xvY2tzIGFuZCBkaXZpZGVycyAqLwo+Pj4gICBzdGF0aWMgdm9pZCBieHRfZHNpX3Byb2dyYW1f Y2xvY2tzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KQo+Pj4gICB7Cj4+ PiAtCXUzMiB0bXA7Cj4+PiAtCXUzMiBkaXZpZGVyOwo+Pj4gLQl1MzIgZHNpX3JhdGU7Cj4+PiAt CXUzMiBwbGxfcmF0aW87Cj4+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+Pj4gKwl1MzIgdG1wOwo+Pj4gKwl1MzIgZHNpX3JhdGUgPSAw Owo+Pj4gKwl1MzIgcGxsX3JhdGlvID0gMDsKPj4+ICsJdTMyIHJ4X2RpdjsKPj4+ICsJdTMyIHR4 X2RpdjsKPj4+ICsJdTMyIHJ4X2Rpdl91cHBlcjsKPj4+ICsJdTMyIHJ4X2Rpdl9sb3dlcjsKPj4+ ICsJdTMyIG1pcGlfOGJ5M19kaXZpZGVyOwo+Pj4gICAKPj4+ICAgCS8qIENsZWFyIG9sZCBjb25m aWd1cmF0aW9ucyAqLwo+Pj4gICAJdG1wID0gSTkxNV9SRUFEKEJYVF9NSVBJX0NMT0NLX0NUTCk7 Cj4+PiAgIAl0bXAgJj0gfihCWFRfTUlQSV9UWF9FU0NMS19GSVhESVZfTUFTSyhwb3J0KSk7Cj4+ PiAtCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKPj4+IC0J dG1wICY9IH4oQlhUX01JUElfRVNDTEtfVkFSX0RJVl9NQVNLKHBvcnQpKTsKPj4+IC0JdG1wICY9 IH4oQlhUX01JUElfRFBIWV9ESVZJREVSX01BU0socG9ydCkpOwo+Pj4gKwl0bXAgJj0gfihCWFRf TUlQSV9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSyhwb3J0KSk7Cj4+PiArCXRtcCAmPSB+KEJY VF9NSVBJXzhYX0JZM19ESVZJREVSX01BU0socG9ydCkpOwo+Pj4gKwl0bXAgJj0gfihCWFRfTUlQ SV9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFTSyhwb3J0KSk7Cj4+PiAgIAo+Pj4gICAJLyogR2V0 IHRoZSBjdXJyZW50IERTSSByYXRlKGFjdHVhbCkgKi8KPj4+ICAgCXBsbF9yYXRpbyA9IEk5MTVf UkVBRChCWFRfRFNJX1BMTF9DVEwpICYKPj4+ICAgCQkJCUJYVF9EU0lfUExMX1JBVElPX01BU0s7 Cj4+PiAgIAlkc2lfcmF0ZSA9IChCWFRfUkVGX0NMT0NLX0tIWiAqIHBsbF9yYXRpbykgLyAyOwo+ Pj4gICAKPj4+IC0JLyogTWF4IHBvc3NpYmxlIG91dHB1dCBvZiBjbG9jayBpcyAzOS41IE1Ieiwg cHJvZ3JhbSB2YWx1ZSAtMSAqLwo+Pj4gLQlkaXZpZGVyID0gKGRzaV9yYXRlIC8gQlhUX01BWF9W QVJfT1VUUFVUX0tIWikgLSAxOwo+Pj4gLQl0bXAgfD0gQlhUX01JUElfRVNDTEtfVkFSX0RJVihw b3J0LCBkaXZpZGVyKTsKPj4+ICsJLyoKPj4+ICsJICogdHggY2xvY2sgc2hvdWxkIGJlIDw9IDIw TUh6IGFuZCB0aGUgZGl2IHZhbHVlIG11c3QgYmUKPj4+ICsJICogc3VidHJhY3RlZCBieSAxIGFz IHBlciBic3BlYwo+Pj4gKwkgKi8KPj4+ICsJdHhfZGl2ID0gRElWX1JPVU5EX1VQKGRzaV9yYXRl LCAyMDAwMCkgLSAxOwo+Pj4gKwkvKgo+Pj4gKwkgKiByeCBjbG9jayBzaG91bGQgYmUgPD0gMTUw TUh6IGFuZCB0aGUgZGl2IHZhbHVlIG11c3QgYmUKPj4+ICsJICogc3VidHJhY3RlZCBieSAxIGFz IHBlciBic3BlYwo+Pj4gKwkgKi8KPj4+ICsJcnhfZGl2ID0gRElWX1JPVU5EX1VQKGRzaV9yYXRl LCAxNTAwMDApIC0gMTsKPj4+ICAgCj4+PiAgIAkvKgo+Pj4gLQkgKiBUeCBlc2NhcGUgY2xvY2sg bXVzdCBiZSBhcyBjbG9zZSB0byAyME1IeiBwb3NzaWJsZSwgYnV0IHNob3VsZAo+Pj4gLQkgKiBu b3QgZXhjZWVkIGl0LiBIZW5jZSBzZWxlY3QgZGl2aWRlIGJ5IDIKPj4+ICsJICogcnggZGl2aWRl ciB2YWx1ZSBuZWVkcyB0byBiZSB1cGRhdGVkIGluIHRoZQo+Pj4gKwkgKiB0d28gZGlmZmVybnQg Yml0IGZpZWxkcyBpbiB0aGUgcmVnaXN0ZXIgaGVuY2Ugc3BsaXR0aW5nIHRoZQo+Pj4gKwkgKiBy eCBkaXZpZGVyIHZhbHVlIGFjY29yZGluZ2x5Cj4+PiAgIAkgKi8KPj4+IC0JdG1wIHw9IEJYVF9N SVBJX1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0KTsKPj4+ICsJcnhfZGl2X2xvd2VyID0gcnhfZGl2 ICYgUlhfRElWSURFUl9CSVRfMV8yOwo+Pj4gKwlyeF9kaXZfdXBwZXIgPSAocnhfZGl2ICYgUlhf RElWSURFUl9CSVRfM180KSA+PiAyOwo+Pj4gKwo+Pj4gKwkvKiBBcyBwZXIgYnBzZWMgcHJvZ3Jh bSB0aGUgOC8zWCBjbG9jayBkaXZpZGVyIHRvIHRoZSBiZWxvdyB2YWx1ZSAqLwo+Pj4gKwlpZiAo ZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5pc19jbWRfbW9kZSkKPj4+ICsJCW1pcGlfOGJ5M19k aXZpZGVyID0gMHgyOwo+Pj4gKwllbHNlCj4+PiArCQltaXBpXzhieTNfZGl2aWRlciA9IDB4MzsK Pj4+ICAgCj4+PiAtCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS184WF9CWTMocG9ydCk7Cj4+PiAr CXRtcCB8PSBCWFRfTUlQSV84WF9CWTNfRElWSURFUihwb3J0LCBtaXBpXzhieTNfZGl2aWRlcik7 Cj4+PiArCXRtcCB8PSBCWFRfTUlQSV9UWF9FU0NMS19ESVZJREVSKHBvcnQsIHR4X2Rpdik7Cj4+ PiArCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9ESVZJREVSKHBvcnQsIHJ4X2Rpdl9s b3dlcik7Cj4+PiArCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9ESVZJREVSKHBvcnQs IHJ4X2Rpdl91cHBlcik7Cj4+PiAgIAo+Pj4gICAJSTkxNV9XUklURShCWFRfTUlQSV9DTE9DS19D VEwsIHRtcCk7Cj4+PiAgIH0KPj4+IEBAIC01MTMsOSArNTM1LDkgQEAgc3RhdGljIHZvaWQgYnh0 X2RzaV9yZXNldF9jbG9ja3Moc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGVudW0gcG9y dCBwb3J0KQo+Pj4gICAJLyogQ2xlYXIgb2xkIGNvbmZpZ3VyYXRpb25zICovCj4+PiAgIAl0bXAg PSBJOTE1X1JFQUQoQlhUX01JUElfQ0xPQ0tfQ1RMKTsKPj4+ICAgCXRtcCAmPSB+KEJYVF9NSVBJ X1RYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKPj4+IC0JdG1wICY9IH4oQlhUX01JUElfUlhf RVNDTEtfRklYRElWX01BU0socG9ydCkpOwo+Pj4gLQl0bXAgJj0gfihCWFRfTUlQSV9FU0NMS19W QVJfRElWX01BU0socG9ydCkpOwo+Pj4gLQl0bXAgJj0gfihCWFRfTUlQSV9EUEhZX0RJVklERVJf TUFTSyhwb3J0KSk7Cj4+PiArCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX1VQUEVSX0ZJWERJ Vl9NQVNLKHBvcnQpKTsKPj4+ICsJdG1wICY9IH4oQlhUX01JUElfOFhfQlkzX0RJVklERVJfTUFT Syhwb3J0KSk7Cj4+PiArCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX0ZJWERJVl9N QVNLKHBvcnQpKTsKPj4+ICAgCUk5MTVfV1JJVEUoQlhUX01JUElfQ0xPQ0tfQ1RMLCB0bXApOwo+ Pj4gICAJSTkxNV9XUklURShNSVBJX0VPVF9ESVNBQkxFKHBvcnQpLCBDTE9DS1NUT1ApOwo+Pj4g ICB9CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=