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, 04 Feb 2016 14:59:10 +0200 Message-ID: <87wpqkein5.fsf@intel.com> References: <201602031358.39xFct71%fengguang.wu@intel.com> <1454498205-5983-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 0B53B6E0AE for ; Thu, 4 Feb 2016 04:59:11 -0800 (PST) In-Reply-To: <1454498205-5983-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 T24gV2VkLCAwMyBGZWIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4gd3JvdGU6 Cj4gVGhlIE1JUEkgY2xvY2sgY2FsY3VsYXRpb25zIGZvciB0aGUgYWRkdGlvbmFsIGNsb2NrCj4g YXJlIHJldmlzZWQgZnJvbSBCMCBzdGVwcGluZyBvbndhcmRzLCB0aGUgYml0IGRlZmluaXRpb25z Cj4gaGF2ZSBjaGFuZ2VkIGNvbXBhcmVkIHRvIG9sZCBzdGVwcGluZy4KPgo+IHYyOiBGaXhpbmcg Y29tcGlsYXRpb24gd2FybmluZy4KCldoeSBkaWQgeW91IG1vdmUgYW5kIHJlbmFtZSBldmVyeXRo aW5nIHdoZW4gaXQgd2FzIG5vdCBuZWVkZWQ/CgpCUiwKSmFuaS4KCgo+Cj4gU2lnbmVkLW9mZi1i eTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgMTA0ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyB8ICA2NCArKysr KysrKysrKysrKy0tLS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCA3 MyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGMwYmQ2OTEu LjI1NjhmMzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNzYzOCw2ICs3NjM4 LDU3IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAKPiAgLyogTUlQSSBEU0kgcmVn aXN0ZXJzICovCj4gIAo+ICsjZGVmaW5lICBCWFRfTUlQSTFfUlhfTE9XRVJfU0hJRlQJCTE2Cj4g KyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9MT1dFUl9TSElGVAkJMAo+ICsjZGVmaW5lICBCWFRfTUlQ SV9SWF9MT1dFUl9TSElGVChwb3J0KQlcCj4gKwkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkx X1JYX0xPV0VSX1NISUZULCBcCj4gKwkJCQlCWFRfTUlQSTJfUlhfTE9XRVJfU0hJRlQpCj4gKyNk ZWZpbmUgIEJYVF9NSVBJMV9SWF9MT1dFUl9ESVZJREVSX01BU0sJKDMgPDwgMTYpCj4gKyNkZWZp bmUgIEJYVF9NSVBJMl9SWF9MT1dFUl9ESVZJREVSX01BU0sJKDMgPDwgMCkKPiArI2RlZmluZSAg QlhUX01JUElfUlhfTE9XRVJfRElWSURFUl9NQVNLKHBvcnQpCVwKPiArCQkJKDMgPDwgQlhUX01J UElfUlhfTE9XRVJfU0hJRlQocG9ydCkpCj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0xPV0VSX0RJ VklERVIocG9ydCwgdmFsKQlcCj4gKwkJCSgodmFsICYgMykgPDwgQlhUX01JUElfUlhfTE9XRVJf U0hJRlQocG9ydCkpCj4gKwo+ICsjZGVmaW5lICBCWFRfTUlQSTFfOFhfQlkzX1NISUZUCQkxOQo+ ICsjZGVmaW5lICBCWFRfTUlQSTJfOFhfQlkzX1NISUZUCQkzCj4gKyNkZWZpbmUgIEJYVF9NSVBJ XzhYX0JZM19TSElGVChwb3J0KSAgICAgICAgICBcCj4gKwkJCV9NSVBJX1BPUlQocG9ydCwgQlhU X01JUEkxXzhYX0JZM19TSElGVCwgXAo+ICsJCQkJQlhUX01JUEkyXzhYX0JZM19TSElGVCkKPiAr I2RlZmluZSAgQlhUX01JUEkxXzhYX0JZM19ESVZJREVSX01BU0sJCSgzIDw8IDE5KQo+ICsjZGVm aW5lICBCWFRfTUlQSTJfOFhfQlkzX0RJVklERVJfTUFTSwkJKDMgPDwgMykKPiArI2RlZmluZSAg QlhUX01JUElfOFhfQlkzX0RJVklERVJfTUFTSyhwb3J0KQlcCj4gKwkJCSgzIDw8IEJYVF9NSVBJ XzhYX0JZM19TSElGVChwb3J0KSkKPiArI2RlZmluZSAgQlhUX01JUElfOFhfQlkzX0RJVklERVIo cG9ydCwgdmFsKQlcCj4gKwkJCSgodmFsICYgMykgPDwgQlhUX01JUElfOFhfQlkzX1NISUZUKHBv cnQpKQo+ICsKPiArI2RlZmluZSAgQlhUX01JUEkxX1JYX1VQUEVSX1NISUZUCQkyMQo+ICsjZGVm aW5lICBCWFRfTUlQSTJfUlhfVVBQRVJfU0hJRlQJCTUKPiArI2RlZmluZSAgQlhUX01JUElfUlhf VVBQRVJfU0hJRlQocG9ydCkJXAo+ICsJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9SWF9V UFBFUl9TSElGVCwgXAo+ICsJCQkJQlhUX01JUEkyX1JYX1VQUEVSX1NISUZUKQo+ICsjZGVmaW5l ICBCWFRfTUlQSTFfUlhfVVBQRVJfRElWSURFUl9NQVNLCSgzIDw8IDIxKQo+ICsjZGVmaW5lICBC WFRfTUlQSTJfUlhfVVBQRVJfRElWSURFUl9NQVNLCSgzIDw8IDUpCj4gKyNkZWZpbmUgIEJYVF9N SVBJX1JYX1VQUEVSX0RJVklERVJfTUFTSyhwb3J0KQlcCj4gKwkJCSgzIDw8IEJYVF9NSVBJX1JY X1VQUEVSX1NISUZUKHBvcnQpKQo+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9VUFBFUl9ESVZJREVS KHBvcnQsIHZhbCkJXAo+ICsJCQkoKHZhbCAmIDMpIDw8IEJYVF9NSVBJX1JYX1VQUEVSX1NISUZU KHBvcnQpKQo+ICsKPiArI2RlZmluZSAgQlhUX01JUEkxX1RYX1NISUZUCQkJMjYKPiArI2RlZmlu ZSAgQlhUX01JUEkyX1RYX1NISUZUCQkJMTAKPiArI2RlZmluZSAgQlhUX01JUElfVFhfU0hJRlQo cG9ydCkJCVwKPiArCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9UWF9TSElGVCwgXAo+ICsJ CQkJQlhUX01JUEkyX1RYX1NISUZUKQo+ICsjZGVmaW5lICBCWFRfTUlQSTFfVFhfRElWSURFUl9N QVNLCQkoMHgzRiA8PCAyNikKPiArI2RlZmluZSAgQlhUX01JUEkyX1RYX0RJVklERVJfTUFTSwkJ KDB4M0YgPDwgMTApCj4gKyNkZWZpbmUgIEJYVF9NSVBJX1RYX0RJVklERVJfTUFTSyhwb3J0KQkJ XAo+ICsJCQkoMHgzRiA8PCBCWFRfTUlQSV9UWF9TSElGVChwb3J0KSkKPiArI2RlZmluZSAgQlhU X01JUElfVFhfRElWSURFUihwb3J0LCB2YWwpCVwKPiArCQkJKCh2YWwgJiAweDNGKSA8PCBCWFRf TUlQSV9UWF9TSElGVChwb3J0KSkKPiArCj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfMV8yCQkJ MHgzCj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfM180CQkJMHhDCj4gKwo+ICAjZGVmaW5lIF9N SVBJX1BPUlQocG9ydCwgYSwgYykJX1BPUlQzKHBvcnQsIGEsIDAsIGMpCS8qIHBvcnRzIEEgYW5k IEMgb25seSAqLwo+ICAjZGVmaW5lIF9NTUlPX01JUEkocG9ydCwgYSwgYykJX01NSU8oX01JUElf UE9SVChwb3J0LCBhLCBjKSkKPiAgCj4gQEAgLTc2NTAsNTkgKzc3MDEsNiBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPiAgI2RlZmluZSAgQlhUX01JUElfRElWX1NISUZUKHBvcnQpCQlc Cj4gIAkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0RJVl9TSElGVCwgXAo+ICAJCQkJCUJY VF9NSVBJMl9ESVZfU0hJRlQpCj4gLS8qIFZhciBjbG9jayBkaXZpZGVyIHRvIGdlbmVyYXRlIFRY IHNvdXJjZS4gUmVzdWx0IG11c3QgYmUgPCAzOS41IE0gKi8KPiAtI2RlZmluZSAgQlhUX01JUEkx X0VTQ0xLX1ZBUl9ESVZfTUFTSwkJKDB4M0YgPDwgMjYpCj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9F U0NMS19WQVJfRElWX01BU0sJCSgweDNGIDw8IDEwKQo+IC0jZGVmaW5lICBCWFRfTUlQSV9FU0NM S19WQVJfRElWX01BU0socG9ydCkJXAo+IC0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9F U0NMS19WQVJfRElWX01BU0ssIFwKPiAtCQkJCQkJQlhUX01JUEkyX0VTQ0xLX1ZBUl9ESVZfTUFT SykKPiAtCj4gLSNkZWZpbmUgIEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVYocG9ydCwgdmFsKQlcCj4g LQkJCSh2YWwgPDwgQlhUX01JUElfRElWX1NISUZUKHBvcnQpKQo+IC0vKiBUWCBjb250cm9sIGRp dmlkZXIgdG8gc2VsZWN0IGFjdHVhbCBUWCBjbG9jayBvdXRwdXQgZnJvbSAoOHgvdmFyKSAqLwo+ IC0jZGVmaW5lICBCWFRfTUlQSTFfVFhfRVNDTEtfU0hJRlQJCTIxCj4gLSNkZWZpbmUgIEJYVF9N SVBJMl9UWF9FU0NMS19TSElGVAkJNQo+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS19TSElG VChwb3J0KQkJXAo+IC0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9UWF9FU0NMS19TSElG VCwgXAo+IC0JCQkJCUJYVF9NSVBJMl9UWF9FU0NMS19TSElGVCkKPiAtI2RlZmluZSAgQlhUX01J UEkxX1RYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCAyMSkKPiAtI2RlZmluZSAgQlhUX01JUEky X1RYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCA1KQo+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9F U0NMS19GSVhESVZfTUFTSyhwb3J0KQlcCj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkx X1RYX0VTQ0xLX0ZJWERJVl9NQVNLLCBcCj4gLQkJCQkJCUJYVF9NSVBJMl9UWF9FU0NMS19GSVhE SVZfTUFTSykKPiAtI2RlZmluZSAgQlhUX01JUElfVFhfRVNDTEtfOFhESVZfQlkyKHBvcnQpCVwK PiAtCQkoMHgwIDw8IEJYVF9NSVBJX1RYX0VTQ0xLX1NISUZUKHBvcnQpKQo+IC0jZGVmaW5lICBC WFRfTUlQSV9UWF9FU0NMS184WERJVl9CWTQocG9ydCkJXAo+IC0JCSgweDEgPDwgQlhUX01JUElf VFhfRVNDTEtfU0hJRlQocG9ydCkpCj4gLSNkZWZpbmUgIEJYVF9NSVBJX1RYX0VTQ0xLXzhYRElW X0JZOChwb3J0KQlcCj4gLQkJKDB4MiA8PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkK PiAtLyogUlggY29udHJvbCBkaXZpZGVyIHRvIHNlbGVjdCBhY3R1YWwgUlggY2xvY2sgb3V0cHV0 IGZyb20gOHgqLwo+IC0jZGVmaW5lICBCWFRfTUlQSTFfUlhfRVNDTEtfU0hJRlQJCTE5Cj4gLSNk ZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19TSElGVAkJMwo+IC0jZGVmaW5lICBCWFRfTUlQSV9S WF9FU0NMS19TSElGVChwb3J0KQkJXAo+IC0JCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJMV9S WF9FU0NMS19TSElGVCwgXAo+IC0JCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19TSElGVCkKPiAtI2Rl ZmluZSAgQlhUX01JUEkxX1JYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCAxOSkKPiAtI2RlZmlu ZSAgQlhUX01JUEkyX1JYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCAzKQo+IC0jZGVmaW5lICBC WFRfTUlQSV9SWF9FU0NMS19GSVhESVZfTUFTSyhwb3J0KQlcCj4gLQkJKDMgPDwgQlhUX01JUElf UlhfRVNDTEtfU0hJRlQocG9ydCkpCj4gLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhYX0JZ Mihwb3J0KQlcCj4gLQkJKDEgPDwgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCj4gLSNk ZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhYX0JZMyhwb3J0KQlcCj4gLQkJKDIgPDwgQlhUX01J UElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCj4gLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhY X0JZNChwb3J0KQlcCj4gLQkJKDMgPDwgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCj4g LS8qIEJYVC1BIFdBOiBBbHdheXMgcHJvZyBEUEhZIGRpdmlkZXJzIHRvIDAwICovCj4gLSNkZWZp bmUgIEJYVF9NSVBJMV9EUEhZX0RJVl9TSElGVAkJMTYKPiAtI2RlZmluZSAgQlhUX01JUEkyX0RQ SFlfRElWX1NISUZUCQkwCj4gLSNkZWZpbmUgIEJYVF9NSVBJX0RQSFlfRElWX1NISUZUKHBvcnQp CQlcCj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0RQSFlfRElWX1NISUZULCBcCj4g LQkJCQkJQlhUX01JUEkyX0RQSFlfRElWX1NISUZUKQo+IC0jZGVmaW5lICBCWFRfTUlQSV8xX0RQ SFlfRElWSURFUl9NQVNLCQkoMyA8PCAxNikKPiAtI2RlZmluZSAgQlhUX01JUElfMl9EUEhZX0RJ VklERVJfTUFTSwkJKDMgPDwgMCkKPiAtI2RlZmluZSAgQlhUX01JUElfRFBIWV9ESVZJREVSX01B U0socG9ydCkJXAo+IC0JCSgzIDw8IEJYVF9NSVBJX0RQSFlfRElWX1NISUZUKHBvcnQpKQo+IC0K PiAgLyogQlhUIE1JUEkgbW9kZSBjb25maWd1cmUgKi8KPiAgI2RlZmluZSAgX0JYVF9NSVBJQV9U UkFOU19IQUNUSVZFCQkJMHg2QjBGOAo+ICAjZGVmaW5lICBfQlhUX01JUElDX1RSQU5TX0hBQ1RJ VkUJCQkweDZCOEY4Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rz aV9wbGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+IGluZGV4IGJi NWU5NWEuLjc0MzUxMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX3BsbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4g QEAgLTM2MiwzNSArMzYyLDU5IEBAIHN0YXRpYyB2b2lkIHZsdl9kc2lfcmVzZXRfY2xvY2tzKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVtIHBvcnQgcG9ydCkKPiAgLyogUHJvZ3Jh bSBCWFQgTWlwaSBjbG9ja3MgYW5kIGRpdmlkZXJzICovCj4gIHN0YXRpYyB2b2lkIGJ4dF9kc2lf cHJvZ3JhbV9jbG9ja3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwb3J0IHBvcnQpCj4g IHsKPiAtCXUzMiB0bXA7Cj4gLQl1MzIgZGl2aWRlcjsKPiAtCXUzMiBkc2lfcmF0ZTsKPiAtCXUz MiBwbGxfcmF0aW87Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+ICsJdTMyIHRtcDsKPiArCXUzMiBkc2lfcmF0ZSA9IDA7Cj4gKwl1MzIg cGxsX3JhdGlvID0gMDsKPiArCXUzMiByeF9kaXY7Cj4gKwl1MzIgdHhfZGl2Owo+ICsJdTMyIHJ4 X2Rpdl91cHBlcjsKPiArCXUzMiByeF9kaXZfbG93ZXI7Cj4gKwl1MzIgbWlwaV84YnkzX2Rpdmlk ZXI7Cj4gIAo+ICAJLyogQ2xlYXIgb2xkIGNvbmZpZ3VyYXRpb25zICovCj4gIAl0bXAgPSBJOTE1 X1JFQUQoQlhUX01JUElfQ0xPQ0tfQ1RMKTsKPiAtCXRtcCAmPSB+KEJYVF9NSVBJX1RYX0VTQ0xL X0ZJWERJVl9NQVNLKHBvcnQpKTsKPiAtCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0ZJWERJ Vl9NQVNLKHBvcnQpKTsKPiAtCXRtcCAmPSB+KEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhw b3J0KSk7Cj4gLQl0bXAgJj0gfihCWFRfTUlQSV9EUEhZX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4g Kwl0bXAgJj0gfihCWFRfTUlQSV84WF9CWTNfRElWSURFUl9NQVNLKHBvcnQpKTsKPiArCXRtcCAm PSB+KEJYVF9NSVBJX1JYX0xPV0VSX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4gKwl0bXAgJj0gfihC WFRfTUlQSV9SWF9VUFBFUl9ESVZJREVSX01BU0socG9ydCkpOwo+ICsJdG1wICY9IH4oQlhUX01J UElfVFhfRElWSURFUl9NQVNLKHBvcnQpKTsKPiAgCj4gIAkvKiBHZXQgdGhlIGN1cnJlbnQgRFNJ IHJhdGUoYWN0dWFsKSAqLwo+ICAJcGxsX3JhdGlvID0gSTkxNV9SRUFEKEJYVF9EU0lfUExMX0NU TCkgJgo+IC0JCQkJQlhUX0RTSV9QTExfUkFUSU9fTUFTSzsKPiArCQkJCQlCWFRfRFNJX1BMTF9S QVRJT19NQVNLOwo+ICsKPiArCS8qIFRvIGdldCA4WCBjbG9jaywgZGl2aWRlIHJlZl9mcmVxICog cGxsIHJhdGlvIGJ5IDIgYXMgcGVyIGJzcGVjICovCj4gIAlkc2lfcmF0ZSA9IChCWFRfUkVGX0NM T0NLX0tIWiAqIHBsbF9yYXRpbykgLyAyOwo+ICAKPiAtCS8qIE1heCBwb3NzaWJsZSBvdXRwdXQg b2YgY2xvY2sgaXMgMzkuNSBNSHosIHByb2dyYW0gdmFsdWUgLTEgKi8KPiAtCWRpdmlkZXIgPSAo ZHNpX3JhdGUgLyBCWFRfTUFYX1ZBUl9PVVRQVVRfS0haKSAtIDE7Cj4gLQl0bXAgfD0gQlhUX01J UElfRVNDTEtfVkFSX0RJVihwb3J0LCBkaXZpZGVyKTsKPiArCS8qCj4gKwkgKiB0eCBjbG9jayBz aG91bGQgYmUgPD0gMjBNSHogYW5kIHRoZSBkaXYgdmFsdWUgbXVzdCBiZQo+ICsJICogc3VidHJh Y3RlZCBieSAxIGFzIHBlciBic3BlYwo+ICsJICovCj4gKwl0eF9kaXYgPSBESVZfUk9VTkRfVVAo ZHNpX3JhdGUsIDIwMDAwKSAtIDE7Cj4gKwkvKgo+ICsJICogcnggY2xvY2sgc2hvdWxkIGJlIDw9 IDE1ME1IeiBhbmQgdGhlIGRpdiB2YWx1ZSBtdXN0IGJlCj4gKwkgKiBzdWJ0cmFjdGVkIGJ5IDEg YXMgcGVyIGJzcGVjCj4gKwkgKi8KPiArCXJ4X2RpdiA9IERJVl9ST1VORF9VUChkc2lfcmF0ZSwg MTUwMDAwKSAtIDE7Cj4gIAo+ICAJLyoKPiAtCSAqIFR4IGVzY2FwZSBjbG9jayBtdXN0IGJlIGFz IGNsb3NlIHRvIDIwTUh6IHBvc3NpYmxlLCBidXQgc2hvdWxkCj4gLQkgKiBub3QgZXhjZWVkIGl0 LiBIZW5jZSBzZWxlY3QgZGl2aWRlIGJ5IDIKPiArCSAqIHJ4IGRpdmlkZXIgdmFsdWUgbmVlZHMg dG8gYmUgdXBkYXRlZCBpbiB0aGUKPiArCSAqIHR3byBkaWZmZXJudCBiaXQgZmllbGRzIGluIHRo ZSByZWdpc3RlciBoZW5jZSBzcGxpdHRpbmcgdGhlCj4gKwkgKiByeCBkaXZpZGVyIHZhbHVlIGFj Y29yZGluZ2x5Cj4gIAkgKi8KPiAtCXRtcCB8PSBCWFRfTUlQSV9UWF9FU0NMS184WERJVl9CWTIo cG9ydCk7Cj4gKwlyeF9kaXZfbG93ZXIgPSByeF9kaXYgJiBSWF9ESVZJREVSX0JJVF8xXzI7Cj4g KwlyeF9kaXZfdXBwZXIgPSAocnhfZGl2ICYgUlhfRElWSURFUl9CSVRfM180KSA+PiAyOwo+ICsK PiArCS8qIEFzIHBlciBicHNlYyBwcm9ncmFtIHRoZSA4LzNYIGNsb2NrIGRpdmlkZXIgdG8gdGhl IGJlbG93IHZhbHVlICovCj4gKwlpZiAoZGV2X3ByaXYtPnZidC5kc2kuY29uZmlnLT5pc19jbWRf bW9kZSkKPiArCQltaXBpXzhieTNfZGl2aWRlciA9IDB4MjsKPiArCWVsc2UKPiArCQltaXBpXzhi eTNfZGl2aWRlciA9IDB4MzsKPiAgCj4gLQl0bXAgfD0gQlhUX01JUElfUlhfRVNDTEtfOFhfQlkz KHBvcnQpOwo+ICsJdG1wIHw9IEJYVF9NSVBJXzhYX0JZM19ESVZJREVSKHBvcnQsIG1pcGlfOGJ5 M19kaXZpZGVyKTsKPiArCXRtcCB8PSBCWFRfTUlQSV9UWF9ESVZJREVSKHBvcnQsIHR4X2Rpdik7 Cj4gKwl0bXAgfD0gQlhUX01JUElfUlhfTE9XRVJfRElWSURFUihwb3J0LCByeF9kaXZfbG93ZXIp Owo+ICsJdG1wIHw9IEJYVF9NSVBJX1JYX1VQUEVSX0RJVklERVIocG9ydCwgcnhfZGl2X3VwcGVy KTsKPiAgCj4gIAlJOTE1X1dSSVRFKEJYVF9NSVBJX0NMT0NLX0NUTCwgdG1wKTsKPiAgfQo+IEBA IC01MTIsMTAgKzUzNiwxMCBAQCBzdGF0aWMgdm9pZCBieHRfZHNpX3Jlc2V0X2Nsb2NrcyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgZW51bSBwb3J0IHBvcnQpCj4gIAo+ICAJLyogQ2xl YXIgb2xkIGNvbmZpZ3VyYXRpb25zICovCj4gIAl0bXAgPSBJOTE1X1JFQUQoQlhUX01JUElfQ0xP Q0tfQ1RMKTsKPiAtCXRtcCAmPSB+KEJYVF9NSVBJX1RYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQp KTsKPiAtCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQpKTsKPiAt CXRtcCAmPSB+KEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVZfTUFTSyhwb3J0KSk7Cj4gLQl0bXAgJj0g fihCWFRfTUlQSV9EUEhZX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4gKwl0bXAgJj0gfihCWFRfTUlQ SV84WF9CWTNfRElWSURFUl9NQVNLKHBvcnQpKTsKPiArCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0xP V0VSX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4gKwl0bXAgJj0gfihCWFRfTUlQSV9SWF9VUFBFUl9E SVZJREVSX01BU0socG9ydCkpOwo+ICsJdG1wICY9IH4oQlhUX01JUElfVFhfRElWSURFUl9NQVNL KHBvcnQpKTsKPiAgCUk5MTVfV1JJVEUoQlhUX01JUElfQ0xPQ0tfQ1RMLCB0bXApOwo+ICAJSTkx NV9XUklURShNSVBJX0VPVF9ESVNBQkxFKHBvcnQpLCBDTE9DS1NUT1ApOwo+ICB9CgotLSAKSmFu aSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==