From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 11/12] drm/i915: Keep track of the cdclk as if all crtc's were active. Date: Thu, 26 Nov 2015 15:31:01 +0200 Message-ID: <1448544661.3189.17.camel@gmail.com> References: <1447945645-32005-1-git-send-email-maarten.lankhorst@linux.intel.com> <1447945645-32005-12-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A23A6E0BF for ; Thu, 26 Nov 2015 05:31:05 -0800 (PST) Received: by pacej9 with SMTP id ej9so87072755pac.2 for ; Thu, 26 Nov 2015 05:31:05 -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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE1LTExLTE5IGF0IDE2OjA3ICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBPbiBza3lsYWtlIHdoZW4gY2FsY3VsYXRpbmcgcGxhbmUgdmlzaWJpbGl0eSB3aXRoIHRo ZSBjcnRjIGluCj4gZHBtcyBvZmYgbW9kZSB0aGUgcmVhbCBjZGNsayBtYXkgYmUgZGlmZmVyZW50 IGZyb20gd2hhdCBpdCB3b3VsZCBiZQo+IGlmIHRoZSBjcnRjIHdhcyBhY3RpdmUuIFRoaXMgbWF5 IHJlc3VsdCBpbiBhIFdBUk5fT04oY2RjbGsgPCBjcnRjX2Nsb2NrKQo+IGZyb20gc2tsX21heF9z Y2FsZS4gVGhlIGZpeCBpcyB0byBrZWVwIGEgYXRvbWljX2NkY2xrIHRoYXQgd291bGQgYmUgdHJ1 ZQo+IGlmIGFsbCBjcnRjJ3Mgd2VyZSBhY3RpdmUuCj4gCj4gVGhpcyBpcyByZXF1aXJlZCB0byBn ZXQgdGhlIHNhbWUgY2FsY3VsYXRpb25zIGRvbmUgY29ycmVjdGx5IHJlZ2FyZGxlc3MKPiBvZiBk cG1zIG1vZGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAtCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA2ICsrKysKPiAgMyBmaWxlcyBj aGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiBpbmRleCAzY2FlY2Y4OTZmMTcuLmYzYWQ3MmFiZWVhNyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xNzc2LDcgKzE3NzYsNyBAQCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSB7Cj4gIAo+ICAJdW5zaWduZWQgaW50IGZzYl9mcmVxLCBtZW1fZnJlcSwgaXNf ZGRyMzsKPiAgCXVuc2lnbmVkIGludCBza2xfYm9vdF9jZGNsazsKPiAtCXVuc2lnbmVkIGludCBj ZGNsa19mcmVxLCBtYXhfY2RjbGtfZnJlcTsKPiArCXVuc2lnbmVkIGludCBjZGNsa19mcmVxLCBt YXhfY2RjbGtfZnJlcSwgYXRvbWljX2NkY2xrX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgbWF4X2Rv dGNsa19mcmVxOwo+ICAJdW5zaWduZWQgaW50IGhwbGxfZnJlcTsKPiAgCXVuc2lnbmVkIGludCBj emNsa19mcmVxOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDdm NjlmOThkOGIyMy4uYjJiZjkyYTNiNzAxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC01MzEyLDYgKzUzMTIsNyBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3B1dF9w b3dlcl9kb21haW5zKHN0cnVjdAo+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAg c3RhdGljIHZvaWQgbW9kZXNldF91cGRhdGVfY3J0Y19wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgewo+ICsJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq aW50ZWxfc3RhdGUgPQo+IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7Cj4gIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAl1bnNpZ25lZCBsb25nIHB1dF9kb21h aW5zW0k5MTVfTUFYX1BJUEVTXSA9IHt9Owo+IEBAIC01MzI1LDEzICs1MzI2LDkgQEAgc3RhdGlj IHZvaWQgbW9kZXNldF91cGRhdGVfY3J0Y19wb3dlcl9kb21haW5zKHN0cnVjdAo+IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQo+ICAJCQkJbW9kZXNldF9nZXRfY3J0Y19wb3dlcl9kb21haW5zKGNy dGMpOwo+ICAJfQo+ICAKPiAtCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NvbW1pdF9j ZGNsaykgewo+IC0JCXVuc2lnbmVkIGludCBjZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShz dGF0ZSktPmNkY2xrOwo+IC0KPiAtCQlpZiAoY2RjbGsgIT0gZGV2X3ByaXYtPmNkY2xrX2ZyZXEg JiYKPiAtCQkgICAgIVdBUk5fT04oIXN0YXRlLT5hbGxvd19tb2Rlc2V0KSkKPiAtCQkJZGV2X3By aXYtPmRpc3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsoc3RhdGUpOwo+IC0JfQo+ICsJaWYgKGRl dl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xrICYmCj4gKwkgICAgaW50ZWxfc3Rh dGUtPmRldl9jZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkKPiArCQlkZXZfcHJpdi0+ZGlz cGxheS5tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdGF0ZSk7Cj4gIAo+ICAJZm9yIChpID0gMDsgaSA8 IEk5MTVfTUFYX1BJUEVTOyBpKyspCj4gIAkJaWYgKHB1dF9kb21haW5zW2ldKQo+IEBAIC02MDM5 LDEzICs2MDM2LDE4IEBAIHN0YXRpYyBpbnQgdmFsbGV5dmlld19tb2Rlc2V0X2NhbGNfY2RjbGso c3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gc3RhdGUtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlpbnQgbWF4X3BpeGNsayA9IGludGVsX21vZGVfbWF4X3Bp eGNsayhkZXYsIHN0YXRlKTsKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0 YXRlID0KPiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwo+ICAKPiAgCWlmIChtYXhf cGl4Y2xrIDwgMCkKPiAgCQlyZXR1cm4gbWF4X3BpeGNsazsKPiAgCj4gLQl0b19pbnRlbF9hdG9t aWNfc3RhdGUoc3RhdGUpLT5jZGNsayA9Cj4gKwlpbnRlbF9zdGF0ZS0+Y2RjbGsgPSBpbnRlbF9z dGF0ZS0+ZGV2X2NkY2xrID0KPiAgCQl2YWxsZXl2aWV3X2NhbGNfY2RjbGsoZGV2X3ByaXYsIG1h eF9waXhjbGspOwo+ICAKPiArCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykKPiArCQlp bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrID0gdmFsbGV5dmlld19jYWxjX2NkY2xrKGRldl9wcml2LCAw KTsKPiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtNjA1NCwxMyArNjA1NiwxOCBAQCBz dGF0aWMgaW50IGJyb3h0b25fbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdAo+IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7Cj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ ICAJaW50IG1heF9waXhjbGsgPSBpbnRlbF9tb2RlX21heF9waXhjbGsoZGV2LCBzdGF0ZSk7Cj4g KwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9Cj4gKwkJdG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKTsKPiAgCj4gIAlpZiAobWF4X3BpeGNsayA8IDApCj4gIAkJcmV0 dXJuIG1heF9waXhjbGs7Cj4gIAo+IC0JdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+Y2Rj bGsgPQo+ICsJaW50ZWxfc3RhdGUtPmNkY2xrID0gaW50ZWxfc3RhdGUtPmRldl9jZGNsayA9Cj4g IAkJYnJveHRvbl9jYWxjX2NkY2xrKGRldl9wcml2LCBtYXhfcGl4Y2xrKTsKPiAgCj4gKwlpZiAo IWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3MpCj4gKwkJaW50ZWxfc3RhdGUtPmRldl9jZGNsayA9 IGJyb3h0b25fY2FsY19jZGNsayhkZXZfcHJpdiwgMCk7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gQEAgLTYxMDMsOCArNjExMCwxMCBAQCBzdGF0aWMgdm9pZCB2bHZfcHJvZ3JhbV9wZmlf Y3JlZGl0cyhzdHJ1Y3QKPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZQo+ICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3Rh dGUtPmRldjsKPiAtCXVuc2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3Rh dGUob2xkX3N0YXRlKS0+Y2RjbGs7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqb2xk X2ludGVsX3N0YXRlID0KPiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKTsKPiAr CXVuc2lnbmVkIHJlcV9jZGNsayA9IG9sZF9pbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrOwo+ICAKPiAg CS8qCj4gIAkgKiBGSVhNRTogV2UgY2FuIGVuZCB1cCBoZXJlIHdpdGggYWxsIHBvd2VyIGRvbWFp bnMgb2ZmLCB5ZXQKPiBAQCAtOTU3NCw3ICs5NTgzLDkgQEAgdm9pZCBoc3dfZGlzYWJsZV9wYzgo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICBzdGF0aWMgdm9pZCBicm94dG9u X21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp Cj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKPiAtCXVu c2lnbmVkIGludCByZXFfY2RjbGsgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKS0+ Y2RjbGs7Cj4gKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUgPQo+ ICsJCXRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpOwo+ICsJdW5zaWduZWQgaW50IHJl cV9jZGNsayA9IG9sZF9pbnRlbF9zdGF0ZS0+ZGV2X2NkY2xrOwo+ICAKPiAgCWJyb3h0b25fc2V0 X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKPiAgfQo+IEBAIC05NzAwLDYgKzk3MTEsNyBAQCBzdGF0 aWMgdm9pZCBicm9hZHdlbGxfc2V0X2NkY2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gaW50 IGNkY2xrKQo+ICBzdGF0aWMgaW50IGJyb2Fkd2VsbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ICsJc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqaW50ZWxfc3RhdGUgPQo+IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7Cj4g IAlpbnQgbWF4X3BpeGNsayA9IGlsa19tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7Cj4gIAlpbnQgY2Rj bGs7Cj4gIAo+IEBAIC05NzIyLDcgKzk3MzQsOSBAQCBzdGF0aWMgaW50IGJyb2Fkd2VsbF9tb2Rl c2V0X2NhbGNfY2RjbGsoc3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IC0JdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+ Y2RjbGsgPSBjZGNsazsKPiArCWludGVsX3N0YXRlLT5jZGNsayA9IGludGVsX3N0YXRlLT5kZXZf Y2RjbGsgPSBjZGNsazsKPiArCWlmICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykKPiArCQlp bnRlbF9zdGF0ZS0+ZGV2X2NkY2xrID0gMzM3NTAwOwo+ICAKPiAgCXJldHVybiAwOwo+ICB9Cj4g QEAgLTk3MzAsNyArOTc0NCw5IEBAIHN0YXRpYyBpbnQgYnJvYWR3ZWxsX21vZGVzZXRfY2FsY19j ZGNsayhzdHJ1Y3QKPiBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgc3RhdGljIHZvaWQgYnJv YWR3ZWxsX21vZGVzZXRfY29tbWl0X2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4gKm9s ZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9sZF9zdGF0ZS0+ZGV2 Owo+IC0JdW5zaWduZWQgaW50IHJlcV9jZGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRf c3RhdGUpLT5jZGNsazsKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKm9sZF9pbnRlbF9z dGF0ZSA9Cj4gKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSk7Cj4gKwl1bnNpZ25l ZCByZXFfY2RjbGsgPSBvbGRfaW50ZWxfc3RhdGUtPmRldl9jZGNsazsKPiAgCj4gIAlicm9hZHdl bGxfc2V0X2NkY2xrKGRldiwgcmVxX2NkY2xrKTsKPiAgfQo+IEBAIC0xMzA2NiwxOCArMTMwODIs MTUgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QKPiBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKPiAgCSAqIGFkanVzdGVkX21vZGUgYml0cyBpbiB0aGUgY3J0YyBkaXJl Y3RseS4KPiAgCSAqLwo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY2FsY19jZGNs aykgewo+IC0JCXVuc2lnbmVkIGludCBjZGNsazsKPiAtCj4gIAkJcmV0ID0gZGV2X3ByaXYtPmRp c3BsYXkubW9kZXNldF9jYWxjX2NkY2xrKHN0YXRlKTsKPiAgCj4gLQkJY2RjbGsgPSB0b19pbnRl bF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsazsKPiAtCQlpZiAoIXJldCAmJiBjZGNsayAhPSBk ZXZfcHJpdi0+Y2RjbGtfZnJlcSkKPiArCQlpZiAoIXJldCAmJiBpbnRlbF9zdGF0ZS0+ZGV2X2Nk Y2xrICE9IGRldl9wcml2LT5jZGNsa19mcmVxKQo+ICAJCQlyZXQgPSBpbnRlbF9tb2Rlc2V0X2Fs bF9waXBlcyhzdGF0ZSk7Cj4gIAo+ICAJCWlmIChyZXQgPCAwKQo+ICAJCQlyZXR1cm4gcmV0Owo+ ICAJfSBlbHNlCj4gLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+Y2RjbGsgPSBkZXZf cHJpdi0+Y2RjbGtfZnJlcTsKPiArCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNs ayA9IGRldl9wcml2Cj4gLT5hdG9taWNfY2RjbGtfZnJlcTsKPiAgCj4gIAlpbnRlbF9tb2Rlc2V0 X2NsZWFyX3BsbHMoc3RhdGUpOwo+ICAKPiBAQCAtMTMzNTgsNiArMTMzNzEsNyBAQCBzdGF0aWMg aW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQltZW1j cHkoZGV2X3ByaXYtPm1pbl9waXhjbGssIGludGVsX3N0YXRlLT5taW5fcGl4Y2xrLAo+ICAJCSAg ICAgICBzaXplb2YoaW50ZWxfc3RhdGUtPm1pbl9waXhjbGspKTsKPiAgCQlkZXZfcHJpdi0+YWN0 aXZlX2NydGNzID0gaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjczsKPiArCQlkZXZfcHJpdi0+YXRv bWljX2NkY2xrX2ZyZXEgPSBpbnRlbF9zdGF0ZS0+Y2RjbGs7Cj4gIAl9Cj4gIAo+ICAJZm9yX2Vh Y2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+IEBAIC0xNTAy Niw3ICsxNTA0MCwxMiBAQCBzdGF0aWMgdm9pZCBpOTE1X2Rpc2FibGVfdmdhKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gIAo+ICB2b2lkIGludGVsX21vZGVzZXRfaW5pdF9odyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+ICsKPiAgCWludGVsX3VwZGF0ZV9jZGNsayhkZXYpOwo+ICsK PiArCWRldl9wcml2LT5hdG9taWNfY2RjbGtfZnJlcSA9IGRldl9wcml2LT5jZGNsa19mcmVxOwo+ ICsKPiAgCWludGVsX3ByZXBhcmVfZGRpKGRldik7Cj4gIAlpbnRlbF9pbml0X2Nsb2NrX2dhdGlu ZyhkZXYpOwo+ICAJaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShkZXYpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBkMmUxZGM2OThmY2EuLjdmZDAyNWY2NGY0YyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTI0Nyw2ICsyNDcsMTIgQEAgc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSB7Cj4gIAo+ICAJdW5zaWduZWQgaW50IGNkY2xrOwo+ICAKPiArCS8q Cj4gKwkgKiBDYWxjdWxhdGVkIGRldmljZSBjZGNsaywgY2FuIGJlIGRpZmZlcmVudCBmcm9tIGNk Y2xrCj4gKwkgKiBvbmx5IHdoZW4gYWxsIGNydGMncyBhcmUgRFBNUyBvZmYuCj4gKwkgKi8KPiAr CXVuc2lnbmVkIGludCBkZXZfY2RjbGs7Cj4gKwo+ICAJYm9vbCBkcGxsX3NldCwgbW9kZXNldDsK PiAgCj4gIAl1bnNpZ25lZCBpbnQgYWN0aXZlX2NydGNzOwoKU28gc3RhdGUtPmNkY2xrIGFuZCBk ZXZfcHJpdi0+YXRvbWljX2NkY2xrX2ZyZXEgaG9sZCB0aGUgdmFsdWUgZm9yIHdoZW4gYWxsCkNS VENzIGFyZSBlbmFibGVkIGFuZCBzdGF0ZS0+ZGV2X2NkY2xrYW5kIGRldl9wcml2LT5jZGNsa19m cmVxIGhvbGQgdGhlIGFjdHVhbApjZGNsayB2YWx1ZSAod2hpY2ggY2hhbmdlcyBmb3IgRFBNUyBv ZmYpLiBJbiBpbnRlbF9hdG9taWNfY2hlY2soKSwgdGhlcmUgaXMgdGhlCmZvbGxvd2luZyBhc3Np Z25tZW50OgoKaWYgKGFueV9tcykgewoJLi4uCn0gZWxzZQoJaW50ZWxfc3RhdGUtPmNkY2xrID0g dG9faTkxNShzdGF0ZS0+ZGV2KS0+Y2RjbGtfZnJlcTsKCkNhbiBhbiB1cGRhdGUgZHVyaW5nIERQ TVMgb2ZmIGNhdXNlIHRoZSB2YWx1ZSBvZiBjZGNsayBmb3Igd2hlbiBhbGwgQ1JUQ3MgYXJlCmVu YWJsZWQgdG8gYmUgb3ZlcndyaXR0ZW4gd2l0aCB0aGUgRFBNUyBvZmYgdmFsdWU/CgpQYXRjaCBs b29rcyBmaW5lIG90aGVyIHRoYW4gdGhhdCwgYnV0IG1heWJlIGFzIGEgZm9sbG93dXAgd2UgY291 bGQgcmVuYW1lIHRob3NlCmZpZWxkcyBzbyB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZW0gaXMgYSBi aXQgY2xlYXJlci4gTWF5YmUgY3VycmVudF9jZGNsayBmb3IKYm90aCBzdGF0ZSBhbmQgZGV2X3By aXYgZm9yIHRoZSB2YWx1ZSBjdXJyZW50bHkgcHJvZ3JhbW1lZCB0byB0aGUgaGFyZHdhcmUuIE5v dApzdXJlIGFib3V0IHRoZSBhdG9taWNfY2RjbGsuIEhvdyBhYm91dCBkcG1zX29uX2NkY2xrIG9y IGFjdGl2ZV9jZGNsaz8KCkFuZGVyCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==