From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH v2 7/8] drm/radeon: export reservation_object from dmabuf to ttm Date: Thu, 18 Sep 2014 15:13:23 +0200 Message-ID: <541ADA73.9080808@vodafone.de> References: <1410957305-10190-1-git-send-email-maarten.lankhorst@canonical.com> <1410957305-10190-8-git-send-email-maarten.lankhorst@canonical.com> <541ACC0C.5090501@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 99F5F6E254 for ; Thu, 18 Sep 2014 06:13:43 -0700 (PDT) In-Reply-To: <541ACC0C.5090501@canonical.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maarten Lankhorst , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org QW0gMTguMDkuMjAxNCB1bSAxNDoxMSBzY2hyaWViIE1hYXJ0ZW4gTGFua2hvcnN0Ogo+IGRybS9y YWRlb246IGV4cG9ydCByZXNlcnZhdGlvbl9vYmplY3QgZnJvbSBkbWFidWYgdG8gdHRtCj4KPiBB ZGRzIGFuIGV4dHJhIGFyZ3VtZW50IHRvIHJhZGVvbl9ib19jcmVhdGUsIHdoaWNoIGlzIG9ubHkg dXNlZCBpbiByYWRlb25fcHJpbWUuYy4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hv cnN0IDxtYWFydGVuLmxhbmtob3JzdEBjYW5vbmljYWwuY29tPgoKUmV2aWV3ZWQtYnk6IENocmlz dGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KCj4gLS0tCj4gdjI6Cj4gcm9i aiAtPiByZXN2Cj4gZml4IHR5cG8gaW4gY29tbWl0IGRlc2NyaXB0aW9uCj4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v Y2lrLmMKPiBpbmRleCAxNDQwYjZlOTI4MWUuLjFmODQ4NDI4NGI0NyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9jaWsuYwo+IEBAIC00NjkwLDcgKzQ2OTAsNyBAQCBzdGF0aWMgaW50IGNpa19tZWNfaW5pdChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRl diwKPiAgIAkJCQkgICAgIHJkZXYtPm1lYy5udW1fbWVjICpyZGV2LT5tZWMubnVtX3BpcGUgKiBN RUNfSFBEX1NJWkUgKiAyLAo+ICAgCQkJCSAgICAgUEFHRV9TSVpFLCB0cnVlLAo+IC0JCQkJICAg ICBSQURFT05fR0VNX0RPTUFJTl9HVFQsIDAsIE5VTEwsCj4gKwkJCQkgICAgIFJBREVPTl9HRU1f RE9NQUlOX0dUVCwgMCwgTlVMTCwgTlVMTCwKPiAgIAkJCQkgICAgICZyZGV2LT5tZWMuaHBkX2Vv cF9vYmopOwo+ICAgCQlpZiAocikgewo+ICAgCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBj cmVhdGUgSERQIEVPUCBibyBmYWlsZWRcbiIsIHIpOwo+IEBAIC00ODYxLDcgKzQ4NjEsNyBAQCBz dGF0aWMgaW50IGNpa19jcF9jb21wdXRlX3Jlc3VtZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl dikKPiAgIAkJCQkJICAgICBzaXplb2Yoc3RydWN0IGJvbmFpcmVfbXFkKSwKPiAgIAkJCQkJICAg ICBQQUdFX1NJWkUsIHRydWUsCj4gICAJCQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fR1RULCAw LCBOVUxMLAo+IC0JCQkJCSAgICAgJnJkZXYtPnJpbmdbaWR4XS5tcWRfb2JqKTsKPiArCQkJCQkg ICAgIE5VTEwsICZyZGV2LT5yaW5nW2lkeF0ubXFkX29iaik7Cj4gICAJCQlpZiAocikgewo+ICAg CQkJCWRldl93YXJuKHJkZXYtPmRldiwgIiglZCkgY3JlYXRlIE1RRCBibyBmYWlsZWRcbiIsIHIp Owo+ICAgCQkJCXJldHVybiByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L2V2ZXJncmVlbi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwo+IGluZGV4 IGRiY2E2MGM3ZDA5Ny4uYzZjY2VmNmMzNTk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZXZlcmdyZWVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJn cmVlbi5jCj4gQEAgLTQwMjMsNyArNDAyMyw3IEBAIGludCBzdW1vX3JsY19pbml0KHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2KQo+ICAgCQlpZiAocmRldi0+cmxjLnNhdmVfcmVzdG9yZV9vYmog PT0gTlVMTCkgewo+ICAgCQkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgZHdzICogNCwgUEFH RV9TSVpFLCB0cnVlLAo+ICAgCQkJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsIE5V TEwsCj4gLQkJCQkJICAgICAmcmRldi0+cmxjLnNhdmVfcmVzdG9yZV9vYmopOwo+ICsJCQkJCSAg ICAgTlVMTCwgJnJkZXYtPnJsYy5zYXZlX3Jlc3RvcmVfb2JqKTsKPiAgIAkJCWlmIChyKSB7Cj4g ICAJCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUgUkxDIHNyIGJvIGZhaWxlZFxu Iiwgcik7Cj4gICAJCQkJcmV0dXJuIHI7Cj4gQEAgLTQxMDIsNyArNDEwMiw3IEBAIGludCBzdW1v X3JsY19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAgCQlpZiAocmRldi0+cmxj LmNsZWFyX3N0YXRlX29iaiA9PSBOVUxMKSB7Cj4gICAJCQlyID0gcmFkZW9uX2JvX2NyZWF0ZShy ZGV2LCBkd3MgKiA0LCBQQUdFX1NJWkUsIHRydWUsCj4gICAJCQkJCSAgICAgUkFERU9OX0dFTV9E T01BSU5fVlJBTSwgMCwgTlVMTCwKPiAtCQkJCQkgICAgICZyZGV2LT5ybGMuY2xlYXJfc3RhdGVf b2JqKTsKPiArCQkJCQkgICAgIE5VTEwsICZyZGV2LT5ybGMuY2xlYXJfc3RhdGVfb2JqKTsKPiAg IAkJCWlmIChyKSB7Cj4gICAJCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBjcmVhdGUgUkxD IGMgYm8gZmFpbGVkXG4iLCByKTsKPiAgIAkJCQlzdW1vX3JsY19maW5pKHJkZXYpOwo+IEBAIC00 MTc5LDcgKzQxNzksNyBAQCBpbnQgc3Vtb19ybGNfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldikKPiAgIAkJCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIHJkZXYtPnJsYy5jcF90YWJs ZV9zaXplLAo+ICAgCQkJCQkgICAgIFBBR0VfU0laRSwgdHJ1ZSwKPiAgIAkJCQkJICAgICBSQURF T05fR0VNX0RPTUFJTl9WUkFNLCAwLCBOVUxMLAo+IC0JCQkJCSAgICAgJnJkZXYtPnJsYy5jcF90 YWJsZV9vYmopOwo+ICsJCQkJCSAgICAgTlVMTCwgJnJkZXYtPnJsYy5jcF90YWJsZV9vYmopOwo+ ICAgCQkJaWYgKHIpIHsKPiAgIAkJCQlkZXZfd2FybihyZGV2LT5kZXYsICIoJWQpIGNyZWF0ZSBS TEMgY3AgdGFibGUgYm8gZmFpbGVkXG4iLCByKTsKPiAgIAkJCQlzdW1vX3JsY19maW5pKHJkZXYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjYwMC5jCj4gaW5kZXggMzVjMjJlZTliYzRhLi5hODJlYWE4MWNkMDcg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYwo+IEBAIC0xNDMwLDcgKzE0MzAsNyBAQCBpbnQgcjYw MF92cmFtX3NjcmF0Y2hfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAlpZiAo cmRldi0+dnJhbV9zY3JhdGNoLnJvYmogPT0gTlVMTCkgewo+ICAgCQlyID0gcmFkZW9uX2JvX2Ny ZWF0ZShyZGV2LCBSQURFT05fR1BVX1BBR0VfU0laRSwKPiAgIAkJCQkgICAgIFBBR0VfU0laRSwg dHJ1ZSwgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwKPiAtCQkJCSAgICAgMCwgTlVMTCwgJnJkZXYt PnZyYW1fc2NyYXRjaC5yb2JqKTsKPiArCQkJCSAgICAgMCwgTlVMTCwgTlVMTCwgJnJkZXYtPnZy YW1fc2NyYXRjaC5yb2JqKTsKPiAgIAkJaWYgKHIpIHsKPiAgIAkJCXJldHVybiByOwo+ICAgCQl9 Cj4gQEAgLTMzNjgsNyArMzM2OCw3IEBAIGludCByNjAwX2loX3JpbmdfYWxsb2Moc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCj4gICAJCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIHJkZXYt PmloLnJpbmdfc2l6ZSwKPiAgIAkJCQkgICAgIFBBR0VfU0laRSwgdHJ1ZSwKPiAgIAkJCQkgICAg IFJBREVPTl9HRU1fRE9NQUlOX0dUVCwgMCwKPiAtCQkJCSAgICAgTlVMTCwgJnJkZXYtPmloLnJp bmdfb2JqKTsKPiArCQkJCSAgICAgTlVMTCwgTlVMTCwgJnJkZXYtPmloLnJpbmdfb2JqKTsKPiAg IAkJaWYgKHIpIHsKPiAgIAkJCURSTV9FUlJPUigicmFkZW9uOiBmYWlsZWQgdG8gY3JlYXRlIGlo IHJpbmcgYnVmZmVyICglZCkuXG4iLCByKTsKPiAgIAkJCXJldHVybiByOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iZW5jaG1hcmsuYyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2JlbmNobWFyay5jCj4gaW5kZXggMWU4ODU1MDYwZmM3Li45ZTdm MjNkZDE0YmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmVu Y2htYXJrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iZW5jaG1hcmsu Ywo+IEBAIC05Myw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9iZW5jaG1hcmtfbW92ZShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdW5zaWduZWQgc2l6ZSwKPiAgIAlpbnQgdGltZTsK PiAgIAo+ICAgCW4gPSBSQURFT05fQkVOQ0hNQVJLX0lURVJBVElPTlM7Cj4gLQlyID0gcmFkZW9u X2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIHNkb21haW4sIDAsIE5VTEws ICZzb2JqKTsKPiArCXIgPSByYWRlb25fYm9fY3JlYXRlKHJkZXYsIHNpemUsIFBBR0VfU0laRSwg dHJ1ZSwgc2RvbWFpbiwgMCwgTlVMTCwgTlVMTCwgJnNvYmopOwo+ICAgCWlmIChyKSB7Cj4gICAJ CWdvdG8gb3V0X2NsZWFudXA7Cj4gICAJfQo+IEBAIC0xMDUsNyArMTA1LDcgQEAgc3RhdGljIHZv aWQgcmFkZW9uX2JlbmNobWFya19tb3ZlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNp Z25lZCBzaXplLAo+ICAgCWlmIChyKSB7Cj4gICAJCWdvdG8gb3V0X2NsZWFudXA7Cj4gICAJfQo+ IC0JciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLCBkZG9t YWluLCAwLCBOVUxMLCAmZG9iaik7Cj4gKwlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXpl LCBQQUdFX1NJWkUsIHRydWUsIGRkb21haW4sIDAsIE5VTEwsIE5VTEwsICZkb2JqKTsKPiAgIAlp ZiAocikgewo+ICAgCQlnb3RvIG91dF9jbGVhbnVwOwo+ICAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kZXZpY2UuYwo+IGluZGV4IGU4NGE3NmU2NjU2YS4uNmZiYWIxNTgyMTEyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKPiBAQCAtNDMwLDcgKzQz MCw3IEBAIGludCByYWRlb25fd2JfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAg IAo+ICAgCWlmIChyZGV2LT53Yi53Yl9vYmogPT0gTlVMTCkgewo+ICAgCQlyID0gcmFkZW9uX2Jv X2NyZWF0ZShyZGV2LCBSQURFT05fR1BVX1BBR0VfU0laRSwgUEFHRV9TSVpFLCB0cnVlLAo+IC0J CQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9HVFQsIDAsIE5VTEwsCj4gKwkJCQkgICAgIFJBREVP Tl9HRU1fRE9NQUlOX0dUVCwgMCwgTlVMTCwgTlVMTCwKPiAgIAkJCQkgICAgICZyZGV2LT53Yi53 Yl9vYmopOwo+ICAgCQlpZiAocikgewo+ICAgCQkJZGV2X3dhcm4ocmRldi0+ZGV2LCAiKCVkKSBj cmVhdGUgV0IgYm8gZmFpbGVkXG4iLCByKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZ2FydC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2Fy dC5jCj4gaW5kZXggYTA1M2EwNzc5YWFjLi44NDE0NmQ1OTAxYWEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZ2FydC5jCj4gQEAgLTEyOCw3ICsxMjgsNyBAQCBpbnQgcmFkZW9uX2dh cnRfdGFibGVfdnJhbV9hbGxvYyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAlpZiAo cmRldi0+Z2FydC5yb2JqID09IE5VTEwpIHsKPiAgIAkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRl diwgcmRldi0+Z2FydC50YWJsZV9zaXplLAo+ICAgCQkJCSAgICAgUEFHRV9TSVpFLCB0cnVlLCBS QURFT05fR0VNX0RPTUFJTl9WUkFNLAo+IC0JCQkJICAgICAwLCBOVUxMLCAmcmRldi0+Z2FydC5y b2JqKTsKPiArCQkJCSAgICAgMCwgTlVMTCwgTlVMTCwgJnJkZXYtPmdhcnQucm9iaik7Cj4gICAJ CWlmIChyKSB7Cj4gICAJCQlyZXR1cm4gcjsKPiAgIAkJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2dlbS5jCj4gaW5kZXggNGI3YzhlYzM2YzJmLi5jMTk0NDk3YWE1ODYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYwo+IEBAIC02Nyw3ICs2Nyw3IEBAIGludCByYWRlb25f Z2VtX29iamVjdF9jcmVhdGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVuc2lnbmVkIGxv bmcgc2l6ZSwKPiAgIAo+ICAgcmV0cnk6Cj4gICAJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwg c2l6ZSwgYWxpZ25tZW50LCBrZXJuZWwsIGluaXRpYWxfZG9tYWluLAo+IC0JCQkgICAgIGZsYWdz LCBOVUxMLCAmcm9iaik7Cj4gKwkJCSAgICAgZmxhZ3MsIE5VTEwsIE5VTEwsICZyb2JqKTsKPiAg IAlpZiAocikgewo+ICAgCQlpZiAociAhPSAtRVJFU1RBUlRTWVMpIHsKPiAgIAkJCWlmIChpbml0 aWFsX2RvbWFpbiA9PSBSQURFT05fR0VNX0RPTUFJTl9WUkFNKSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fb2JqZWN0LmMKPiBpbmRleCAwZTgyZjAyMjNmZDQuLjk5YTk2MGE0ZjMwMiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jCj4gQEAgLTE2Nyw4ICsx NjcsMTAgQEAgdm9pZCByYWRlb25fdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihzdHJ1Y3QgcmFk ZW9uX2JvICpyYm8sIHUzMiBkb21haW4pCj4gICB9Cj4gICAKPiAgIGludCByYWRlb25fYm9fY3Jl YXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+IC0JCSAgICAgdW5zaWduZWQgbG9uZyBz aXplLCBpbnQgYnl0ZV9hbGlnbiwgYm9vbCBrZXJuZWwsIHUzMiBkb21haW4sCj4gLQkJICAgICB1 MzIgZmxhZ3MsIHN0cnVjdCBzZ190YWJsZSAqc2csIHN0cnVjdCByYWRlb25fYm8gKipib19wdHIp Cj4gKwkJICAgICB1bnNpZ25lZCBsb25nIHNpemUsIGludCBieXRlX2FsaWduLCBib29sIGtlcm5l bCwKPiArCQkgICAgIHUzMiBkb21haW4sIHUzMiBmbGFncywgc3RydWN0IHNnX3RhYmxlICpzZywK PiArCQkgICAgIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCj4gKwkJICAgICBzdHJ1 Y3QgcmFkZW9uX2JvICoqYm9fcHRyKQo+ICAgewo+ICAgCXN0cnVjdCByYWRlb25fYm8gKmJvOwo+ ICAgCWVudW0gdHRtX2JvX3R5cGUgdHlwZTsKPiBAQCAtMjE2LDcgKzIxOCw3IEBAIGludCByYWRl b25fYm9fY3JlYXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ICAgCWRvd25fcmVhZCgm cmRldi0+cG0ubWNsa19sb2NrKTsKPiAgIAlyID0gdHRtX2JvX2luaXQoJnJkZXYtPm1tYW4uYmRl diwgJmJvLT50Ym8sIHNpemUsIHR5cGUsCj4gICAJCQkmYm8tPnBsYWNlbWVudCwgcGFnZV9hbGln biwgIWtlcm5lbCwgTlVMTCwKPiAtCQkJYWNjX3NpemUsIHNnLCBOVUxMLCAmcmFkZW9uX3R0bV9i b19kZXN0cm95KTsKPiArCQkJYWNjX3NpemUsIHNnLCByZXN2LCAmcmFkZW9uX3R0bV9ib19kZXN0 cm95KTsKPiAgIAl1cF9yZWFkKCZyZGV2LT5wbS5tY2xrX2xvY2spOwo+ICAgCWlmICh1bmxpa2Vs eShyICE9IDApKSB7Cj4gICAJCXJldHVybiByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X29iamVjdC5oCj4gaW5kZXggOThhNDdmZGYzNjI1Li4xYjhlYzc5MTcxNTQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAo+IEBAIC0xMjYsNiArMTI2LDcgQEAgZXh0 ZXJuIGludCByYWRlb25fYm9fY3JlYXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ICAg CQkJICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGJ5dGVfYWxpZ24sCj4gICAJCQkgICAgYm9v bCBrZXJuZWwsIHUzMiBkb21haW4sIHUzMiBmbGFncywKPiAgIAkJCSAgICBzdHJ1Y3Qgc2dfdGFi bGUgKnNnLAo+ICsJCQkgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKPiAgIAkJ CSAgICBzdHJ1Y3QgcmFkZW9uX2JvICoqYm9fcHRyKTsKPiAgIGV4dGVybiBpbnQgcmFkZW9uX2Jv X2ttYXAoc3RydWN0IHJhZGVvbl9ibyAqYm8sIHZvaWQgKipwdHIpOwo+ICAgZXh0ZXJuIHZvaWQg cmFkZW9uX2JvX2t1bm1hcChzdHJ1Y3QgcmFkZW9uX2JvICpibyk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9wcmltZS5jCj4gaW5kZXggMTcxZGFmN2ZjNDgzLi5mMzYwOWM5NzQ5NmIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMKPiBAQCAtNjEsMTIgKzYxLDE1 IEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqcmFkZW9uX2dlbV9wcmltZV9pbXBvcnRfc2dfdGFi bGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCQkJCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2htZW50ICphdHRhY2gsCj4gICAJCQkJCQkJc3RydWN0IHNnX3RhYmxlICpzZykKPiAgIHsKPiAr CXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YgPSBhdHRhY2gtPmRtYWJ1Zi0+cmVzdjsK PiAgIAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJ c3RydWN0IHJhZGVvbl9ibyAqYm87Cj4gICAJaW50IHJldDsKPiAgIAo+ICsJd3dfbXV0ZXhfbG9j aygmcmVzdi0+bG9jaywgTlVMTCk7Cj4gICAJcmV0ID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBh dHRhY2gtPmRtYWJ1Zi0+c2l6ZSwgUEFHRV9TSVpFLCBmYWxzZSwKPiAtCQkJICAgICAgIFJBREVP Tl9HRU1fRE9NQUlOX0dUVCwgMCwgc2csICZibyk7Cj4gKwkJCSAgICAgICBSQURFT05fR0VNX0RP TUFJTl9HVFQsIDAsIHNnLCByZXN2LCAmYm8pOwo+ICsJd3dfbXV0ZXhfdW5sb2NrKCZyZXN2LT5s b2NrKTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwo+IGluZGV4IDZmMmE5YmQ2YmI1NC4uM2QxN2Fm MzRhZmE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Jpbmcu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwo+IEBAIC0zODMs NyArMzgzLDcgQEAgaW50IHJhZGVvbl9yaW5nX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZywgdW5zaWcKPiAgIAkvKiBBbGxvY2F0ZSByaW5n IGJ1ZmZlciAqLwo+ICAgCWlmIChyaW5nLT5yaW5nX29iaiA9PSBOVUxMKSB7Cj4gICAJCXIgPSBy YWRlb25fYm9fY3JlYXRlKHJkZXYsIHJpbmctPnJpbmdfc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLAo+ IC0JCQkJICAgICBSQURFT05fR0VNX0RPTUFJTl9HVFQsIDAsCj4gKwkJCQkgICAgIFJBREVPTl9H RU1fRE9NQUlOX0dUVCwgMCwgTlVMTCwKPiAgIAkJCQkgICAgIE5VTEwsICZyaW5nLT5yaW5nX29i aik7Cj4gICAJCWlmIChyKSB7Cj4gICAJCQlkZXZfZXJyKHJkZXYtPmRldiwgIiglZCkgcmluZyBj cmVhdGUgZmFpbGVkXG4iLCByKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fc2EuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NhLmMKPiBpbmRl eCBiODRmOTdjODcxOGMuLmM1MDc4OTZhY2E0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9zYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fc2EuYwo+IEBAIC02NSw3ICs2NSw3IEBAIGludCByYWRlb25fc2FfYm9fbWFuYWdlcl9pbml0 KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAo+ICAgCX0KPiAgIAo+ICAgCXIgPSByYWRlb25f Ym9fY3JlYXRlKHJkZXYsIHNpemUsIGFsaWduLCB0cnVlLAo+IC0JCQkgICAgIGRvbWFpbiwgZmxh Z3MsIE5VTEwsICZzYV9tYW5hZ2VyLT5ibyk7Cj4gKwkJCSAgICAgZG9tYWluLCBmbGFncywgTlVM TCwgTlVMTCwgJnNhX21hbmFnZXItPmJvKTsKPiAgIAlpZiAocikgewo+ICAgCQlkZXZfZXJyKHJk ZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRlIGJvIGZvciBtYW5hZ2VyXG4iLCByKTsK PiAgIAkJcmV0dXJuIHI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX3Rlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Rlc3QuYwo+IGluZGV4 IGNlOTQzZTFhNWU1MS4uMDdiNTA2YjQxMDA4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX3Rlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX3Rlc3QuYwo+IEBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9kb190ZXN0 X21vdmVzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgZmxhZykKPiAgIAl9Cj4gICAK PiAgIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIFJB REVPTl9HRU1fRE9NQUlOX1ZSQU0sCj4gLQkJCSAgICAgMCwgTlVMTCwgJnZyYW1fb2JqKTsKPiAr CQkJICAgICAwLCBOVUxMLCBOVUxMLCAmdnJhbV9vYmopOwo+ICAgCWlmIChyKSB7Cj4gICAJCURS TV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBWUkFNIG9iamVjdFxuIik7Cj4gICAJCWdvdG8gb3V0 X2NsZWFudXA7Cj4gQEAgLTg3LDcgKzg3LDggQEAgc3RhdGljIHZvaWQgcmFkZW9uX2RvX3Rlc3Rf bW92ZXMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBmbGFnKQo+ICAgCQlzdHJ1Y3Qg cmFkZW9uX2ZlbmNlICpmZW5jZSA9IE5VTEw7Cj4gICAKPiAgIAkJciA9IHJhZGVvbl9ib19jcmVh dGUocmRldiwgc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLAo+IC0JCQkJICAgICBSQURFT05fR0VNX0RP TUFJTl9HVFQsIDAsIE5VTEwsIGd0dF9vYmogKyBpKTsKPiArCQkJCSAgICAgUkFERU9OX0dFTV9E T01BSU5fR1RULCAwLCBOVUxMLCBOVUxMLAo+ICsJCQkJICAgICBndHRfb2JqICsgaSk7Cj4gICAJ CWlmIChyKSB7Cj4gICAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgR1RUIG9iamVjdCAl ZFxuIiwgaSk7Cj4gICAJCQlnb3RvIG91dF9sY2xlYW47Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fdHRtLmMKPiBpbmRleCBlY2EyY2U2MGQ0NDAuLjc0NzMwN2VjNDZkYSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCj4gQEAgLTg1OCw3ICs4NTgsNyBAQCBpbnQgcmFkZW9u X3R0bV9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAgCXJhZGVvbl90dG1fc2V0 X2FjdGl2ZV92cmFtX3NpemUocmRldiwgcmRldi0+bWMudmlzaWJsZV92cmFtX3NpemUpOwo+ICAg Cj4gICAJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgMjU2ICogMTAyNCwgUEFHRV9TSVpFLCB0 cnVlLAo+IC0JCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsCj4gKwkJCSAgICAgUkFE RU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgTlVMTCwKPiAgIAkJCSAgICAgTlVMTCwgJnJkZXYtPnN0 b2xsZW5fdmdhX21lbW9yeSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJcmV0dXJuIHI7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3V2ZC5jIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fdXZkLmMKPiBpbmRleCBiYTRmMzg5MTYwMjYuLjExYjY2MjQ2OTI1 MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl91dmQuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3V2ZC5jCj4gQEAgLTE0MSw3ICsxNDEs OCBAQCBpbnQgcmFkZW9uX3V2ZF9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAg CQkgIFJBREVPTl9VVkRfU1RBQ0tfU0laRSArIFJBREVPTl9VVkRfSEVBUF9TSVpFICsKPiAgIAkJ ICBSQURFT05fR1BVX1BBR0VfU0laRTsKPiAgIAlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBi b19zaXplLCBQQUdFX1NJWkUsIHRydWUsCj4gLQkJCSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJB TSwgMCwgTlVMTCwgJnJkZXYtPnV2ZC52Y3B1X2JvKTsKPiArCQkJICAgICBSQURFT05fR0VNX0RP TUFJTl9WUkFNLCAwLCBOVUxMLAo+ICsJCQkgICAgIE5VTEwsICZyZGV2LT51dmQudmNwdV9ibyk7 Cj4gICAJaWYgKHIpIHsKPiAgIAkJZGV2X2VycihyZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBh bGxvY2F0ZSBVVkQgYm9cbiIsIHIpOwo+ICAgCQlyZXR1cm4gcjsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl92Y2UuYwo+IGluZGV4IGM3MTkwYWFkYmQ4OS4uOWU4NTc1N2Q1NTk5IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdmNlLmMKPiBAQCAtMTI2LDcgKzEyNiw4IEBAIGludCBy YWRlb25fdmNlX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gICAJc2l6ZSA9IFJB REVPTl9HUFVfUEFHRV9BTElHTihyZGV2LT52Y2VfZnctPnNpemUpICsKPiAgIAkgICAgICAgUkFE RU9OX1ZDRV9TVEFDS19TSVpFICsgUkFERU9OX1ZDRV9IRUFQX1NJWkU7Cj4gICAJciA9IHJhZGVv bl9ib19jcmVhdGUocmRldiwgc2l6ZSwgUEFHRV9TSVpFLCB0cnVlLAo+IC0JCQkgICAgIFJBREVP Tl9HRU1fRE9NQUlOX1ZSQU0sIDAsIE5VTEwsICZyZGV2LT52Y2UudmNwdV9ibyk7Cj4gKwkJCSAg ICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgTlVMTCwgTlVMTCwKPiArCQkJICAgICAmcmRl di0+dmNlLnZjcHVfYm8pOwo+ICAgCWlmIChyKSB7Cj4gICAJCWRldl9lcnIocmRldi0+ZGV2LCAi KCVkKSBmYWlsZWQgdG8gYWxsb2NhdGUgVkNFIGJvXG4iLCByKTsKPiAgIAkJcmV0dXJuIHI7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZtLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92bS5jCj4gaW5kZXggZjZlNzZjMThkN2ViLi42ODMwNjI1 NzZhOGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdm0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZtLmMKPiBAQCAtNTQ4LDcgKzU0 OCw4IEBAIGludCByYWRlb25fdm1fYm9fc2V0X2FkZHIoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsCj4gICAKPiAgIAkJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgUkFERU9OX1ZNX1BURV9D T1VOVCAqIDgsCj4gICAJCQkJICAgICBSQURFT05fR1BVX1BBR0VfU0laRSwgdHJ1ZSwKPiAtCQkJ CSAgICAgUkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwgTlVMTCwgJnB0KTsKPiArCQkJCSAgICAg UkFERU9OX0dFTV9ET01BSU5fVlJBTSwgMCwKPiArCQkJCSAgICAgTlVMTCwgTlVMTCwgJnB0KTsK PiAgIAkJaWYgKHIpCj4gICAJCQlyZXR1cm4gcjsKPiAgIAo+IEBAIC0xMTI3LDcgKzExMjgsNyBA QCBpbnQgcmFkZW9uX3ZtX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCBy YWRlb25fdm0gKnZtKQo+ICAgCj4gICAJciA9IHJhZGVvbl9ib19jcmVhdGUocmRldiwgcGRfc2l6 ZSwgYWxpZ24sIHRydWUsCj4gICAJCQkgICAgIFJBREVPTl9HRU1fRE9NQUlOX1ZSQU0sIDAsIE5V TEwsCj4gLQkJCSAgICAgJnZtLT5wYWdlX2RpcmVjdG9yeSk7Cj4gKwkJCSAgICAgTlVMTCwgJnZt LT5wYWdlX2RpcmVjdG9yeSk7Cj4gICAJaWYgKHIpCj4gICAJCXJldHVybiByOwo+ICAgCj4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==