From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: Re: [PATCH 11/12] drm/i915: Keep track of the cdclk as if all crtc's were active. Date: Mon, 21 Dec 2015 15:17:48 +0200 Message-ID: <1450703868.14874.1.camel@sorvi> References: <1447945645-32005-1-git-send-email-maarten.lankhorst@linux.intel.com> <1447945645-32005-12-git-send-email-maarten.lankhorst@linux.intel.com> Reply-To: mika.kahola@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 0C1A86E448 for ; Mon, 21 Dec 2015 05:17:00 -0800 (PST) In-Reply-To: <1447945645-32005-12-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTExLTE5IGF0IDE2OjA3ICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBPbiBza3lsYWtlIHdoZW4gY2FsY3VsYXRpbmcgcGxhbmUgdmlzaWJpbGl0eSB3aXRoIHRo ZSBjcnRjIGluCj4gZHBtcyBvZmYgbW9kZSB0aGUgcmVhbCBjZGNsayBtYXkgYmUgZGlmZmVyZW50 IGZyb20gd2hhdCBpdCB3b3VsZCBiZQo+IGlmIHRoZSBjcnRjIHdhcyBhY3RpdmUuIFRoaXMgbWF5 IHJlc3VsdCBpbiBhIFdBUk5fT04oY2RjbGsgPCBjcnRjX2Nsb2NrKQo+IGZyb20gc2tsX21heF9z Y2FsZS4gVGhlIGZpeCBpcyB0byBrZWVwIGEgYXRvbWljX2NkY2xrIHRoYXQgd291bGQgYmUgdHJ1 ZQo+IGlmIGFsbCBjcnRjJ3Mgd2VyZSBhY3RpdmUuCj4gCj4gVGhpcyBpcyByZXF1aXJlZCB0byBn ZXQgdGhlIHNhbWUgY2FsY3VsYXRpb25zIGRvbmUgY29ycmVjdGx5IHJlZ2FyZGxlc3MKPiBvZiBk cG1zIG1vZGUuCj4gClJldmlld2VkLWJ5OiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8 IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNiArKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDQg aW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gaW5kZXggM2NhZWNmODk2ZjE3Li5mM2FkNzJhYmVlYTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBAQCAtMTc3Niw3ICsxNzc2LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewo+ICAKPiAgCXVuc2lnbmVkIGludCBmc2JfZnJlcSwgbWVtX2ZyZXEsIGlzX2RkcjM7Cj4gIAl1 bnNpZ25lZCBpbnQgc2tsX2Jvb3RfY2RjbGs7Cj4gLQl1bnNpZ25lZCBpbnQgY2RjbGtfZnJlcSwg bWF4X2NkY2xrX2ZyZXE7Cj4gKwl1bnNpZ25lZCBpbnQgY2RjbGtfZnJlcSwgbWF4X2NkY2xrX2Zy ZXEsIGF0b21pY19jZGNsa19mcmVxOwo+ICAJdW5zaWduZWQgaW50IG1heF9kb3RjbGtfZnJlcTsK PiAgCXVuc2lnbmVkIGludCBocGxsX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgY3pjbGtfZnJlcTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggN2Y2OWY5OGQ4YjIzLi5i MmJmOTJhM2I3MDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAg LTUzMTIsNiArNTMxMiw3IEBAIHN0YXRpYyB2b2lkIG1vZGVzZXRfcHV0X3Bvd2VyX2RvbWFpbnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAgc3RhdGljIHZvaWQgbW9k ZXNldF91cGRhdGVfY3J0Y19wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgewo+ICsJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0 b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IHN0YXRlLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+ICAJdW5zaWduZWQgbG9uZyBwdXRfZG9tYWluc1tJOTE1X01BWF9QSVBF U10gPSB7fTsKPiBAQCAtNTMyNSwxMyArNTMyNiw5IEBAIHN0YXRpYyB2b2lkIG1vZGVzZXRfdXBk YXRlX2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4g IAkJCQltb2Rlc2V0X2dldF9jcnRjX3Bvd2VyX2RvbWFpbnMoY3J0Yyk7Cj4gIAl9Cj4gIAo+IC0J aWYgKGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrKSB7Cj4gLQkJdW5zaWdu ZWQgaW50IGNkY2xrID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGs7Cj4gLQo+ IC0JCWlmIChjZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSAmJgo+IC0JCSAgICAhV0FSTl9P Tighc3RhdGUtPmFsbG93X21vZGVzZXQpKQo+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0 X2NvbW1pdF9jZGNsayhzdGF0ZSk7Cj4gLQl9Cj4gKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXkubW9k ZXNldF9jb21taXRfY2RjbGsgJiYKPiArCSAgICBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRl dl9wcml2LT5jZGNsa19mcmVxKQo+ICsJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0 X2NkY2xrKHN0YXRlKTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfUElQRVM7IGkr KykKPiAgCQlpZiAocHV0X2RvbWFpbnNbaV0pCj4gQEAgLTYwMzksMTMgKzYwMzYsMTggQEAgc3Rh dGljIGludCB2YWxsZXl2aWV3X21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g IAlpbnQgbWF4X3BpeGNsayA9IGludGVsX21vZGVfbWF4X3BpeGNsayhkZXYsIHN0YXRlKTsKPiAr CXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0KPiArCQl0b19pbnRlbF9h dG9taWNfc3RhdGUoc3RhdGUpOwo+ICAKPiAgCWlmIChtYXhfcGl4Y2xrIDwgMCkKPiAgCQlyZXR1 cm4gbWF4X3BpeGNsazsKPiAgCj4gLQl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNs ayA9Cj4gKwlpbnRlbF9zdGF0ZS0+Y2RjbGsgPSBpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrID0KPiAg CQl2YWxsZXl2aWV3X2NhbGNfY2RjbGsoZGV2X3ByaXYsIG1heF9waXhjbGspOwo+ICAKPiArCWlm ICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykKPiArCQlpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xr ID0gdmFsbGV5dmlld19jYWxjX2NkY2xrKGRldl9wcml2LCAwKTsKPiArCj4gIAlyZXR1cm4gMDsK PiAgfQo+ICAKPiBAQCAtNjA1NCwxMyArNjA1NiwxOCBAQCBzdGF0aWMgaW50IGJyb3h0b25fbW9k ZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCWludCBtYXhfcGl4Y2xrID0gaW50 ZWxfbW9kZV9tYXhfcGl4Y2xrKGRldiwgc3RhdGUpOwo+ICsJc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqaW50ZWxfc3RhdGUgPQo+ICsJCXRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7Cj4g IAo+ICAJaWYgKG1heF9waXhjbGsgPCAwKQo+ICAJCXJldHVybiBtYXhfcGl4Y2xrOwo+ICAKPiAt CXRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSktPmNkY2xrID0KPiArCWludGVsX3N0YXRlLT5j ZGNsayA9IGludGVsX3N0YXRlLT5kZXZfY2RjbGsgPQo+ICAJCWJyb3h0b25fY2FsY19jZGNsayhk ZXZfcHJpdiwgbWF4X3BpeGNsayk7Cj4gIAo+ICsJaWYgKCFpbnRlbF9zdGF0ZS0+YWN0aXZlX2Ny dGNzKQo+ICsJCWludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSBicm94dG9uX2NhbGNfY2RjbGsoZGV2 X3ByaXYsIDApOwo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC02MTAzLDggKzYxMTAs MTAgQEAgc3RhdGljIHZvaWQgdmx2X3Byb2dyYW1fcGZpX2NyZWRpdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X21vZGVzZXRfY29t bWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKPiAtCXVuc2lnbmVkIGludCBy ZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+Y2RjbGs7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJ c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqb2xkX2ludGVsX3N0YXRlID0KPiArCQl0b19pbnRl bF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKTsKPiArCXVuc2lnbmVkIHJlcV9jZGNsayA9IG9sZF9p bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrOwo+ICAKPiAgCS8qCj4gIAkgKiBGSVhNRTogV2UgY2FuIGVu ZCB1cCBoZXJlIHdpdGggYWxsIHBvd2VyIGRvbWFpbnMgb2ZmLCB5ZXQKPiBAQCAtOTU3NCw3ICs5 NTgzLDkgQEAgdm9pZCBoc3dfZGlzYWJsZV9wYzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICBzdGF0aWMgdm9pZCBicm94dG9uX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKPiAtCXVuc2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19p bnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+Y2RjbGs7Cj4gKwlzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUgPQo+ICsJCXRvX2ludGVsX2F0b21pY19zdGF0ZShv bGRfc3RhdGUpOwo+ICsJdW5zaWduZWQgaW50IHJlcV9jZGNsayA9IG9sZF9pbnRlbF9zdGF0ZS0+ ZGV2X2NkY2xrOwo+ICAKPiAgCWJyb3h0b25fc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKPiAg fQo+IEBAIC05NzAwLDYgKzk3MTEsNyBAQCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc2V0X2NkY2xr KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjZGNsaykKPiAgc3RhdGljIGludCBicm9hZHdl bGxfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAg ewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ ZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50 ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiAgCWludCBtYXhfcGl4Y2xrID0gaWxrX21heF9waXhl bF9yYXRlKHN0YXRlKTsKPiAgCWludCBjZGNsazsKPiAgCj4gQEAgLTk3MjIsNyArOTczNCw5IEBA IHN0YXRpYyBpbnQgYnJvYWR3ZWxsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IC0JdG9faW50 ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGsgPSBjZGNsazsKPiArCWludGVsX3N0YXRlLT5j ZGNsayA9IGludGVsX3N0YXRlLT5kZXZfY2RjbGsgPSBjZGNsazsKPiArCWlmICghaW50ZWxfc3Rh dGUtPmFjdGl2ZV9jcnRjcykKPiArCQlpbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrID0gMzM3NTAwOwo+ ICAKPiAgCXJldHVybiAwOwo+ICB9Cj4gQEAgLTk3MzAsNyArOTc0NCw5IEBAIHN0YXRpYyBpbnQg YnJvYWR3ZWxsX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4gIHN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gb2xkX3N0YXRlLT5kZXY7Cj4gLQl1bnNpZ25lZCBpbnQgcmVxX2NkY2xrID0gdG9faW50 ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSktPmNkY2xrOwo+ICsJc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqb2xkX2ludGVsX3N0YXRlID0KPiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUob2xk X3N0YXRlKTsKPiArCXVuc2lnbmVkIHJlcV9jZGNsayA9IG9sZF9pbnRlbF9zdGF0ZS0+ZGV2X2Nk Y2xrOwo+ICAKPiAgCWJyb2Fkd2VsbF9zZXRfY2RjbGsoZGV2LCByZXFfY2RjbGspOwo+ICB9Cj4g QEAgLTEzMDY2LDE4ICsxMzA4MiwxNSBAQCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfY2hlY2tz KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCSAqIGFkanVzdGVkX21vZGUgYml0 cyBpbiB0aGUgY3J0YyBkaXJlY3RseS4KPiAgCSAqLwo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5 Lm1vZGVzZXRfY2FsY19jZGNsaykgewo+IC0JCXVuc2lnbmVkIGludCBjZGNsazsKPiAtCj4gIAkJ cmV0ID0gZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrKHN0YXRlKTsKPiAgCj4g LQkJY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsazsKPiAtCQlpZiAo IXJldCAmJiBjZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkKPiArCQlpZiAoIXJldCAmJiBp bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQo+ICAJCQlyZXQg PSBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdGF0ZSk7Cj4gIAo+ICAJCWlmIChyZXQgPCAwKQo+ ICAJCQlyZXR1cm4gcmV0Owo+ICAJfSBlbHNlCj4gLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0 YXRlKS0+Y2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcTsKPiArCQl0b19pbnRlbF9hdG9taWNf c3RhdGUoc3RhdGUpLT5jZGNsayA9IGRldl9wcml2LT5hdG9taWNfY2RjbGtfZnJlcTsKPiAgCj4g IAlpbnRlbF9tb2Rlc2V0X2NsZWFyX3BsbHMoc3RhdGUpOwo+ICAKPiBAQCAtMTMzNTgsNiArMTMz NzEsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAgCQltZW1jcHkoZGV2X3ByaXYtPm1pbl9waXhjbGssIGludGVsX3N0YXRlLT5taW5f cGl4Y2xrLAo+ICAJCSAgICAgICBzaXplb2YoaW50ZWxfc3RhdGUtPm1pbl9waXhjbGspKTsKPiAg CQlkZXZfcHJpdi0+YWN0aXZlX2NydGNzID0gaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjczsKPiAr CQlkZXZfcHJpdi0+YXRvbWljX2NkY2xrX2ZyZXEgPSBpbnRlbF9zdGF0ZS0+Y2RjbGs7Cj4gIAl9 Cj4gIAo+ICAJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwg aSkgewo+IEBAIC0xNTAyNiw3ICsxNTA0MCwxMiBAQCBzdGF0aWMgdm9pZCBpOTE1X2Rpc2FibGVf dmdhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICB2b2lkIGludGVsX21vZGVzZXRfaW5p dF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsKPiAgCWludGVsX3VwZGF0ZV9j ZGNsayhkZXYpOwo+ICsKPiArCWRldl9wcml2LT5hdG9taWNfY2RjbGtfZnJlcSA9IGRldl9wcml2 LT5jZGNsa19mcmVxOwo+ICsKPiAgCWludGVsX3ByZXBhcmVfZGRpKGRldik7Cj4gIAlpbnRlbF9p bml0X2Nsb2NrX2dhdGluZyhkZXYpOwo+ICAJaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShkZXYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZDJlMWRjNjk4ZmNhLi43ZmQwMjVm NjRmNGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0yNDcsNiArMjQ3LDEy IEBAIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgewo+ICAKPiAgCXVuc2lnbmVkIGludCBjZGNs azsKPiAgCj4gKwkvKgo+ICsJICogQ2FsY3VsYXRlZCBkZXZpY2UgY2RjbGssIGNhbiBiZSBkaWZm ZXJlbnQgZnJvbSBjZGNsawo+ICsJICogb25seSB3aGVuIGFsbCBjcnRjJ3MgYXJlIERQTVMgb2Zm Lgo+ICsJICovCj4gKwl1bnNpZ25lZCBpbnQgZGV2X2NkY2xrOwo+ICsKPiAgCWJvb2wgZHBsbF9z ZXQsIG1vZGVzZXQ7Cj4gIAo+ICAJdW5zaWduZWQgaW50IGFjdGl2ZV9jcnRjczsKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=