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: Fri, 19 Feb 2016 11:18:27 +0200 Message-ID: <87d1rtxdlo.fsf@intel.com> References: <87lh70efxb.fsf@intel.com> <1455556437-29267-1-git-send-email-m.deepak@intel.com> <877fi3f5al.fsf@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 BBF716EE5C for ; Fri, 19 Feb 2016 09:20:34 +0000 (UTC) In-Reply-To: <877fi3f5al.fsf@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 T24gV2VkLCAxNyBGZWIgMjAxNiwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gT24gTW9uLCAxNSBGZWIgMjAxNiwgRGVlcGFrIE0gPG0uZGVlcGFrQGlu dGVsLmNvbT4gd3JvdGU6Cj4+IFRoZSBNSVBJIGNsb2NrIGNhbGN1bGF0aW9ucyBmb3IgdGhlIGFk ZHRpb25hbCBjbG9jawo+PiBhcmUgcmV2aXNlZCBmcm9tIEIwIHN0ZXBwaW5nIG9ud2FyZHMsIHRo ZSBiaXQgZGVmaW5pdGlvbnMKPj4gaGF2ZSBjaGFuZ2VkIGNvbXBhcmVkIHRvIG9sZCBzdGVwcGlu Zy4KPj4KPj4gdjI6IEZpeGluZyBjb21waWxhdGlvbiB3YXJuaW5nLgo+PiB2MzogUmV0YWluZWQg dGhlIG9sZCBNYWNyb3MgKEphbmkpCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IERlZXBhayBNIDxtLmRl ZXBha0BpbnRlbC5jb20+Cj4KPiBSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGludGVsLmNvbT4KClRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB3ZSBoYXZlIG5vIFRlc3RlZC1i eSBvbiBCMCsgaGFyZHdhcmUgZm9yIHRoaXMuCgo+Cj4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCA5NiArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyB8IDU2ICsr KysrKysrKysrKysrLS0tLS0tLQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCsp LCA2MyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IGluZGV4IDE0 NDU4NmUuLjRlNjFiMDYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtNzY2 Myw1OCArNzY2Myw2MiBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPj4gICNkZWZpbmUg IEJYVF9NSVBJX0RJVl9TSElGVChwb3J0KQkJXAo+PiAgCQkJX01JUElfUE9SVChwb3J0LCBCWFRf TUlQSTFfRElWX1NISUZULCBcCj4+ICAJCQkJCUJYVF9NSVBJMl9ESVZfU0hJRlQpCj4+IC0vKiBW YXIgY2xvY2sgZGl2aWRlciB0byBnZW5lcmF0ZSBUWCBzb3VyY2UuIFJlc3VsdCBtdXN0IGJlIDwg MzkuNSBNICovCj4+IC0jZGVmaW5lICBCWFRfTUlQSTFfRVNDTEtfVkFSX0RJVl9NQVNLCQkoMHgz RiA8PCAyNikKPj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9FU0NMS19WQVJfRElWX01BU0sJCSgweDNG IDw8IDEwKQo+PiAtI2RlZmluZSAgQlhUX01JUElfRVNDTEtfVkFSX0RJVl9NQVNLKHBvcnQpCVwK Pj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0VTQ0xLX1ZBUl9ESVZfTUFTSywgXAo+ PiAtCQkJCQkJQlhUX01JUEkyX0VTQ0xLX1ZBUl9ESVZfTUFTSykKPj4gLQo+PiAtI2RlZmluZSAg QlhUX01JUElfRVNDTEtfVkFSX0RJVihwb3J0LCB2YWwpCVwKPj4gLQkJCSh2YWwgPDwgQlhUX01J UElfRElWX1NISUZUKHBvcnQpKQo+PiArCj4+ICAvKiBUWCBjb250cm9sIGRpdmlkZXIgdG8gc2Vs ZWN0IGFjdHVhbCBUWCBjbG9jayBvdXRwdXQgZnJvbSAoOHgvdmFyKSAqLwo+PiAtI2RlZmluZSAg QlhUX01JUEkxX1RYX0VTQ0xLX1NISUZUCQkyMQo+PiAtI2RlZmluZSAgQlhUX01JUEkyX1RYX0VT Q0xLX1NISUZUCQk1Cj4+ICsjZGVmaW5lICBCWFRfTUlQSTFfVFhfRVNDTEtfU0hJRlQJCTI2Cj4+ ICsjZGVmaW5lICBCWFRfTUlQSTJfVFhfRVNDTEtfU0hJRlQJCTEwCj4+ICAjZGVmaW5lICBCWFRf TUlQSV9UWF9FU0NMS19TSElGVChwb3J0KQkJXAo+PiAgCQkJX01JUElfUE9SVChwb3J0LCBCWFRf TUlQSTFfVFhfRVNDTEtfU0hJRlQsIFwKPj4gIAkJCQkJQlhUX01JUEkyX1RYX0VTQ0xLX1NISUZU KQo+PiAtI2RlZmluZSAgQlhUX01JUEkxX1RYX0VTQ0xLX0ZJWERJVl9NQVNLCQkoMyA8PCAyMSkK Pj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgNSkKPj4g KyNkZWZpbmUgIEJYVF9NSVBJMV9UWF9FU0NMS19GSVhESVZfTUFTSwkJKDB4M0YgPDwgMjYpCj4+ ICsjZGVmaW5lICBCWFRfTUlQSTJfVFhfRVNDTEtfRklYRElWX01BU0sJCSgweDNGIDw8IDEwKQo+ PiAgI2RlZmluZSAgQlhUX01JUElfVFhfRVNDTEtfRklYRElWX01BU0socG9ydCkJXAo+PiAgCQkJ X01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfVFhfRVNDTEtfRklYRElWX01BU0ssIFwKPj4gLQkJ CQkJCUJYVF9NSVBJMl9UWF9FU0NMS19GSVhESVZfTUFTSykKPj4gLSNkZWZpbmUgIEJYVF9NSVBJ X1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0KQlcCj4+IC0JCSgweDAgPDwgQlhUX01JUElfVFhfRVND TEtfU0hJRlQocG9ydCkpCj4+IC0jZGVmaW5lICBCWFRfTUlQSV9UWF9FU0NMS184WERJVl9CWTQo cG9ydCkJXAo+PiAtCQkoMHgxIDw8IEJYVF9NSVBJX1RYX0VTQ0xLX1NISUZUKHBvcnQpKQo+PiAt I2RlZmluZSAgQlhUX01JUElfVFhfRVNDTEtfOFhESVZfQlk4KHBvcnQpCVwKPj4gLQkJKDB4MiA8 PCBCWFRfTUlQSV9UWF9FU0NMS19TSElGVChwb3J0KSkKPj4gLS8qIFJYIGNvbnRyb2wgZGl2aWRl ciB0byBzZWxlY3QgYWN0dWFsIFJYIGNsb2NrIG91dHB1dCBmcm9tIDh4Ki8KPj4gLSNkZWZpbmUg IEJYVF9NSVBJMV9SWF9FU0NMS19TSElGVAkJMTkKPj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9SWF9F U0NMS19TSElGVAkJMwo+PiAtI2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkJ CVwKPj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX1JYX0VTQ0xLX1NISUZULCBcCj4+ IC0JCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19TSElGVCkKPj4gLSNkZWZpbmUgIEJYVF9NSVBJMV9S WF9FU0NMS19GSVhESVZfTUFTSwkJKDMgPDwgMTkpCj4+IC0jZGVmaW5lICBCWFRfTUlQSTJfUlhf RVNDTEtfRklYRElWX01BU0sJCSgzIDw8IDMpCj4+IC0jZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NM S19GSVhESVZfTUFTSyhwb3J0KQlcCj4+IC0JCSgzIDw8IEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZU KHBvcnQpKQo+PiAtI2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtfOFhfQlkyKHBvcnQpCVwKPj4g LQkJKDEgPDwgQlhUX01JUElfUlhfRVNDTEtfU0hJRlQocG9ydCkpCj4+IC0jZGVmaW5lICBCWFRf TUlQSV9SWF9FU0NMS184WF9CWTMocG9ydCkJXAo+PiAtCQkoMiA8PCBCWFRfTUlQSV9SWF9FU0NM S19TSElGVChwb3J0KSkKPj4gLSNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLXzhYX0JZNChwb3J0 KQlcCj4+IC0JCSgzIDw8IEJYVF9NSVBJX1JYX0VTQ0xLX1NISUZUKHBvcnQpKQo+PiAtLyogQlhU LUEgV0E6IEFsd2F5cyBwcm9nIERQSFkgZGl2aWRlcnMgdG8gMDAgKi8KPj4gLSNkZWZpbmUgIEJY VF9NSVBJMV9EUEhZX0RJVl9TSElGVAkJMTYKPj4gLSNkZWZpbmUgIEJYVF9NSVBJMl9EUEhZX0RJ Vl9TSElGVAkJMAo+PiAtI2RlZmluZSAgQlhUX01JUElfRFBIWV9ESVZfU0hJRlQocG9ydCkJCVwK Pj4gLQkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX0RQSFlfRElWX1NISUZULCBcCj4+IC0J CQkJCUJYVF9NSVBJMl9EUEhZX0RJVl9TSElGVCkKPj4gLSNkZWZpbmUgIEJYVF9NSVBJXzFfRFBI WV9ESVZJREVSX01BU0sJCSgzIDw8IDE2KQo+PiAtI2RlZmluZSAgQlhUX01JUElfMl9EUEhZX0RJ VklERVJfTUFTSwkJKDMgPDwgMCkKPj4gLSNkZWZpbmUgIEJYVF9NSVBJX0RQSFlfRElWSURFUl9N QVNLKHBvcnQpCVwKPj4gLQkJKDMgPDwgQlhUX01JUElfRFBIWV9ESVZfU0hJRlQocG9ydCkpCj4+ ICsJCQkJCUJYVF9NSVBJMl9UWF9FU0NMS19GSVhESVZfTUFTSykKPj4gKyNkZWZpbmUgIEJYVF9N SVBJX1RYX0VTQ0xLX0RJVklERVIocG9ydCwgdmFsKQlcCj4+ICsJCSgodmFsICYgMHgzRikgPDwg QlhUX01JUElfVFhfRVNDTEtfU0hJRlQocG9ydCkpCj4+ICsvKiBSWCB1cHBlciBjb250cm9sIGRp dmlkZXIgdG8gc2VsZWN0IGFjdHVhbCBSWCBjbG9jayBvdXRwdXQgZnJvbSA4eCovCj4+ICsjZGVm aW5lICBCWFRfTUlQSTFfUlhfRVNDTEtfVVBQRVJfU0hJRlQJCTIxCj4+ICsjZGVmaW5lICBCWFRf TUlQSTJfUlhfRVNDTEtfVVBQRVJfU0hJRlQJCTUKPj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VT Q0xLX1VQUEVSX1NISUZUKHBvcnQpCQlcCj4+ICsJCQlfTUlQSV9QT1JUKHBvcnQsIEJYVF9NSVBJ MV9SWF9FU0NMS19VUFBFUl9TSElGVCwgXAo+PiArCQkJCQlCWFRfTUlQSTJfUlhfRVNDTEtfVVBQ RVJfU0hJRlQpCj4+ICsjZGVmaW5lICBCWFRfTUlQSTFfUlhfRVNDTEtfVVBQRVJfRklYRElWX01B U0sJCSgzIDw8IDIxKQo+PiArI2RlZmluZSAgQlhUX01JUEkyX1JYX0VTQ0xLX1VQUEVSX0ZJWERJ Vl9NQVNLCQkoMyA8PCA1KQo+PiArI2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtfVVBQRVJfRklY RElWX01BU0socG9ydCkgCVwKPj4gKwkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX1JYX0VT Q0xLX1VQUEVSX0ZJWERJVl9NQVNLLFwKPj4gKwkJCQkJQlhUX01JUEkyX1JYX0VTQ0xLX1VQUEVS X0ZJWERJVl9NQVNLKQo+PiArI2RlZmluZSAgQlhUX01JUElfUlhfRVNDTEtfVVBQRVJfRElWSURF Uihwb3J0LCB2YWwpCVwKPj4gKwkJKCh2YWwgJiAzKSA8PCBCWFRfTUlQSV9SWF9FU0NMS19VUFBF Ul9TSElGVChwb3J0KSkKPj4gKy8qIDgvM1ggZGl2aWRlciB0byBzZWxlY3QgdGhlIGFjdHVhbCA4 LzNYIGNsb2NrIG91dHB1dCBmcm9tIDh4Ki8KPj4gKyNkZWZpbmUgIEJYVF9NSVBJMV84WF9CWTNf U0hJRlQgICAgICAgICAgICAgICAgMTkKPj4gKyNkZWZpbmUgIEJYVF9NSVBJMl84WF9CWTNfU0hJ RlQgICAgICAgICAgICAgICAgMwo+PiArI2RlZmluZSAgQlhUX01JUElfOFhfQlkzX1NISUZUKHBv cnQpICAgICAgICAgIFwKPj4gKwkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxXzhYX0JZM19T SElGVCwgXAo+PiArCQkJCQlCWFRfTUlQSTJfOFhfQlkzX1NISUZUKQo+PiArI2RlZmluZSAgQlhU X01JUEkxXzhYX0JZM19ESVZJREVSX01BU0sgICAgICAgICAoMyA8PCAxOSkKPj4gKyNkZWZpbmUg IEJYVF9NSVBJMl84WF9CWTNfRElWSURFUl9NQVNLICAgICAgICAgKDMgPDwgMykKPj4gKyNkZWZp bmUgIEJYVF9NSVBJXzhYX0JZM19ESVZJREVSX01BU0socG9ydCkgICAgXAo+PiArCQkJX01JUElf UE9SVChwb3J0LCBCWFRfTUlQSTFfOFhfQlkzX0RJVklERVJfTUFTSywgXAo+PiArCQkJCQkJQlhU X01JUEkyXzhYX0JZM19ESVZJREVSX01BU0spCj4+ICsjZGVmaW5lICBCWFRfTUlQSV84WF9CWTNf RElWSURFUihwb3J0LCB2YWwpICAgIFwKPj4gKwkJCSgodmFsICYgMykgPDwgQlhUX01JUElfOFhf QlkzX1NISUZUKHBvcnQpKQo+PiArLyogUlggbG93ZXIgY29udHJvbCBkaXZpZGVyIHRvIHNlbGVj dCBhY3R1YWwgUlggY2xvY2sgb3V0cHV0IGZyb20gOHgqLwo+PiArI2RlZmluZSAgQlhUX01JUEkx X1JYX0VTQ0xLX0xPV0VSX1NISUZUCQkxNgo+PiArI2RlZmluZSAgQlhUX01JUEkyX1JYX0VTQ0xL X0xPV0VSX1NISUZUCQkwCj4+ICsjZGVmaW5lICBCWFRfTUlQSV9SWF9FU0NMS19MT1dFUl9TSElG VChwb3J0KQkJXAo+PiArCQkJX01JUElfUE9SVChwb3J0LCBCWFRfTUlQSTFfUlhfRVNDTEtfTE9X RVJfU0hJRlQsIFwKPj4gKwkJCQkJQlhUX01JUEkyX1JYX0VTQ0xLX0xPV0VSX1NISUZUKQo+PiAr I2RlZmluZSAgQlhUX01JUEkxX1JYX0VTQ0xLX0xPV0VSX0ZJWERJVl9NQVNLCQkoMyA8PCAxNikK Pj4gKyNkZWZpbmUgIEJYVF9NSVBJMl9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFTSwkJKDMgPDwg MCkKPj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX0ZJWERJVl9NQVNLKHBvcnQp CVwKPj4gKwkJCV9NSVBJX1BPUlQocG9ydCwgQlhUX01JUEkxX1JYX0VTQ0xLX0xPV0VSX0ZJWERJ Vl9NQVNLLCBcCj4+ICsJCQkJCUJYVF9NSVBJMl9SWF9FU0NMS19MT1dFUl9GSVhESVZfTUFTSykK Pj4gKyNkZWZpbmUgIEJYVF9NSVBJX1JYX0VTQ0xLX0xPV0VSX0RJVklERVIocG9ydCwgdmFsKQlc Cj4+ICsJCSgodmFsICYgMykgPDwgQlhUX01JUElfUlhfRVNDTEtfTE9XRVJfU0hJRlQocG9ydCkp Cj4+ICsKPj4gKyNkZWZpbmUgUlhfRElWSURFUl9CSVRfMV8yICAgICAgICAgICAgICAgICAgICAg MHgzCj4+ICsjZGVmaW5lIFJYX0RJVklERVJfQklUXzNfNCAgICAgICAgICAgICAgICAgICAgIDB4 Qwo+PiAgCj4+ICAvKiBCWFQgTUlQSSBtb2RlIGNvbmZpZ3VyZSAqLwo+PiAgI2RlZmluZSAgX0JY VF9NSVBJQV9UUkFOU19IQUNUSVZFCQkJMHg2QjBGOAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX3BsbC5jCj4+IGluZGV4IGJiNWU5NWEuLjAyYWVhZTUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2lfcGxsLmMKPj4gQEAgLTM2MiwzNSArMzYyLDU3IEBAIHN0YXRpYyB2b2lk IHZsdl9kc2lfcmVzZXRfY2xvY2tzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBlbnVt IHBvcnQgcG9ydCkKPj4gIC8qIFByb2dyYW0gQlhUIE1pcGkgY2xvY2tzIGFuZCBkaXZpZGVycyAq Lwo+PiAgc3RhdGljIHZvaWQgYnh0X2RzaV9wcm9ncmFtX2Nsb2NrcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCkKPj4gIHsKPj4gLQl1MzIgdG1wOwo+PiAtCXUzMiBkaXZp ZGVyOwo+PiAtCXUzMiBkc2lfcmF0ZTsKPj4gLQl1MzIgcGxsX3JhdGlvOwo+PiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJdTMyIHRt cDsKPj4gKwl1MzIgZHNpX3JhdGUgPSAwOwo+PiArCXUzMiBwbGxfcmF0aW8gPSAwOwo+PiArCXUz MiByeF9kaXY7Cj4+ICsJdTMyIHR4X2RpdjsKPj4gKwl1MzIgcnhfZGl2X3VwcGVyOwo+PiArCXUz MiByeF9kaXZfbG93ZXI7Cj4+ICsJdTMyIG1pcGlfOGJ5M19kaXZpZGVyOwo+PiAgCj4+ICAJLyog Q2xlYXIgb2xkIGNvbmZpZ3VyYXRpb25zICovCj4+ICAJdG1wID0gSTkxNV9SRUFEKEJYVF9NSVBJ X0NMT0NLX0NUTCk7Cj4+ICAJdG1wICY9IH4oQlhUX01JUElfVFhfRVNDTEtfRklYRElWX01BU0so cG9ydCkpOwo+PiAtCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xLX0ZJWERJVl9NQVNLKHBvcnQp KTsKPj4gLQl0bXAgJj0gfihCWFRfTUlQSV9FU0NMS19WQVJfRElWX01BU0socG9ydCkpOwo+PiAt CXRtcCAmPSB+KEJYVF9NSVBJX0RQSFlfRElWSURFUl9NQVNLKHBvcnQpKTsKPj4gKwl0bXAgJj0g fihCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSyhwb3J0KSk7Cj4+ICsJdG1wICY9 IH4oQlhUX01JUElfOFhfQlkzX0RJVklERVJfTUFTSyhwb3J0KSk7Cj4+ICsJdG1wICY9IH4oQlhU X01JUElfUlhfRVNDTEtfTE9XRVJfRklYRElWX01BU0socG9ydCkpOwo+PiAgCj4+ICAJLyogR2V0 IHRoZSBjdXJyZW50IERTSSByYXRlKGFjdHVhbCkgKi8KPj4gIAlwbGxfcmF0aW8gPSBJOTE1X1JF QUQoQlhUX0RTSV9QTExfQ1RMKSAmCj4+ICAJCQkJQlhUX0RTSV9QTExfUkFUSU9fTUFTSzsKPj4g IAlkc2lfcmF0ZSA9IChCWFRfUkVGX0NMT0NLX0tIWiAqIHBsbF9yYXRpbykgLyAyOwo+PiAgCj4+ IC0JLyogTWF4IHBvc3NpYmxlIG91dHB1dCBvZiBjbG9jayBpcyAzOS41IE1IeiwgcHJvZ3JhbSB2 YWx1ZSAtMSAqLwo+PiAtCWRpdmlkZXIgPSAoZHNpX3JhdGUgLyBCWFRfTUFYX1ZBUl9PVVRQVVRf S0haKSAtIDE7Cj4+IC0JdG1wIHw9IEJYVF9NSVBJX0VTQ0xLX1ZBUl9ESVYocG9ydCwgZGl2aWRl cik7Cj4+ICsJLyoKPj4gKwkgKiB0eCBjbG9jayBzaG91bGQgYmUgPD0gMjBNSHogYW5kIHRoZSBk aXYgdmFsdWUgbXVzdCBiZQo+PiArCSAqIHN1YnRyYWN0ZWQgYnkgMSBhcyBwZXIgYnNwZWMKPj4g KwkgKi8KPj4gKwl0eF9kaXYgPSBESVZfUk9VTkRfVVAoZHNpX3JhdGUsIDIwMDAwKSAtIDE7Cj4+ ICsJLyoKPj4gKwkgKiByeCBjbG9jayBzaG91bGQgYmUgPD0gMTUwTUh6IGFuZCB0aGUgZGl2IHZh bHVlIG11c3QgYmUKPj4gKwkgKiBzdWJ0cmFjdGVkIGJ5IDEgYXMgcGVyIGJzcGVjCj4+ICsJICov Cj4+ICsJcnhfZGl2ID0gRElWX1JPVU5EX1VQKGRzaV9yYXRlLCAxNTAwMDApIC0gMTsKPj4gIAo+ PiAgCS8qCj4+IC0JICogVHggZXNjYXBlIGNsb2NrIG11c3QgYmUgYXMgY2xvc2UgdG8gMjBNSHog cG9zc2libGUsIGJ1dCBzaG91bGQKPj4gLQkgKiBub3QgZXhjZWVkIGl0LiBIZW5jZSBzZWxlY3Qg ZGl2aWRlIGJ5IDIKPj4gKwkgKiByeCBkaXZpZGVyIHZhbHVlIG5lZWRzIHRvIGJlIHVwZGF0ZWQg aW4gdGhlCj4+ICsJICogdHdvIGRpZmZlcm50IGJpdCBmaWVsZHMgaW4gdGhlIHJlZ2lzdGVyIGhl bmNlIHNwbGl0dGluZyB0aGUKPj4gKwkgKiByeCBkaXZpZGVyIHZhbHVlIGFjY29yZGluZ2x5Cj4+ ICAJICovCj4+IC0JdG1wIHw9IEJYVF9NSVBJX1RYX0VTQ0xLXzhYRElWX0JZMihwb3J0KTsKPj4g KwlyeF9kaXZfbG93ZXIgPSByeF9kaXYgJiBSWF9ESVZJREVSX0JJVF8xXzI7Cj4+ICsJcnhfZGl2 X3VwcGVyID0gKHJ4X2RpdiAmIFJYX0RJVklERVJfQklUXzNfNCkgPj4gMjsKPj4gKwo+PiArCS8q IEFzIHBlciBicHNlYyBwcm9ncmFtIHRoZSA4LzNYIGNsb2NrIGRpdmlkZXIgdG8gdGhlIGJlbG93 IHZhbHVlICovCj4+ICsJaWYgKGRldl9wcml2LT52YnQuZHNpLmNvbmZpZy0+aXNfY21kX21vZGUp Cj4+ICsJCW1pcGlfOGJ5M19kaXZpZGVyID0gMHgyOwo+PiArCWVsc2UKPj4gKwkJbWlwaV84Ynkz X2RpdmlkZXIgPSAweDM7Cj4+ICAKPj4gLQl0bXAgfD0gQlhUX01JUElfUlhfRVNDTEtfOFhfQlkz KHBvcnQpOwo+PiArCXRtcCB8PSBCWFRfTUlQSV84WF9CWTNfRElWSURFUihwb3J0LCBtaXBpXzhi eTNfZGl2aWRlcik7Cj4+ICsJdG1wIHw9IEJYVF9NSVBJX1RYX0VTQ0xLX0RJVklERVIocG9ydCwg dHhfZGl2KTsKPj4gKwl0bXAgfD0gQlhUX01JUElfUlhfRVNDTEtfTE9XRVJfRElWSURFUihwb3J0 LCByeF9kaXZfbG93ZXIpOwo+PiArCXRtcCB8PSBCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9ESVZJ REVSKHBvcnQsIHJ4X2Rpdl91cHBlcik7Cj4+ICAKPj4gIAlJOTE1X1dSSVRFKEJYVF9NSVBJX0NM T0NLX0NUTCwgdG1wKTsKPj4gIH0KPj4gQEAgLTUxMyw5ICs1MzUsOSBAQCBzdGF0aWMgdm9pZCBi eHRfZHNpX3Jlc2V0X2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgZW51bSBw b3J0IHBvcnQpCj4+ICAJLyogQ2xlYXIgb2xkIGNvbmZpZ3VyYXRpb25zICovCj4+ICAJdG1wID0g STkxNV9SRUFEKEJYVF9NSVBJX0NMT0NLX0NUTCk7Cj4+ICAJdG1wICY9IH4oQlhUX01JUElfVFhf RVNDTEtfRklYRElWX01BU0socG9ydCkpOwo+PiAtCXRtcCAmPSB+KEJYVF9NSVBJX1JYX0VTQ0xL X0ZJWERJVl9NQVNLKHBvcnQpKTsKPj4gLQl0bXAgJj0gfihCWFRfTUlQSV9FU0NMS19WQVJfRElW X01BU0socG9ydCkpOwo+PiAtCXRtcCAmPSB+KEJYVF9NSVBJX0RQSFlfRElWSURFUl9NQVNLKHBv cnQpKTsKPj4gKwl0bXAgJj0gfihCWFRfTUlQSV9SWF9FU0NMS19VUFBFUl9GSVhESVZfTUFTSyhw b3J0KSk7Cj4+ICsJdG1wICY9IH4oQlhUX01JUElfOFhfQlkzX0RJVklERVJfTUFTSyhwb3J0KSk7 Cj4+ICsJdG1wICY9IH4oQlhUX01JUElfUlhfRVNDTEtfTE9XRVJfRklYRElWX01BU0socG9ydCkp Owo+PiAgCUk5MTVfV1JJVEUoQlhUX01JUElfQ0xPQ0tfQ1RMLCB0bXApOwo+PiAgCUk5MTVfV1JJ VEUoTUlQSV9FT1RfRElTQUJMRShwb3J0KSwgQ0xPQ0tTVE9QKTsKPj4gIH0KCi0tIApKYW5pIE5p a3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==