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: Wed, 17 Feb 2016 22:30:42 +0200 Message-ID: <877fi3f5al.fsf@intel.com> References: <87lh70efxb.fsf@intel.com> <1455556437-29267-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id E3B786E8F0 for ; Wed, 17 Feb 2016 20:30:46 +0000 (UTC) In-Reply-To: <1455556437-29267-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: Deepak M List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAxNSBGZWIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gVGhlIE1JUEkgY2xvY2sgY2FsY3VsYXRpb25zIGZvciB0aGUgYWRkdGlvbmFsIGNsb2NrCj4g YXJlIHJldmlzZWQgZnJvbSBCMCBzdGVwcGluZyBvbndhcmRzLCB0aGUgYml0IGRlZmluaXRpb25z Cj4gaGF2ZSBjaGFuZ2VkIGNvbXBhcmVkIHRvIG9sZCBzdGVwcGluZy4KPgo+IHYyOiBGaXhpbmcg Y29tcGlsYXRpb24gd2FybmluZy4KPiB2MzogUmV0YWluZWQgdGhlIG9sZCBNYWNyb3MgKEphbmkp Cj4KPiBTaWduZWQtb2ZmLWJ5OiBEZWVwYWsgTSA8bS5kZWVwYWtAaW50ZWwuY29tPgoKUmV2aWV3 ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+CgoKPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgOTYgKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwu YyB8IDU2ICsrKysrKysrKysrKysrLS0tLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDg5IGluc2Vy dGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5k ZXggMTQ0NTg2ZS4uNGU2MWIwNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IEBAIC03 NjYzLDU4ICs3NjYzLDYyIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5l ICBCWFRfTUlQSV9ESVZfU0hJRlQocG9ydCkJCVwKPiAgCQkJX01JUElfUE9SVChwb3J0LCBCWFRf TUlQSTFfRElWX1NISUZULCBcCj4gIAkJCQkJQlhUX01JUEkyX0RJVl9TSElGVCkKPiAtLyogVmFy IGNsb2NrIGRpdmlkZXIgdG8gZ2VuZXJhdGUgVFggc291cmNlLiBSZXN1bHQgbXVzdCBiZSA8IDM5 LjUgTSAqLwo+IC0jZGVmaW5lICBCWFRfTUlQSTFfRVNDTEtfVkFSX0RJVl9NQVNLCQkoMHgzRiA8 PCAyNikKPiAtI2RlZmluZSAgQlhUX01JUEkyX0VTQ0xLX1ZBUl9ESVZfTUFTSwkJKDB4M0YgPDwg MTApCj4gLSNkZWZpbmUgIEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhwb3J0KQlcCj4gLQkJ CV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0VTQ0xLX1ZBUl9ESVZfTUFTSywgXAo+IC0JCQkJ CQlCWFRfTUlQSTJfRVNDTEtfVkFSX0RJVl9NQVNLKQo+IC0KPiAtI2RlZmluZSAgQlhUX01JUElf RVNDTEtfVkFSX0RJVihwb3J0LCB2YWwpCVwKPiAtCQkJKHZhbCA8PCBCWFRfTUlQSV9ESVZfU0hJ RlQocG9ydCkpCj4gKwo+ICAvKiBUWCBjb250cm9sIGRpdmlkZXIgdG8gc2VsZWN0IGFjdHVhbCBU WCBjbG9jayBvdXRwdXQgZnJvbSAoOHgvdmFyKSAqLwo+IC0jZGVmaW5lICBCWFRfTUlQSTFfVFhf RVNDTEtfU0hJRlQJCTIxCj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9UWF9FU0NMS19TSElGVAkJNQo+ ICsjZGVmaW5lICBCWFRfTUlQSTFfVFhfRVNDTEtfU0hJRlQJCTI2Cj4gKyNkZWZpbmUgIEJYVF9N SVBJMl9UWF9FU0NMS19TSElGVAkJMTAKPiAgI2RlZmluZSAgQlhUX01JUElfVFhfRVNDTEtfU0hJ RlQocG9ydCkJCVwKPiAgCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfVFhfRVNDTEtfU0hJ RlQsIFwKPiAgCQkJCQlCWFRfTUlQSTJfVFhfRVNDTEtfU0hJRlQpCj4gLSNkZWZpbmUgIEJYVF9N SVBJMV9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMjEpCj4gLSNkZWZpbmUgIEJYVF9NSVBJ Ml9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgNSkKPiArI2RlZmluZSAgQlhUX01JUEkxX1RY X0VTQ0xLX0ZJWERJVl9NQVNLCQkoMHgzRiA8PCAyNikKPiArI2RlZmluZSAgQlhUX01JUEkyX1RY X0VTQ0xLX0ZJWERJVl9NQVNLCQkoMHgzRiA8PCAxMCkKPiAgI2RlZmluZSAgQlhUX01JUElfVFhf RVNDTEtfRklYRElWX01BU0socG9ydCkJXAo+ICAJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJ MV9UWF9FU0NMS19GSVhESVZfTUFTSywgXAo+IC0JCQkJCQlCWFRfTUlQSTJfVFhfRVNDTEtfRklY RElWX01BU0spCj4gLSNkZWZpbmUgIEJYVF9NSVBJX1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0KQlc Cj4gLQkJKDB4MCA8PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPiAtI2RlZmluZSAg QlhUX01JUElfVFhfRVNDTEtfOFhESVZfQlk0KHBvcnQpCVwKPiAtCQkoMHgxIDw8IEJYVF9NSVBJ X1RYX0VTQ0xLX1NISUZUKHBvcnQpKQo+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS184WERJ Vl9CWTgocG9ydCkJXAo+IC0JCSgweDIgPDwgQlhUX01JUElfVFhfRVNDTEtfU0hJRlQocG9ydCkp Cj4gLS8qIFJYIGNvbnRyb2wgZGl2aWRlciB0byBzZWxlY3QgYWN0dWFsIFJYIGNsb2NrIG91dHB1 dCBmcm9tIDh4Ki8KPiAtI2RlZmluZSAgQlhUX01JUEkxX1JYX0VTQ0xLX1NISUZUCQkxOQo+IC0j ZGVmaW5lICBCWFRfTUlQSTJfUlhfRVNDTEtfU0hJRlQJCTMKPiAtI2RlZmluZSAgQlhUX01JUElf UlhfRVNDTEtfU0hJRlQocG9ydCkJCVwKPiAtCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFf UlhfRVNDTEtfU0hJRlQsIFwKPiAtCQkJCQlCWFRfTUlQSTJfUlhfRVNDTEtfU0hJRlQpCj4gLSNk ZWZpbmUgIEJYVF9NSVBJMV9SWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMTkpCj4gLSNkZWZp bmUgIEJYVF9NSVBJMl9SWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMykKPiAtI2RlZmluZSAg QlhUX01JUElfUlhfRVNDTEtfRklYRElWX01BU0socG9ydCkJXAo+IC0JCSgzIDw8IEJYVF9NSVBJ X1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+IC0jZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS184WF9C WTIocG9ydCkJXAo+IC0JCSgxIDw8IEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+IC0j ZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS184WF9CWTMocG9ydCkJXAo+IC0JCSgyIDw8IEJYVF9N SVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+IC0jZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS184 WF9CWTQocG9ydCkJXAo+IC0JCSgzIDw8IEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+ IC0vKiBCWFQtQSBXQTogQWx3YXlzIHByb2cgRFBIWSBkaXZpZGVycyB0byAwMCAqLwo+IC0jZGVm aW5lICBCWFRfTUlQSTFfRFBIWV9ESVZfU0hJRlQJCTE2Cj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9E UEhZX0RJVl9TSElGVAkJMAo+IC0jZGVmaW5lICBCWFRfTUlQSV9EUEhZX0RJVl9TSElGVChwb3J0 KQkJXAo+IC0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9EUEhZX0RJVl9TSElGVCwgXAo+ IC0JCQkJCUJYVF9NSVBJMl9EUEhZX0RJVl9TSElGVCkKPiAtI2RlZmluZSAgQlhUX01JUElfMV9E UEhZX0RJVklERVJfTUFTSwkJKDMgPDwgMTYpCj4gLSNkZWZpbmUgIEJYVF9NSVBJXzJfRFBIWV9E SVZJREVSX01BU0sJCSgzIDw8IDApCj4gLSNkZWZpbmUgIEJYVF9NSVBJX0RQSFlfRElWSURFUl9N QVNLKHBvcnQpCVwKPiAtCQkoMyA8PCBCWFRfTUlQSV9EUEhZX0RJVl9TSElGVChwb3J0KSkKPiAr CQkJCQlCWFRfTUlQSTJfVFhfRVNDTEtfRklYRElWX01BU0spCj4gKyNkZWZpbmUgIEJYVF9NSVBJ X1RYX0VTQ0xLX0RJVklERVIocG9ydCwgdmFsKQlcCj4gKwkJKCh2YWwgJiAweDNGKSA8PCBCWFRf TUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPiArLyogUlggdXBwZXIgY29udHJvbCBkaXZpZGVy IHRvIHNlbGVjdCBhY3R1YWwgUlggY2xvY2sgb3V0cHV0IGZyb20gOHgqLwo+ICsjZGVmaW5lICBC WFRfTUlQSTFfUlhfRVNDTEtfVVBQRVJfU0hJRlQJCTIxCj4gKyNkZWZpbmUgIEJYVF9NSVBJMl9S WF9FU0NMS19VUFBFUl9TSElGVAkJNQo+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19VUFBF Ul9TSElGVChwb3J0KQkJXAo+ICsJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9SWF9FU0NM S19VUFBFUl9TSElGVCwgXAo+ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19VUFBFUl9TSElGVCkK PiArI2RlZmluZSAgQlhUX01JUEkxX1JYX0VTQ0xLX1VQUEVSX0ZJWERJVl9NQVNLCQkoMyA8PCAy MSkKPiArI2RlZmluZSAgQlhUX01JUEkyX1JYX0VTQ0xLX1VQUEVSX0ZJWERJVl9NQVNLCQkoMyA8 PCA1KQo+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSyhwb3J0 KSAJXAo+ICsJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9SWF9FU0NMS19VUFBFUl9GSVhE SVZfTUFTSyxcCj4gKwkJCQkJQlhUX01JUEkyX1JYX0VTQ0xLX1VQUEVSX0ZJWERJVl9NQVNLKQo+ ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9ESVZJREVSKHBvcnQsIHZhbCkJXAo+ ICsJCSgodmFsICYgMykgPDwgQlhUX01JUElfUlhfRVNDTEtfVVBQRVJfU0hJRlQocG9ydCkpCj4g Ky8qIDgvM1ggZGl2aWRlciB0byBzZWxlY3QgdGhlIGFjdHVhbCA4LzNYIGNsb2NrIG91dHB1dCBm cm9tIDh4Ki8KPiArI2RlZmluZSAgQlhUX01JUEkxXzhYX0JZM19TSElGVCAgICAgICAgICAgICAg ICAxOQo+ICsjZGVmaW5lICBCWFRfTUlQSTJfOFhfQlkzX1NISUZUICAgICAgICAgICAgICAgIDMK PiArI2RlZmluZSAgQlhUX01JUElfOFhfQlkzX1NISUZUKHBvcnQpICAgICAgICAgIFwKPiArCQkJ X01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfOFhfQlkzX1NISUZULCBcCj4gKwkJCQkJQlhUX01J UEkyXzhYX0JZM19TSElGVCkKPiArI2RlZmluZSAgQlhUX01JUEkxXzhYX0JZM19ESVZJREVSX01B U0sgICAgICAgICAoMyA8PCAxOSkKPiArI2RlZmluZSAgQlhUX01JUEkyXzhYX0JZM19ESVZJREVS X01BU0sgICAgICAgICAoMyA8PCAzKQo+ICsjZGVmaW5lICBCWFRfTUlQSV84WF9CWTNfRElWSURF Ul9NQVNLKHBvcnQpICAgIFwKPiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfOFhfQlkz X0RJVklERVJfTUFTSywgXAo+ICsJCQkJCQlCWFRfTUlQSTJfOFhfQlkzX0RJVklERVJfTUFTSykK PiArI2RlZmluZSAgQlhUX01JUElfOFhfQlkzX0RJVklERVIocG9ydCwgdmFsKSAgICBcCj4gKwkJ CSgodmFsICYgMykgPDwgQlhUX01JUElfOFhfQlkzX1NISUZUKHBvcnQpKQo+ICsvKiBSWCBsb3dl ciBjb250cm9sIGRpdmlkZXIgdG8gc2VsZWN0IGFjdHVhbCBSWCBjbG9jayBvdXRwdXQgZnJvbSA4 eCovCj4gKyNkZWZpbmUgIEJYVF9NSVBJMV9SWF9FU0NMS19MT1dFUl9TSElGVAkJMTYKPiArI2Rl ZmluZSAgQlhUX01JUEkyX1JYX0VTQ0xLX0xPV0VSX1NISUZUCQkwCj4gKyNkZWZpbmUgIEJYVF9N SVBJX1JYX0VTQ0xLX0xPV0VSX1NISUZUKHBvcnQpCQlcCj4gKwkJCV9NSVBJX1BPUlQocG9ydCwg QlhUX01JUEkxX1JYX0VTQ0xLX0xPV0VSX1NISUZULCBcCj4gKwkJCQkJQlhUX01JUEkyX1JYX0VT Q0xLX0xPV0VSX1NISUZUKQo+ICsjZGVmaW5lICBCWFRfTUlQSTFfUlhfRVNDTEtfTE9XRVJfRklY RElWX01BU0sJCSgzIDw8IDE2KQo+ICsjZGVmaW5lICBCWFRfTUlQSTJfUlhfRVNDTEtfTE9XRVJf RklYRElWX01BU0sJCSgzIDw8IDApCj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VS X0ZJWERJVl9NQVNLKHBvcnQpCVwKPiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhf RVNDTEtfTE9XRVJfRklYRElWX01BU0ssIFwKPiArCQkJCQlCWFRfTUlQSTJfUlhfRVNDTEtfTE9X RVJfRklYRElWX01BU0spCj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX0RJVklE RVIocG9ydCwgdmFsKQlcCj4gKwkJKCh2YWwgJiAzKSA8PCBCWFRfTUlQSV9SWF9FU0NMS19MT1dF Ul9TSElGVChwb3J0KSkKPiArCj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfMV8yICAgICAgICAg ICAgICAgICAgICAgMHgzCj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfM180ICAgICAgICAgICAg ICAgICAgICAgMHhDCj4gIAo+ICAvKiBCWFQgTUlQSSBtb2RlIGNvbmZpZ3VyZSAqLwo+ICAjZGVm aW5lICBfQlhUX01JUElBX1RSQU5TX0hBQ1RJVkUJCQkweDZCMEY4Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaV9wbGwuYwo+IGluZGV4IGJiNWU5NWEuLjAyYWVhZTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4gQEAgLTM2MiwzNSArMzYyLDU3IEBAIHN0YXRpYyB2 b2lkIHZsdl9kc2lfcmVzZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBl bnVtIHBvcnQgcG9ydCkKPiAgLyogUHJvZ3JhbSBCWFQgTWlwaSBjbG9ja3MgYW5kIGRpdmlkZXJz ICovCj4gIHN0YXRpYyB2b2lkIGJ4dF9kc2lfcHJvZ3JhbV9jbG9ja3Moc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAtCXUzMiB0bXA7Cj4gLQl1MzIgZGl2aWRl cjsKPiAtCXUzMiBkc2lfcmF0ZTsKPiAtCXUzMiBwbGxfcmF0aW87Cj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJdTMyIHRtcDsKPiAr CXUzMiBkc2lfcmF0ZSA9IDA7Cj4gKwl1MzIgcGxsX3JhdGlvID0gMDsKPiArCXUzMiByeF9kaXY7 Cj4gKwl1MzIgdHhfZGl2Owo+ICsJdTMyIHJ4X2Rpdl91cHBlcjsKPiArCXUzMiByeF9kaXZfbG93 ZXI7Cj4gKwl1MzIgbWlwaV84YnkzX2RpdmlkZXI7Cj4gIAo+ICAJLyogQ2xlYXIgb2xkIGNvbmZp Z3VyYXRpb25zICovCj4gIAl0bXAgPSBJOTE1X1JFQUQoQlhUX01JUElfQ0xPQ0tfQ1RMKTsKPiAg CXRtcCAmPSB+KEJYVF9NSVBJX1RYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKPiAtCXRtcCAm PSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKPiAtCXRtcCAmPSB+KEJY VF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhwb3J0KSk7Cj4gLQl0bXAgJj0gfihCWFRfTUlQSV9E UEhZX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4gKwl0bXAgJj0gfihCWFRfTUlQSV9SWF9FU0NMS19V UFBFUl9GSVhESVZfTUFTSyhwb3J0KSk7Cj4gKwl0bXAgJj0gfihCWFRfTUlQSV84WF9CWTNfRElW SURFUl9NQVNLKHBvcnQpKTsKPiArCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX0ZJ WERJVl9NQVNLKHBvcnQpKTsKPiAgCj4gIAkvKiBHZXQgdGhlIGN1cnJlbnQgRFNJIHJhdGUoYWN0 dWFsKSAqLwo+ICAJcGxsX3JhdGlvID0gSTkxNV9SRUFEKEJYVF9EU0lfUExMX0NUTCkgJgo+ICAJ CQkJQlhUX0RTSV9QTExfUkFUSU9fTUFTSzsKPiAgCWRzaV9yYXRlID0gKEJYVF9SRUZfQ0xPQ0tf S0haICogcGxsX3JhdGlvKSAvIDI7Cj4gIAo+IC0JLyogTWF4IHBvc3NpYmxlIG91dHB1dCBvZiBj bG9jayBpcyAzOS41IE1IeiwgcHJvZ3JhbSB2YWx1ZSAtMSAqLwo+IC0JZGl2aWRlciA9IChkc2lf cmF0ZSAvIEJYVF9NQVhfVkFSX09VVFBVVF9LSFopIC0gMTsKPiAtCXRtcCB8PSBCWFRfTUlQSV9F U0NMS19WQVJfRElWKHBvcnQsIGRpdmlkZXIpOwo+ICsJLyoKPiArCSAqIHR4IGNsb2NrIHNob3Vs ZCBiZSA8PSAyME1IeiBhbmQgdGhlIGRpdiB2YWx1ZSBtdXN0IGJlCj4gKwkgKiBzdWJ0cmFjdGVk IGJ5IDEgYXMgcGVyIGJzcGVjCj4gKwkgKi8KPiArCXR4X2RpdiA9IERJVl9ST1VORF9VUChkc2lf cmF0ZSwgMjAwMDApIC0gMTsKPiArCS8qCj4gKwkgKiByeCBjbG9jayBzaG91bGQgYmUgPD0gMTUw TUh6IGFuZCB0aGUgZGl2IHZhbHVlIG11c3QgYmUKPiArCSAqIHN1YnRyYWN0ZWQgYnkgMSBhcyBw ZXIgYnNwZWMKPiArCSAqLwo+ICsJcnhfZGl2ID0gRElWX1JPVU5EX1VQKGRzaV9yYXRlLCAxNTAw MDApIC0gMTsKPiAgCj4gIAkvKgo+IC0JICogVHggZXNjYXBlIGNsb2NrIG11c3QgYmUgYXMgY2xv c2UgdG8gMjBNSHogcG9zc2libGUsIGJ1dCBzaG91bGQKPiAtCSAqIG5vdCBleGNlZWQgaXQuIEhl bmNlIHNlbGVjdCBkaXZpZGUgYnkgMgo+ICsJICogcnggZGl2aWRlciB2YWx1ZSBuZWVkcyB0byBi ZSB1cGRhdGVkIGluIHRoZQo+ICsJICogdHdvIGRpZmZlcm50IGJpdCBmaWVsZHMgaW4gdGhlIHJl Z2lzdGVyIGhlbmNlIHNwbGl0dGluZyB0aGUKPiArCSAqIHJ4IGRpdmlkZXIgdmFsdWUgYWNjb3Jk aW5nbHkKPiAgCSAqLwo+IC0JdG1wIHw9IEJYVF9NSVBJX1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0 KTsKPiArCXJ4X2Rpdl9sb3dlciA9IHJ4X2RpdiAmIFJYX0RJVklERVJfQklUXzFfMjsKPiArCXJ4 X2Rpdl91cHBlciA9IChyeF9kaXYgJiBSWF9ESVZJREVSX0JJVF8zXzQpID4+IDI7Cj4gKwo+ICsJ LyogQXMgcGVyIGJwc2VjIHByb2dyYW0gdGhlIDgvM1ggY2xvY2sgZGl2aWRlciB0byB0aGUgYmVs b3cgdmFsdWUgKi8KPiArCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5jb25maWctPmlzX2NtZF9tb2Rl KQo+ICsJCW1pcGlfOGJ5M19kaXZpZGVyID0gMHgyOwo+ICsJZWxzZQo+ICsJCW1pcGlfOGJ5M19k aXZpZGVyID0gMHgzOwo+ICAKPiAtCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS184WF9CWTMocG9y dCk7Cj4gKwl0bXAgfD0gQlhUX01JUElfOFhfQlkzX0RJVklERVIocG9ydCwgbWlwaV84YnkzX2Rp dmlkZXIpOwo+ICsJdG1wIHw9IEJYVF9NSVBJX1RYX0VTQ0xLX0RJVklERVIocG9ydCwgdHhfZGl2 KTsKPiArCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9ESVZJREVSKHBvcnQsIHJ4X2Rp dl9sb3dlcik7Cj4gKwl0bXAgfD0gQlhUX01JUElfUlhfRVNDTEtfVVBQRVJfRElWSURFUihwb3J0 LCByeF9kaXZfdXBwZXIpOwo+ICAKPiAgCUk5MTVfV1JJVEUoQlhUX01JUElfQ0xPQ0tfQ1RMLCB0 bXApOwo+ICB9Cj4gQEAgLTUxMyw5ICs1MzUsOSBAQCBzdGF0aWMgdm9pZCBieHRfZHNpX3Jlc2V0 X2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgZW51bSBwb3J0IHBvcnQpCj4g IAkvKiBDbGVhciBvbGQgY29uZmlndXJhdGlvbnMgKi8KPiAgCXRtcCA9IEk5MTVfUkVBRChCWFRf TUlQSV9DTE9DS19DVEwpOwo+ICAJdG1wICY9IH4oQlhUX01JUElfVFhfRVNDTEtfRklYRElWX01B U0socG9ydCkpOwo+IC0JdG1wICY9IH4oQlhUX01JUElfUlhfRVNDTEtfRklYRElWX01BU0socG9y dCkpOwo+IC0JdG1wICY9IH4oQlhUX01JUElfRVNDTEtfVkFSX0RJVl9NQVNLKHBvcnQpKTsKPiAt CXRtcCAmPSB+KEJYVF9NSVBJX0RQSFlfRElWSURFUl9NQVNLKHBvcnQpKTsKPiArCXRtcCAmPSB+ KEJYVF9NSVBJX1JYX0VTQ0xLX1VQUEVSX0ZJWERJVl9NQVNLKHBvcnQpKTsKPiArCXRtcCAmPSB+ KEJYVF9NSVBJXzhYX0JZM19ESVZJREVSX01BU0socG9ydCkpOwo+ICsJdG1wICY9IH4oQlhUX01J UElfUlhfRVNDTEtfTE9XRVJfRklYRElWX01BU0socG9ydCkpOwo+ICAJSTkxNV9XUklURShCWFRf TUlQSV9DTE9DS19DVEwsIHRtcCk7Cj4gIAlJOTE1X1dSSVRFKE1JUElfRU9UX0RJU0FCTEUocG9y dCksIENMT0NLU1RPUCk7Cj4gIH0KCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==