From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2] drm/i915/guc: Decouple GuC engine id from ring id Date: Mon, 25 Jan 2016 10:32:30 +0000 Message-ID: <56A5F9BE.4020607@linux.intel.com> References: <1453503988-6866-1-git-send-email-yu.dai@intel.com> <1453579094-29860-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 84B5E6E146 for ; Mon, 25 Jan 2016 02:32:53 -0800 (PST) In-Reply-To: <1453579094-29860-1-git-send-email-yu.dai@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: yu.dai@intel.com, intel-gfx@lists.freedesktop.org Cc: daniel.vetter@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIzLzAxLzE2IDE5OjU4LCB5dS5kYWlAaW50ZWwuY29tIHdyb3RlOgo+IEZyb206IEFsZXgg RGFpIDx5dS5kYWlAaW50ZWwuY29tPgo+Cj4gUHJldmlvdXNseSBHdUMgdXNlcyByaW5nIGlkIGFz IGVuZ2luZSBpZCBiZWNhdXNlIG9mIHNhbWUgZGVmaW5pdGlvbi4KPiBCdXQgdGhpcyBpcyBub3Qg dHJ1ZSBzaW5jZSB0aGlzIGNvbW1pdDoKPgo+IGNvbW1pdCBkZTFhZGQzNjA1MjJjODc2YzI1ZWYy YmJiYmFiMWM5NGJkYjUwOWFiCj4gQXV0aG9yOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgo+IERhdGU6ICAgRnJpIEphbiAxNSAxNToxMjo1MCAyMDE2ICswMDAwCj4K PiAgICAgIGRybS9pOTE1OiBEZWNvdXBsZSBleGVjYnVmIHVBUEkgZnJvbSBpbnRlcm5hbCBpbXBs ZW1lbnRhdGlvbgo+Cj4gQWRkZWQgR3VDIGVuZ2luZSBpZCBpbnRvIEd1QyBpbnRlcmZhY2UgdG8g ZGVjb3VwbGUgaXQgZnJvbSByaW5nIGlkIHVzZWQKPiBieSBkcml2ZXIuCj4KPiB2MjogS2VlcCBy aW5nIG5hbWUgcHJpbnQgb3V0IGluIGRlYnVnZnM7IHVzaW5nIGZvcl9lYWNoX3JpbmcoKSB3aGVy ZQo+ICAgICAgcG9zc2libGUgdG8ga2VlcCBkcml2ZXIgY29uc2lzdGVudC4gKENocmlzIFcuKQo+ Cj4gU2lnbmVkLW9mZi1ieTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Cj4gLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAxMiArKysrKy0tLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAzOCArKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oICAgICAgICAgICB8ICA2ICsrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfZndpZi5oICAgICAgfCAxNyArKysrKysrKystLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgNSArKysrCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAgMSArCj4gICA2IGZpbGVzIGNoYW5nZWQsIDQ1 IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPiBpbmRleCBjNWRiMjM1Li5jZWExODQ0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMjQ2Myw5ICsyNDYzLDkgQEAgc3RhdGljIHZvaWQgaTkxNV9n dWNfY2xpZW50X2luZm8oc3RydWN0IHNlcV9maWxlICptLAo+Cj4gICAJZm9yX2VhY2hfcmluZyhy aW5nLCBkZXZfcHJpdiwgaSkgewo+ICAgCQlzZXFfcHJpbnRmKG0sICJcdFN1Ym1pc3Npb25zOiAl bGx1ICVzXG4iLAo+IC0JCQkJY2xpZW50LT5zdWJtaXNzaW9uc1tpXSwKPiArCQkJCWNsaWVudC0+ c3VibWlzc2lvbnNbcmluZy0+Z3VjX2lkXSwKPiAgIAkJCQlyaW5nLT5uYW1lKTsKPiAtCQl0b3Qg Kz0gY2xpZW50LT5zdWJtaXNzaW9uc1tpXTsKPiArCQl0b3QgKz0gY2xpZW50LT5zdWJtaXNzaW9u c1tyaW5nLT5ndWNfaWRdOwo+ICAgCX0KPiAgIAlzZXFfcHJpbnRmKG0sICJcdFRvdGFsOiAlbGx1 XG4iLCB0b3QpOwo+ICAgfQo+IEBAIC0yNTAyLDEwICsyNTAyLDEwIEBAIHN0YXRpYyBpbnQgaTkx NV9ndWNfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4KPiAgIAlzZXFfcHJp bnRmKG0sICJcbkd1QyBzdWJtaXNzaW9uczpcbiIpOwo+ICAgCWZvcl9lYWNoX3JpbmcocmluZywg ZGV2X3ByaXYsIGkpIHsKPiAtCQlzZXFfcHJpbnRmKG0sICJcdCUtMjRzOiAlMTBsbHUsIGxhc3Qg c2Vxbm8gMHglMDh4ICU5ZFxuIiwKPiAtCQkJcmluZy0+bmFtZSwgZ3VjLnN1Ym1pc3Npb25zW2ld LAo+IC0JCQlndWMubGFzdF9zZXFub1tpXSwgZ3VjLmxhc3Rfc2Vxbm9baV0pOwo+IC0JCXRvdGFs ICs9IGd1Yy5zdWJtaXNzaW9uc1tpXTsKPiArCQlzZXFfcHJpbnRmKG0sICJcdCUtMjRzOiAlMTBs bHUsIGxhc3Qgc2Vxbm8gMHglMDh4XG4iLAo+ICsJCQlyaW5nLT5uYW1lLCBndWMuc3VibWlzc2lv bnNbcmluZy0+Z3VjX2lkXSwKPiArCQkJZ3VjLmxhc3Rfc2Vxbm9bcmluZy0+Z3VjX2lkXSk7Cj4g KwkJdG90YWwgKz0gZ3VjLnN1Ym1pc3Npb25zW3JpbmctPmd1Y19pZF07Cj4gICAJfQo+ICAgCXNl cV9wcmludGYobSwgIlx0JXM6ICVsbHVcbiIsICJUb3RhbCIsIHRvdGFsKTsKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBpbmRleCA1MWFlNWMxLi5iNGRh MjBmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Np b24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ IEBAIC0zNzYsNiArMzc2LDggQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfcHJvY19kZXNjKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywKPiAgIHN0YXRpYyB2b2lkIGd1Y19pbml0X2N0eF9kZXNjKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywKPiAgIAkJCSAgICAgIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNs aWVudCkKPiAgIHsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190 b19pOTE1KGd1Yyk7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+ICAgCXN0cnVj dCBpbnRlbF9jb250ZXh0ICpjdHggPSBjbGllbnQtPm93bmVyOwo+ICAgCXN0cnVjdCBndWNfY29u dGV4dF9kZXNjIGRlc2M7Cj4gICAJc3RydWN0IHNnX3RhYmxlICpzZzsKPiBAQCAtMzg4LDEwICsz OTAsOCBAQCBzdGF0aWMgdm9pZCBndWNfaW5pdF9jdHhfZGVzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMsCj4gICAJZGVzYy5wcmlvcml0eSA9IGNsaWVudC0+cHJpb3JpdHk7Cj4gICAJZGVzYy5kYl9p ZCA9IGNsaWVudC0+ZG9vcmJlbGxfaWQ7Cj4KPiAtCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9S SU5HUzsgaSsrKSB7Cj4gLQkJc3RydWN0IGd1Y19leGVjbGlzdF9jb250ZXh0ICpscmMgPSAmZGVz Yy5scmNbaV07Cj4gLQkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVu Z2luZVtpXS5yaW5nYnVmOwo+IC0JCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7Cj4gKwlm b3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKSB7Cj4gKwkJc3RydWN0IGd1Y19leGVjbGlz dF9jb250ZXh0ICpscmMgPSAmZGVzYy5scmNbcmluZy0+Z3VjX2lkXTsKPiAgIAkJc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAgIAkJdWludDY0X3QgY3R4X2Rlc2M7Cj4KPiBAQCAt NDA2LDcgKzQwNiw2IEBAIHN0YXRpYyB2b2lkIGd1Y19pbml0X2N0eF9kZXNjKHN0cnVjdCBpbnRl bF9ndWMgKmd1YywKPiAgIAkJaWYgKCFvYmopCj4gICAJCQlicmVhazsJLyogWFhYOiBjb250aW51 ZT8gKi8KPgo+IC0JCXJpbmcgPSByaW5nYnVmLT5yaW5nOwo+ICAgCQljdHhfZGVzYyA9IGludGVs X2xyX2NvbnRleHRfZGVzY3JpcHRvcihjdHgsIHJpbmcpOwo+ICAgCQlscmMtPmNvbnRleHRfZGVz YyA9ICh1MzIpY3R4X2Rlc2M7Cj4KPiBAQCAtNDE0LDE2ICs0MTMsMTYgQEAgc3RhdGljIHZvaWQg Z3VjX2luaXRfY3R4X2Rlc2Moc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+ICAgCQlscmMtPnJpbmdf bGNyYSA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmopICsKPiAgIAkJCQlMUkNfU1RBVEVf UE4gKiBQQUdFX1NJWkU7Cj4gICAJCWxyYy0+Y29udGV4dF9pZCA9IChjbGllbnQtPmN0eF9pbmRl eCA8PCBHVUNfRUxDX0NUWElEX09GRlNFVCkgfAo+IC0JCQkJKHJpbmctPmlkIDw8IEdVQ19FTENf RU5HSU5FX09GRlNFVCk7Cj4gKwkJCQkocmluZy0+Z3VjX2lkIDw8IEdVQ19FTENfRU5HSU5FX09G RlNFVCk7Cj4KPiAtCQlvYmogPSByaW5nYnVmLT5vYmo7Cj4gKwkJb2JqID0gY3R4LT5lbmdpbmVb aV0ucmluZ2J1Zi0+b2JqOwo+Cj4gICAJCWxyYy0+cmluZ19iZWdpbiA9IGk5MTVfZ2VtX29ial9n Z3R0X29mZnNldChvYmopOwo+ICAgCQlscmMtPnJpbmdfZW5kID0gbHJjLT5yaW5nX2JlZ2luICsg b2JqLT5iYXNlLnNpemUgLSAxOwo+ICAgCQlscmMtPnJpbmdfbmV4dF9mcmVlX2xvY2F0aW9uID0g bHJjLT5yaW5nX2JlZ2luOwo+ICAgCQlscmMtPnJpbmdfY3VycmVudF90YWlsX3BvaW50ZXJfdmFs dWUgPSAwOwo+Cj4gLQkJZGVzYy5lbmdpbmVzX3VzZWQgfD0gKDEgPDwgcmluZy0+aWQpOwo+ICsJ CWRlc2MuZW5naW5lc191c2VkIHw9ICgxIDw8IHJpbmctPmd1Y19pZCk7Cj4gICAJfQo+Cj4gICAJ V0FSTl9PTihkZXNjLmVuZ2luZXNfdXNlZCA9PSAwKTsKPiBAQCAtNTEwLDcgKzUwOSw2IEBAIGlu dCBpOTE1X2d1Y193cV9jaGVja19zcGFjZShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKPiAg IHN0YXRpYyBpbnQgZ3VjX2FkZF93b3JrcXVldWVfaXRlbShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50 ICpnYywKPiAgIAkJCQkgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4gICB7Cj4g LQllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZCA9IHJxLT5yaW5nLT5pZDsKPiAgIAlzdHJ1Y3Qg Z3VjX3dxX2l0ZW0gKndxaTsKPiAgIAl2b2lkICpiYXNlOwo+ICAgCXUzMiB0YWlsLCB3cV9sZW4s IHdxX29mZiwgc3BhY2U7Cj4gQEAgLTU0NCw3ICs1NDIsNyBAQCBzdGF0aWMgaW50IGd1Y19hZGRf d29ya3F1ZXVlX2l0ZW0oc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsCj4gICAJd3FfbGVuID0g c2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSkgLyBzaXplb2YodTMyKSAtIDE7Cj4gICAJd3FpLT5o ZWFkZXIgPSBXUV9UWVBFX0lOT1JERVIgfAo+ICAgCQkJKHdxX2xlbiA8PCBXUV9MRU5fU0hJRlQp IHwKPiAtCQkJKHJpbmdfaWQgPDwgV1FfVEFSR0VUX1NISUZUKSB8Cj4gKwkJCShycS0+cmluZy0+ Z3VjX2lkIDw8IFdRX1RBUkdFVF9TSElGVCkgfAo+ICAgCQkJV1FfTk9fV0NGTFVTSF9XQUlUOwo+ Cj4gICAJLyogVGhlIEd1QyB3YW50cyBvbmx5IHRoZSBsb3ctb3JkZXIgd29yZCBvZiB0aGUgY29u dGV4dCBkZXNjcmlwdG9yICovCj4gQEAgLTU5NCw3ICs1OTIsNyBAQCBpbnQgaTkxNV9ndWNfc3Vi bWl0KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKPiAgIAkJICAgIHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4gICB7Cj4gICAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0g Y2xpZW50LT5ndWM7Cj4gLQllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZCA9IHJxLT5yaW5nLT5p ZDsKPiArCXVuc2lnbmVkIGludCBlbmdpbmVfaWQgPSBycS0+cmluZy0+Z3VjX2lkOwo+ICAgCWlu dCBxX3JldCwgYl9yZXQ7Cj4KPiAgIAkvKiBOZWVkIHRoaXMgYmVjYXVzZSBvZiB0aGUgZGVmZXJy ZWQgcGluIGN0eCBhbmQgcmluZyAqLwo+IEBAIC02MDUsNyArNjAzLDcgQEAgaW50IGk5MTVfZ3Vj X3N1Ym1pdChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCj4gICAJaWYgKHFfcmV0ID09 IDApCj4gICAJCWJfcmV0ID0gZ3VjX3JpbmdfZG9vcmJlbGwoY2xpZW50KTsKPgo+IC0JY2xpZW50 LT5zdWJtaXNzaW9uc1tyaW5nX2lkXSArPSAxOwo+ICsJY2xpZW50LT5zdWJtaXNzaW9uc1tlbmdp bmVfaWRdICs9IDE7Cj4gICAJaWYgKHFfcmV0KSB7Cj4gICAJCWNsaWVudC0+cV9mYWlsICs9IDE7 Cj4gICAJCWNsaWVudC0+cmV0Y29kZSA9IHFfcmV0Owo+IEBAIC02MTUsOCArNjEzLDggQEAgaW50 IGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCj4gICAJfSBl bHNlIHsKPiAgIAkJY2xpZW50LT5yZXRjb2RlID0gMDsKPiAgIAl9Cj4gLQlndWMtPnN1Ym1pc3Np b25zW3JpbmdfaWRdICs9IDE7Cj4gLQlndWMtPmxhc3Rfc2Vxbm9bcmluZ19pZF0gPSBycS0+c2Vx bm87Cj4gKwlndWMtPnN1Ym1pc3Npb25zW2VuZ2luZV9pZF0gKz0gMTsKPiArCWd1Yy0+bGFzdF9z ZXFub1tlbmdpbmVfaWRdID0gcnEtPnNlcW5vOwo+Cj4gICAJcmV0dXJuIHFfcmV0Owo+ICAgfQo+ IEBAIC04NDgsNyArODQ2LDcgQEAgc3RhdGljIHZvaWQgaW5pdF9ndWNfcG9saWNpZXMoc3RydWN0 IGd1Y19wb2xpY2llcyAqcG9saWNpZXMpCj4gICAJcG9saWNpZXMtPm1heF9udW1fd29ya19pdGVt cyA9IFBPTElDWV9NQVhfTlVNX1dJOwo+Cj4gICAJZm9yIChwID0gMDsgcCA8IEdVQ19DVFhfUFJJ T1JJVFlfTlVNOyBwKyspIHsKPiAtCQlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkr Kykgewo+ICsJCWZvciAoaSA9IEdVQ19SRU5ERVJfRU5HSU5FOyBpIDwgR1VDX01BWF9FTkdJTkVT X05VTTsgaSsrKSB7Cj4gICAJCQlwb2xpY3kgPSAmcG9saWNpZXMtPnBvbGljeVtwXVtpXTsKPgo+ ICAgCQkJcG9saWN5LT5leGVjdXRpb25fcXVhbnR1bSA9IDEwMDAwMDA7Cj4gQEAgLTkwMCw3ICs4 OTgsNyBAQCBzdGF0aWMgdm9pZCBndWNfY3JlYXRlX2FkcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp Cj4gICAJYWRzLT5nb2xkZW5fY29udGV4dF9scmNhID0gcmluZy0+c3RhdHVzX3BhZ2UuZ2Z4X2Fk ZHI7Cj4KPiAgIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKQo+IC0JCWFkcy0+ZW5n X3N0YXRlX3NpemVbaV0gPSBpbnRlbF9scl9jb250ZXh0X3NpemUocmluZyk7Cj4gKwkJYWRzLT5l bmdfc3RhdGVfc2l6ZVtyaW5nLT5ndWNfaWRdID0gaW50ZWxfbHJfY29udGV4dF9zaXplKHJpbmcp Owo+Cj4gICAJLyogR3VDIHNjaGVkdWxpbmcgcG9saWNpZXMgKi8KPiAgIAlwb2xpY2llcyA9ICh2 b2lkICopYWRzICsgc2l6ZW9mKHN0cnVjdCBndWNfYWRzKTsKPiBAQCAtOTEyLDEyICs5MTAsMTIg QEAgc3RhdGljIHZvaWQgZ3VjX2NyZWF0ZV9hZHMoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAg CS8qIE1NSU8gcmVnIHN0YXRlICovCj4gICAJcmVnX3N0YXRlID0gKHZvaWQgKilwb2xpY2llcyAr IHNpemVvZihzdHJ1Y3QgZ3VjX3BvbGljaWVzKTsKPgo+IC0JZm9yIChpID0gMDsgaSA8IEk5MTVf TlVNX1JJTkdTOyBpKyspIHsKPiAtCQlyZWdfc3RhdGUtPm1taW9fd2hpdGVfbGlzdFtpXS5tbWlv X3N0YXJ0ID0KPiAtCQkJZGV2X3ByaXYtPnJpbmdbaV0ubW1pb19iYXNlICsgR1VDX01NSU9fV0hJ VEVfTElTVF9TVEFSVDsKPiArCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKPiAr CQlyZWdfc3RhdGUtPm1taW9fd2hpdGVfbGlzdFtyaW5nLT5ndWNfaWRdLm1taW9fc3RhcnQgPQo+ ICsJCQlyaW5nLT5tbWlvX2Jhc2UgKyBHVUNfTU1JT19XSElURV9MSVNUX1NUQVJUOwo+Cj4gICAJ CS8qIE5vdGhpbmcgdG8gYmUgc2F2ZWQgb3IgcmVzdG9yZWQgZm9yIG5vdy4gKi8KPiAtCQlyZWdf c3RhdGUtPm1taW9fd2hpdGVfbGlzdFtpXS5jb3VudCA9IDA7Cj4gKwkJcmVnX3N0YXRlLT5tbWlv X3doaXRlX2xpc3RbcmluZy0+Z3VjX2lkXS5jb3VudCA9IDA7Cj4gICAJfQo+Cj4gICAJYWRzLT5y ZWdfc3RhdGVfYWRkciA9IGFkcy0+c2NoZWR1bGVyX3BvbGljaWVzICsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaAo+IGluZGV4IDA0NWIxNDkuLjczMDAyZTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaAo+IEBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgewo+ ICAgCXVpbnQzMl90IHdxX2hlYWQ7Cj4KPiAgIAkvKiBHdUMgc3VibWlzc2lvbiBzdGF0aXN0aWNz ICYgc3RhdHVzICovCj4gLQl1aW50NjRfdCBzdWJtaXNzaW9uc1tJOTE1X05VTV9SSU5HU107Cj4g Kwl1aW50NjRfdCBzdWJtaXNzaW9uc1tHVUNfTUFYX0VOR0lORVNfTlVNXTsKPiAgIAl1aW50MzJf dCBxX2ZhaWw7Cj4gICAJdWludDMyX3QgYl9mYWlsOwo+ICAgCWludCByZXRjb2RlOwo+IEBAIC0x MDYsOCArMTA2LDggQEAgc3RydWN0IGludGVsX2d1YyB7Cj4gICAJdWludDMyX3QgYWN0aW9uX2Zh aWw7CQkvKiBUb3RhbCBudW1iZXIgb2YgZmFpbHVyZXMJKi8KPiAgIAlpbnQzMl90IGFjdGlvbl9l cnI7CQkvKiBMYXN0IGVycm9yIGNvZGUJCSovCj4KPiAtCXVpbnQ2NF90IHN1Ym1pc3Npb25zW0k5 MTVfTlVNX1JJTkdTXTsKPiAtCXVpbnQzMl90IGxhc3Rfc2Vxbm9bSTkxNV9OVU1fUklOR1NdOwo+ ICsJdWludDY0X3Qgc3VibWlzc2lvbnNbR1VDX01BWF9FTkdJTkVTX05VTV07Cj4gKwl1aW50MzJf dCBsYXN0X3NlcW5vW0dVQ19NQVhfRU5HSU5FU19OVU1dOwo+ICAgfTsKPgo+ICAgLyogaW50ZWxf Z3VjX2xvYWRlci5jICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19md2lmLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndpZi5oCj4gaW5k ZXggMTg1NmE0Ny4uMmRlNTdmZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWNfZndpZi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3 aWYuaAo+IEBAIC00NCw2ICs0NCwxMyBAQAo+ICAgI2RlZmluZSBHVUNfTUFYX0dQVV9DT05URVhU UwkJMTAyNAo+ICAgI2RlZmluZQlHVUNfSU5WQUxJRF9DVFhfSUQJCUdVQ19NQVhfR1BVX0NPTlRF WFRTCj4KPiArI2RlZmluZSBHVUNfUkVOREVSX0VOR0lORQkJMAo+ICsjZGVmaW5lIEdVQ19WSURF T19FTkdJTkUJCTEKPiArI2RlZmluZSBHVUNfQkxJVFRFUl9FTkdJTkUJCTIKPiArI2RlZmluZSBH VUNfVklERU9FTkhBTkNFX0VOR0lORQkJMwo+ICsjZGVmaW5lIEdVQ19WSURFT19FTkdJTkUyCQk0 Cj4gKyNkZWZpbmUgR1VDX01BWF9FTkdJTkVTX05VTQkJKEdVQ19WSURFT19FTkdJTkUyICsgMSkK PiArCj4gICAvKiBXb3JrIHF1ZXVlIGl0ZW0gaGVhZGVyIGRlZmluaXRpb25zICovCj4gICAjZGVm aW5lIFdRX1NUQVRVU19BQ1RJVkUJCTEKPiAgICNkZWZpbmUgV1FfU1RBVFVTX1NVU1BFTkRFRAkJ Mgo+IEBAIC0yODUsNyArMjkyLDcgQEAgc3RydWN0IGd1Y19jb250ZXh0X2Rlc2Mgewo+ICAgCXU2 NCBkYl90cmlnZ2VyX3BoeTsKPiAgIAl1MTYgZGJfaWQ7Cj4KPiAtCXN0cnVjdCBndWNfZXhlY2xp c3RfY29udGV4dCBscmNbSTkxNV9OVU1fUklOR1NdOwo+ICsJc3RydWN0IGd1Y19leGVjbGlzdF9j b250ZXh0IGxyY1tHVUNfTUFYX0VOR0lORVNfTlVNXTsKPgo+ICAgCXU4IGF0dHJpYnV0ZTsKPgo+ IEBAIC0zNDQsNyArMzUxLDcgQEAgc3RydWN0IGd1Y19wb2xpY3kgewo+ICAgfSBfX3BhY2tlZDsK Pgo+ICAgc3RydWN0IGd1Y19wb2xpY2llcyB7Cj4gLQlzdHJ1Y3QgZ3VjX3BvbGljeSBwb2xpY3lb R1VDX0NUWF9QUklPUklUWV9OVU1dW0k5MTVfTlVNX1JJTkdTXTsKPiArCXN0cnVjdCBndWNfcG9s aWN5IHBvbGljeVtHVUNfQ1RYX1BSSU9SSVRZX05VTV1bR1VDX01BWF9FTkdJTkVTX05VTV07Cj4K PiAgIAkvKiBJbiBtaWNybyBzZWNvbmRzLiBIb3cgbXVjaCB0aW1lIHRvIGFsbG93IGJlZm9yZSBE UEMgcHJvY2Vzc2luZyBpcwo+ICAgCSAqIGNhbGxlZCBiYWNrIHZpYSBpbnRlcnJ1cHQgKHRvIHBy ZXZlbnQgRFBDIHF1ZXVlIGRyYWluIHN0YXJ2aW5nKS4KPiBAQCAtMzg4LDE0ICszOTUsMTQgQEAg c3RydWN0IGd1Y19tbWlvX3JlZ3NldCB7Cj4KPiAgIHN0cnVjdCBndWNfbW1pb19yZWdfc3RhdGUg ewo+ICAgCXN0cnVjdCBndWNfbW1pb19yZWdzZXQgZ2xvYmFsX3JlZzsKPiAtCXN0cnVjdCBndWNf bW1pb19yZWdzZXQgZW5naW5lX3JlZ1tJOTE1X05VTV9SSU5HU107Cj4gKwlzdHJ1Y3QgZ3VjX21t aW9fcmVnc2V0IGVuZ2luZV9yZWdbR1VDX01BWF9FTkdJTkVTX05VTV07Cj4KPiAgIAkvKiBNTUlP IHJlZ2lzdGVycyB0aGF0IGFyZSBzZXQgYXMgbm9uIHByaXZpbGVnZWQgKi8KPiAgIAlzdHJ1Y3Qg X19wYWNrZWQgewo+ICAgCQl1MzIgbW1pb19zdGFydDsKPiAgIAkJdTMyIG9mZnNldHNbR1VDX01N SU9fV0hJVEVfTElTVF9NQVhdOwo+ICAgCQl1MzIgY291bnQ7Cj4gLQl9IG1taW9fd2hpdGVfbGlz dFtJOTE1X05VTV9SSU5HU107Cj4gKwl9IG1taW9fd2hpdGVfbGlzdFtHVUNfTUFYX0VOR0lORVNf TlVNXTsKPiAgIH0gX19wYWNrZWQ7Cj4KPiAgIC8qIEd1QyBBZGRpdGlvbmFsIERhdGEgU3RydWN0 ICovCj4gQEAgLTQwNiw3ICs0MTMsNyBAQCBzdHJ1Y3QgZ3VjX2FkcyB7Cj4gICAJdTMyIGdvbGRl bl9jb250ZXh0X2xyY2E7Cj4gICAJdTMyIHNjaGVkdWxlcl9wb2xpY2llczsKPiAgIAl1MzIgcmVz ZXJ2ZWQwWzNdOwo+IC0JdTMyIGVuZ19zdGF0ZV9zaXplW0k5MTVfTlVNX1JJTkdTXTsKPiArCXUz MiBlbmdfc3RhdGVfc2l6ZVtHVUNfTUFYX0VOR0lORVNfTlVNXTsKPiAgIAl1MzIgcmVzZXJ2ZWQy WzRdOwo+ICAgfSBfX3BhY2tlZDsKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXgg NzNkNDM0Ny4uZWZiOTFhZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTIw ODYsNiArMjA4Niw3IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gICAJcmluZy0+bmFtZSA9ICJyZW5kZXIgcmluZyI7Cj4gICAJ cmluZy0+aWQgPSBSQ1M7Cj4gICAJcmluZy0+ZXhlY19pZCA9IEk5MTVfRVhFQ19SRU5ERVI7Cj4g KwlyaW5nLT5ndWNfaWQgPSBHVUNfUkVOREVSX0VOR0lORTsKPiAgIAlyaW5nLT5tbWlvX2Jhc2Ug PSBSRU5ERVJfUklOR19CQVNFOwo+Cj4gICAJbG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhyaW5n LCBHRU44X1JDU19JUlFfU0hJRlQpOwo+IEBAIC0yMTM3LDYgKzIxMzgsNyBAQCBzdGF0aWMgaW50 IGxvZ2ljYWxfYnNkX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCXJpbmct Pm5hbWUgPSAiYnNkIHJpbmciOwo+ICAgCXJpbmctPmlkID0gVkNTOwo+ICAgCXJpbmctPmV4ZWNf aWQgPSBJOTE1X0VYRUNfQlNEOwo+ICsJcmluZy0+Z3VjX2lkID0gR1VDX1ZJREVPX0VOR0lORTsK PiAgIAlyaW5nLT5tbWlvX2Jhc2UgPSBHRU42X0JTRF9SSU5HX0JBU0U7Cj4KPiAgIAlsb2dpY2Fs X3JpbmdfZGVmYXVsdF9pcnFzKHJpbmcsIEdFTjhfVkNTMV9JUlFfU0hJRlQpOwo+IEBAIC0yMTUz LDYgKzIxNTUsNyBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfYnNkMl9yaW5nX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKPiAgIAlyaW5nLT5uYW1lID0gImJzZDIgcmluZyI7Cj4gICAJcmluZy0+ aWQgPSBWQ1MyOwo+ICAgCXJpbmctPmV4ZWNfaWQgPSBJOTE1X0VYRUNfQlNEOwo+ICsJcmluZy0+ Z3VjX2lkID0gR1VDX1ZJREVPX0VOR0lORTI7Cj4gICAJcmluZy0+bW1pb19iYXNlID0gR0VOOF9C U0QyX1JJTkdfQkFTRTsKPgo+ICAgCWxvZ2ljYWxfcmluZ19kZWZhdWx0X2lycXMocmluZywgR0VO OF9WQ1MyX0lSUV9TSElGVCk7Cj4gQEAgLTIxNjksNiArMjE3Miw3IEBAIHN0YXRpYyBpbnQgbG9n aWNhbF9ibHRfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJcmluZy0+bmFt ZSA9ICJibGl0dGVyIHJpbmciOwo+ICAgCXJpbmctPmlkID0gQkNTOwo+ICAgCXJpbmctPmV4ZWNf aWQgPSBJOTE1X0VYRUNfQkxUOwo+ICsJcmluZy0+Z3VjX2lkID0gR1VDX0JMSVRURVJfRU5HSU5F Owo+ICAgCXJpbmctPm1taW9fYmFzZSA9IEJMVF9SSU5HX0JBU0U7Cj4KPiAgIAlsb2dpY2FsX3Jp bmdfZGVmYXVsdF9pcnFzKHJpbmcsIEdFTjhfQkNTX0lSUV9TSElGVCk7Cj4gQEAgLTIxODUsNiAr MjE4OSw3IEBAIHN0YXRpYyBpbnQgbG9naWNhbF92ZWJveF9yaW5nX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgIAlyaW5nLT5uYW1lID0gInZpZGVvIGVuaGFuY2VtZW50IHJpbmciOwo+ ICAgCXJpbmctPmlkID0gVkVDUzsKPiAgIAlyaW5nLT5leGVjX2lkID0gSTkxNV9FWEVDX1ZFQk9Y Owo+ICsJcmluZy0+Z3VjX2lkID0gR1VDX1ZJREVPRU5IQU5DRV9FTkdJTkU7Cj4gICAJcmluZy0+ bW1pb19iYXNlID0gVkVCT1hfUklOR19CQVNFOwo+Cj4gICAJbG9naWNhbF9yaW5nX2RlZmF1bHRf aXJxcyhyaW5nLCBHRU44X1ZFQ1NfSVJRX1NISUZUKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggYjEyZjJhYS4uNTY2YjBhZSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBAQCAtMTU4LDYgKzE1OCw3IEBAIHN0cnVj dCAgaW50ZWxfZW5naW5lX2NzIHsKPiAgICNkZWZpbmUgSTkxNV9OVU1fUklOR1MgNQo+ICAgI2Rl ZmluZSBfVkNTKG4pIChWQ1MgKyAobikpCj4gICAJdW5zaWduZWQgaW50IGV4ZWNfaWQ7Cj4gKwl1 bnNpZ25lZCBpbnQgZ3VjX2lkOwo+ICAgCXUzMgkJbW1pb19iYXNlOwo+ICAgCXN0cnVjdAkJZHJt X2RldmljZSAqZGV2Owo+ICAgCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpidWZmZXI7Cj4KCkxv b2tzIE9LIHRvIG1lLCB3aXRoIGEgY2F2ZWF0IHRoYXQgSSBkb24ndCBrbm93IG11Y2ggYWJvdXQg R3VDLiBCdXQgCm9idmlvdXNseSBpcyBuZWVkZWQgdG8gZml4IHRoZSBmYWxsb3V0IGZyb20gbXkg ZGVjb3VwbGluZy4gQW5kIGl0IHNvdW5kcyAKZ29vZCB0byBleHBsaWNpdGx5IGRvY3VtZW50IHRo aXMgR3VDIGRlcGVuZGVuY3kgc286CgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK