From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabriel Feceoru Subject: Re: [PATCH] drm/i915: Consider SPLL as another shared pll, v2. Date: Wed, 18 Nov 2015 14:31:13 +0200 Message-ID: <564C6F91.3010000@intel.com> References: <1447681332-6318-1-git-send-email-maarten.lankhorst@linux.intel.com> <878u5y9bzp.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 8C6D26E6C0 for ; Wed, 18 Nov 2015 04:24:28 -0800 (PST) In-Reply-To: <878u5y9bzp.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: Jani Nikula , Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: Emil Renner Berthing List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxNi4xMS4yMDE1IDE3OjUzLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBPbiBNb24sIDE2IE5v diAyMDE1LCBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwu Y29tPiB3cm90ZToKPj4gV2hlbiBkaWFnbm9zaW5nIGEgdW5yZWxhdGVkIGJ1ZyBmb3Igc29tZW9u ZSBvbiBpcmMsIGl0IHdvdWxkIHNlZW0gdGhlIGhhcmR3YXJlIGNhbgo+PiBiZSBicm91Z2h0IHVw IGJ5IHRoZSBCSU9TIHdpdGggdGhlIGVtYmVkZGVkIGRpc3BsYXlwb3J0IHVzaW5nIHRoZSBTUExM IGZvciBzcHJlYWQgc3BlY3RydW0uCj4+Cj4+IFJpZ2h0IG5vdyB0aGlzIGlzIG5vdCBoYW5kbGVk IHdlbGwgaW4gaTkxNSwgYW5kIGl0IGNhbGN1bGF0ZXMgdGhlIGNydGMgbmVlZHMgdG8KPj4gYmUg cmVwcm9ncmFtbWVkIG9uIHRoZSBmaXJzdCBtb2Rlc2V0IHdpdGhvdXQgU1NDLCBidXQgIHRoZSBT UExMIGl0c2VsZiB3YXMga2VwdAo+PiBhY3RpdmUuIEZpeCB0aGlzIGJ5IGV4cG9zaW5nIFNQTEwg YXMgYSBzaGFyZWQgcGxsIHRoYXQgd2lsbCBub3QgYmUgcmV0dXJuZWQKPj4gYnkgaW50ZWxfZ2V0 X3NoYXJlZF9kcGxsOyB5b3UgaGF2ZSB0byBrbm93IGl0IGV4aXN0cyB0byB1c2UgaXQuCj4+Cj4+ IENoYW5nZXMgc2luY2UgdjE6Cj4+IC0gQ3JlYXRlIGEgc2VwYXJhdGUgZHBsbF9od19zdGF0ZS5z cGxsIGZvciBzcGxsLCBhbmQgdXNlCj4+ICAgIHNlcGFyYXRlIHBsbCBmdW5jdGlvbnMgZm9yIHNw bGwuCj4+Cj4+IFRlc3RlZC1ieTogRW1pbCBSZW5uZXIgQmVydGhpbmcgPGtlcm5lbEBlc21pbC5k az4gI3YxCj4+IFJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0KPj4gRW1pbCwgY2FuIHlvdSByZXRlc3Q/Cj4KPiBH YWJyaWVsLCB5b3UgdG9vIHBsZWFzZSEKCkkgcmV0ZXN0ZWQgaXQgYW5kIGl0J3Mgb2suCgpSZWdh cmRzLApHYWJyaWVsLgoKPgo+IEJSLAo+IEphbmkuCj4KPj4KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMyArKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NydC5jICAgICB8IDMxICsrLS0tLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jICAgICB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE1ICsrKysr Ky0tCj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMo LSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IGluZGV4IDg1Yzg0YzYyNGVkMS4uYjZi NjIzODdjYmUxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTM1MSw2ICsz NTEsOCBAQCBlbnVtIGludGVsX2RwbGxfaWQgewo+PiAgIAkvKiBoc3cvYmR3ICovCj4+ICAgCURQ TExfSURfV1JQTEwxID0gMCwKPj4gICAJRFBMTF9JRF9XUlBMTDIgPSAxLAo+PiArCURQTExfSURf U1BMTCA9IDIsCj4+ICsKPj4gICAJLyogc2tsICovCj4+ICAgCURQTExfSURfU0tMX0RQTEwxID0g MCwKPj4gICAJRFBMTF9JRF9TS0xfRFBMTDIgPSAxLAo+PiBAQCAtMzY3LDYgKzM2OSw3IEBAIHN0 cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlIHsKPj4KPj4gICAJLyogaHN3LCBiZHcgKi8KPj4gICAJ dWludDMyX3Qgd3JwbGw7Cj4+ICsJdWludDMyX3Qgc3BsbDsKPj4KPj4gICAJLyogc2tsICovCj4+ ICAgCS8qCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4+IGluZGV4IGI4NGFhYTBiYjQ4YS4u NmEyYzc2ZTM2N2E1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j cnQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+PiBAQCAtMTM4 LDE4ICsxMzgsNiBAQCBzdGF0aWMgdm9pZCBoc3dfY3J0X2dldF9jb25maWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUu ZmxhZ3MgfD0gaW50ZWxfY3J0X2dldF9mbGFncyhlbmNvZGVyKTsKPj4gICB9Cj4+Cj4+IC1zdGF0 aWMgdm9pZCBoc3dfY3J0X3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp Cj4+IC17Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4+IC0KPj4gLQlXQVJOKEk5MTVfUkVBRChTUExMX0NUTCkgJiBTUExMX1BMTF9FTkFCTEUsICJT UExMIGFscmVhZHkgZW5hYmxlZFxuIik7Cj4+IC0JSTkxNV9XUklURShTUExMX0NUTCwKPj4gLQkJ ICAgU1BMTF9QTExfRU5BQkxFIHwgU1BMTF9QTExfRlJFUV8xMzUwTUh6IHwgU1BMTF9QTExfU1ND KTsKPj4gLQlQT1NUSU5HX1JFQUQoU1BMTF9DVEwpOwo+PiAtCXVkZWxheSgyMCk7Cj4+IC19Cj4+ IC0KPj4gICAvKiBOb3RlOiBUaGUgY2FsbGVyIGlzIHJlcXVpcmVkIHRvIGZpbHRlciBvdXQgZHBt cyBtb2RlcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZQo+PiAgICAqIHBsYXRmb3JtLiAqLwo+PiAgIHN0 YXRpYyB2b2lkIGludGVsX2NydF9zZXRfZHBtcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwgaW50IG1vZGUpCj4+IEBAIC0yMTYsMTkgKzIwNCw2IEBAIHN0YXRpYyB2b2lkIHBjaF9wb3N0 X2Rpc2FibGVfY3J0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+PiAgIAlpbnRlbF9k aXNhYmxlX2NydChlbmNvZGVyKTsKPj4gICB9Cj4+Cj4+IC1zdGF0aWMgdm9pZCBoc3dfY3J0X3Bv c3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPj4gLXsKPj4gLQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gLQl1aW50MzJfdCB2 YWw7Cj4+IC0KPj4gLQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgU1BMTFxuIik7Cj4+IC0JdmFs ID0gSTkxNV9SRUFEKFNQTExfQ1RMKTsKPj4gLQlXQVJOX09OKCEodmFsICYgU1BMTF9QTExfRU5B QkxFKSk7Cj4+IC0JSTkxNV9XUklURShTUExMX0NUTCwgdmFsICYgflNQTExfUExMX0VOQUJMRSk7 Cj4+IC0JUE9TVElOR19SRUFEKFNQTExfQ1RMKTsKPj4gLX0KPj4gLQo+PiAgIHN0YXRpYyB2b2lk IGludGVsX2VuYWJsZV9jcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4+ICAgewo+ PiAgIAlzdHJ1Y3QgaW50ZWxfY3J0ICpjcnQgPSBpbnRlbF9lbmNvZGVyX3RvX2NydChlbmNvZGVy KTsKPj4gQEAgLTI4MCw2ICsyNTUsMTAgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0X2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+PiAgIAlpZiAoSEFTX0RESShk ZXYpKSB7Cj4+ICAgCQlwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwgPSBQT1JUX0NMS19TRUxfU1BM TDsKPj4gICAJCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gMTM1MDAwICogMjsKPj4gKwo+PiAr CQlwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS53cnBsbCA9IDA7Cj4+ICsJCXBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlLnNwbGwgPQo+PiArCQkJU1BMTF9QTExfRU5BQkxFIHwgU1BMTF9QTExf RlJFUV8xMzUwTUh6IHwgU1BMTF9QTExfU1NDOwo+PiAgIAl9Cj4+Cj4+ICAgCXJldHVybiB0cnVl Owo+PiBAQCAtODYwLDggKzgzOSw2IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPj4gICAJaWYgKEhBU19EREkoZGV2KSkgewo+PiAgIAkJY3J0LT5iYXNlLmdl dF9jb25maWcgPSBoc3dfY3J0X2dldF9jb25maWc7Cj4+ICAgCQljcnQtPmJhc2UuZ2V0X2h3X3N0 YXRlID0gaW50ZWxfZGRpX2dldF9od19zdGF0ZTsKPj4gLQkJY3J0LT5iYXNlLnByZV9lbmFibGUg PSBoc3dfY3J0X3ByZV9lbmFibGU7Cj4+IC0JCWNydC0+YmFzZS5wb3N0X2Rpc2FibGUgPSBoc3df Y3J0X3Bvc3RfZGlzYWJsZTsKPj4gICAJfSBlbHNlIHsKPj4gICAJCWNydC0+YmFzZS5nZXRfY29u ZmlnID0gaW50ZWxfY3J0X2dldF9jb25maWc7Cj4+ICAgCQljcnQtPmJhc2UuZ2V0X2h3X3N0YXRl ID0gaW50ZWxfY3J0X2dldF9od19zdGF0ZTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4g aW5kZXggYWJiNGEyNjVhNmRmLi45MGZhZDdhZDEyYWMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4+IEBAIC0xMjg2LDYgKzEyODYsMTggQEAgaHN3X2RkaV9wbGxfc2VsZWN0KHN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+PiAgIAkJfQo+Pgo+PiAgIAkJY3J0Y19zdGF0 ZS0+ZGRpX3BsbF9zZWwgPSBQT1JUX0NMS19TRUxfV1JQTEwocGxsLT5pZCk7Cj4+ICsJfSBlbHNl IGlmIChjcnRjX3N0YXRlLT5kZGlfcGxsX3NlbCA9PSBQT1JUX0NMS19TRUxfU1BMTCkgewo+PiAr CQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRl Owo+PiArCQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnICpzcGxsID0KPj4gKwkJCSZp bnRlbF9hdG9taWNfZ2V0X3NoYXJlZF9kcGxsX3N0YXRlKHN0YXRlKVtEUExMX0lEX1NQTExdOwo+ PiArCj4+ICsJCWlmIChzcGxsLT5jcnRjX21hc2sgJiYKPj4gKwkJICAgIFdBUk5fT04oc3BsbC0+ aHdfc3RhdGUuc3BsbCAhPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLnNwbGwpKQo+PiArCQkJ cmV0dXJuIGZhbHNlOwo+PiArCj4+ICsJCWNydGNfc3RhdGUtPnNoYXJlZF9kcGxsID0gRFBMTF9J RF9TUExMOwo+PiArCQlzcGxsLT5od19zdGF0ZS5zcGxsID0gY3J0Y19zdGF0ZS0+ZHBsbF9od19z dGF0ZS5zcGxsOwo+PiArCQlzcGxsLT5jcnRjX21hc2sgfD0gMSA8PCBpbnRlbF9jcnRjLT5waXBl Owo+PiAgIAl9Cj4+Cj4+ICAgCXJldHVybiB0cnVlOwo+PiBAQCAtMjQ0Niw3ICsyNDU4LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIpCj4+ICAgCX0KPj4gICB9Cj4+Cj4+IC1zdGF0aWMgdm9pZCBoc3dfZGRpX3BsbF9l bmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiArc3RhdGljIHZvaWQg aHN3X2RkaV93cnBsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ PiAgIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCkKPj4gICB7Cj4+ICAg CUk5MTVfV1JJVEUoV1JQTExfQ1RMKHBsbC0+aWQpLCBwbGwtPmNvbmZpZy5od19zdGF0ZS53cnBs bCk7Cj4+IEBAIC0yNDU0LDkgKzI0NjYsMTcgQEAgc3RhdGljIHZvaWQgaHN3X2RkaV9wbGxfZW5h YmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gICAJdWRlbGF5KDIwKTsK Pj4gICB9Cj4+Cj4+IC1zdGF0aWMgdm9pZCBoc3dfZGRpX3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gK3N0YXRpYyB2b2lkIGhzd19kZGlfc3BsbF9lbmFi bGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgIAkJCQlzdHJ1Y3QgaW50 ZWxfc2hhcmVkX2RwbGwgKnBsbCkKPj4gICB7Cj4+ICsJSTkxNV9XUklURShTUExMX0NUTCwgcGxs LT5jb25maWcuaHdfc3RhdGUuc3BsbCk7Cj4+ICsJUE9TVElOR19SRUFEKFNQTExfQ1RMKTsKPj4g Kwl1ZGVsYXkoMjApOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBoc3dfZGRpX3dycGxsX2Rp c2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiArCQkJCSAgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwpCj4+ICt7Cj4+ICAgCXVpbnQzMl90IHZhbDsKPj4KPj4g ICAJdmFsID0gSTkxNV9SRUFEKFdSUExMX0NUTChwbGwtPmlkKSk7Cj4+IEBAIC0yNDY0LDkgKzI0 ODQsMTkgQEAgc3RhdGljIHZvaWQgaHN3X2RkaV9wbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgCVBPU1RJTkdfUkVBRChXUlBMTF9DVEwocGxsLT5pZCkp Owo+PiAgIH0KPj4KPj4gLXN0YXRpYyBib29sIGhzd19kZGlfcGxsX2dldF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+IC0JCQkJICAgICBzdHJ1Y3QgaW50ZWxf c2hhcmVkX2RwbGwgKnBsbCwKPj4gLQkJCQkgICAgIHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRl ICpod19zdGF0ZSkKPj4gK3N0YXRpYyB2b2lkIGhzd19kZGlfc3BsbF9kaXNhYmxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gKwkJCQkgc3RydWN0IGludGVsX3NoYXJlZF9k cGxsICpwbGwpCj4+ICt7Cj4+ICsJdWludDMyX3QgdmFsOwo+PiArCj4+ICsJdmFsID0gSTkxNV9S RUFEKFNQTExfQ1RMKTsKPj4gKwlJOTE1X1dSSVRFKFNQTExfQ1RMLCB2YWwgJiB+U1BMTF9QTExf RU5BQkxFKTsKPj4gKwlQT1NUSU5HX1JFQUQoU1BMTF9DVEwpOwo+PiArfQo+PiArCj4+ICtzdGF0 aWMgYm9vbCBoc3dfZGRpX3dycGxsX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4+ICsJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxs LAo+PiArCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSAqaHdfc3RhdGUpCj4+ ICAgewo+PiAgIAl1aW50MzJfdCB2YWw7Cj4+Cj4+IEBAIC0yNDc5LDI1ICsyNTA5LDUwIEBAIHN0 YXRpYyBib29sIGhzd19kZGlfcGxsX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4+ICAgCXJldHVybiB2YWwgJiBXUlBMTF9QTExfRU5BQkxFOwo+PiAgIH0K Pj4KPj4gK3N0YXRpYyBib29sIGhzd19kZGlfc3BsbF9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiArCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsLAo+PiArCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlICpod19z dGF0ZSkKPj4gK3sKPj4gKwl1aW50MzJfdCB2YWw7Cj4+ICsKPj4gKwlpZiAoIWludGVsX2Rpc3Bs YXlfcG93ZXJfaXNfZW5hYmxlZChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX1BMTFMpKQo+PiArCQly ZXR1cm4gZmFsc2U7Cj4+ICsKPj4gKwl2YWwgPSBJOTE1X1JFQUQoU1BMTF9DVEwpOwo+PiArCWh3 X3N0YXRlLT5zcGxsID0gdmFsOwo+PiArCj4+ICsJcmV0dXJuIHZhbCAmIFNQTExfUExMX0VOQUJM RTsKPj4gK30KPj4gKwo+PiArCj4+ICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBoc3dfZGRp X3BsbF9uYW1lc1tdID0gewo+PiAgIAkiV1JQTEwgMSIsCj4+ICAgCSJXUlBMTCAyIiwKPj4gKwki U1BMTCIKPj4gICB9Owo+Pgo+PiAgIHN0YXRpYyB2b2lkIGhzd19zaGFyZWRfZHBsbHNfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAgewo+PiAgIAlpbnQgaTsKPj4K Pj4gLQlkZXZfcHJpdi0+bnVtX3NoYXJlZF9kcGxsID0gMjsKPj4gKwlkZXZfcHJpdi0+bnVtX3No YXJlZF9kcGxsID0gMzsKPj4KPj4gLQlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPm51bV9zaGFy ZWRfZHBsbDsgaSsrKSB7Cj4+ICsJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewo+PiAgIAkJZGV2 X3ByaXYtPnNoYXJlZF9kcGxsc1tpXS5pZCA9IGk7Cj4+ICAgCQlkZXZfcHJpdi0+c2hhcmVkX2Rw bGxzW2ldLm5hbWUgPSBoc3dfZGRpX3BsbF9uYW1lc1tpXTsKPj4gLQkJZGV2X3ByaXYtPnNoYXJl ZF9kcGxsc1tpXS5kaXNhYmxlID0gaHN3X2RkaV9wbGxfZGlzYWJsZTsKPj4gLQkJZGV2X3ByaXYt PnNoYXJlZF9kcGxsc1tpXS5lbmFibGUgPSBoc3dfZGRpX3BsbF9lbmFibGU7Cj4+ICsJCWRldl9w cml2LT5zaGFyZWRfZHBsbHNbaV0uZGlzYWJsZSA9IGhzd19kZGlfd3JwbGxfZGlzYWJsZTsKPj4g KwkJZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tpXS5lbmFibGUgPSBoc3dfZGRpX3dycGxsX2VuYWJs ZTsKPj4gICAJCWRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV0uZ2V0X2h3X3N0YXRlID0KPj4gLQkJ CWhzd19kZGlfcGxsX2dldF9od19zdGF0ZTsKPj4gKwkJCWhzd19kZGlfd3JwbGxfZ2V0X2h3X3N0 YXRlOwo+PiAgIAl9Cj4+ICsKPj4gKwkvKiBTUExMIGlzIHNwZWNpYWwsIGJ1dCBuZWVkcyB0byBi ZSBpbml0aWFsaXplZCBhbnl3YXkuLiAqLwo+PiArCWRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV0u aWQgPSBpOwo+PiArCWRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV0ubmFtZSA9IGhzd19kZGlfcGxs X25hbWVzW2ldOwo+PiArCWRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV0uZGlzYWJsZSA9IGhzd19k ZGlfc3BsbF9kaXNhYmxlOwo+PiArCWRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV0uZW5hYmxlID0g aHN3X2RkaV9zcGxsX2VuYWJsZTsKPj4gKwlkZXZfcHJpdi0+c2hhcmVkX2RwbGxzW2ldLmdldF9o d19zdGF0ZSA9IGhzd19kZGlfc3BsbF9nZXRfaHdfc3RhdGU7Cj4+ICsKPj4gICB9Cj4+Cj4+ICAg c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBza2xfZGRpX3BsbF9uYW1lc1tdID0gewo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IGluZGV4IDNjYTM4ZmM0OTNkZS4uYjM4M2Ni ZTM5NjRjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IEBAIC00 MjEwLDYgKzQyMTAsNyBAQCBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmludGVsX2dldF9zaGFy ZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPj4gICAJc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICpwbGw7Cj4+ICAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgKnNoYXJl ZF9kcGxsOwo+PiAgIAllbnVtIGludGVsX2RwbGxfaWQgaTsKPj4gKwlpbnQgbWF4ID0gZGV2X3By aXYtPm51bV9zaGFyZWRfZHBsbDsKPj4KPj4gICAJc2hhcmVkX2RwbGwgPSBpbnRlbF9hdG9taWNf Z2V0X3NoYXJlZF9kcGxsX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOwo+Pgo+PiBAQCAt NDI0NCw5ICs0MjQ1LDExIEBAIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqaW50ZWxfZ2V0X3No YXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgIAkJV0FSTl9PTihzaGFyZWRf ZHBsbFtpXS5jcnRjX21hc2spOwo+Pgo+PiAgIAkJZ290byBmb3VuZDsKPj4gLQl9Cj4+ICsJfSBl bHNlIGlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgOSAmJiBIQVNfRERJKGRldl9wcml2 KSkKPj4gKwkJLyogRG8gbm90IGNvbnNpZGVyIFNQTEwgKi8KPj4gKwkJbWF4ID0gMjsKPj4KPj4g LQlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbDsgaSsrKSB7Cj4+ICsJ Zm9yIChpID0gMDsgaSA8IG1heDsgaSsrKSB7Cj4+ICAgCQlwbGwgPSAmZGV2X3ByaXYtPnNoYXJl ZF9kcGxsc1tpXTsKPj4KPj4gICAJCS8qIE9ubHkgd2FudCB0byBjaGVjayBlbmFibGVkIHRpbWlu Z3MgZmlyc3QgKi8KPj4gQEAgLTk3NjcsNiArOTc3MCw4IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxf Z2V0X2RkaV9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgIAljYXNl IFBPUlRfQ0xLX1NFTF9XUlBMTDI6Cj4+ICAgCQlwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwgPSBE UExMX0lEX1dSUExMMjsKPj4gICAJCWJyZWFrOwo+PiArCWNhc2UgUE9SVF9DTEtfU0VMX1NQTEw6 Cj4+ICsJCXBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCA9IERQTExfSURfU1BMTDsKPj4gICAJfQo+ PiAgIH0KPj4KPj4gQEAgLTEyMDcwLDkgKzEyMDc1LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX2R1 bXBfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ICAgCQkJICAgICAgcGlw ZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY2ZnY3IxLAo+PiAgIAkJCSAgICAgIHBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlLmNmZ2NyMik7Cj4+ICAgCX0gZWxzZSBpZiAoSEFTX0RESShkZXYpKSB7 Cj4+IC0JCURSTV9ERUJVR19LTVMoImRkaV9wbGxfc2VsOiAldTsgZHBsbF9od19zdGF0ZTogd3Jw bGw6IDB4JXhcbiIsCj4+ICsJCURSTV9ERUJVR19LTVMoImRkaV9wbGxfc2VsOiAldTsgZHBsbF9o d19zdGF0ZTogd3JwbGw6IDB4JXggc3BsbDogMHgleFxuIiwKPj4gICAJCQkgICAgICBwaXBlX2Nv bmZpZy0+ZGRpX3BsbF9zZWwsCj4+IC0JCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0 ZS53cnBsbCk7Cj4+ICsJCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS53cnBsbCwK Pj4gKwkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLnNwbGwpOwo+PiAgIAl9IGVs c2Ugewo+PiAgIAkJRFJNX0RFQlVHX0tNUygiZHBsbF9od19zdGF0ZTogZHBsbDogMHgleCwgZHBs bF9tZDogMHgleCwgIgo+PiAgIAkJCSAgICAgICJmcDA6IDB4JXgsIGZwMTogMHgleFxuIiwKPj4g QEAgLTEyNjA3LDYgKzEyNjEzLDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+PiAgIAlQSVBFX0NPTkZfQ0hFQ0tfWChkcGxsX2h3X3N0YXRlLmZw MCk7Cj4+ICAgCVBJUEVfQ09ORl9DSEVDS19YKGRwbGxfaHdfc3RhdGUuZnAxKTsKPj4gICAJUElQ RV9DT05GX0NIRUNLX1goZHBsbF9od19zdGF0ZS53cnBsbCk7Cj4+ICsJUElQRV9DT05GX0NIRUNL X1goZHBsbF9od19zdGF0ZS5zcGxsKTsKPj4gICAJUElQRV9DT05GX0NIRUNLX1goZHBsbF9od19z dGF0ZS5jdHJsMSk7Cj4+ICAgCVBJUEVfQ09ORl9DSEVDS19YKGRwbGxfaHdfc3RhdGUuY2ZnY3Ix KTsKPj4gICAJUElQRV9DT05GX0NIRUNLX1goZHBsbF9od19zdGF0ZS5jZmdjcjIpOwo+Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==