From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 1/5] drm/ttm: add evict parameter to ttm_bo_driver::move_notify Date: Fri, 16 Dec 2016 10:49:50 +0800 Message-ID: <5853564E.5020005@amd.com> References: <1481821815-9971-1-git-send-email-nhaehnle@gmail.com> <1481821815-9971-2-git-send-email-nhaehnle@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1481821815-9971-2-git-send-email-nhaehnle-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?UTF-8?B?Tmljb2xhaSBIw6Robmxl?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, =?UTF-8?B?Tmljb2xhaSBIw6Robmxl?= List-Id: dri-devel@lists.freedesktop.org CgpPbiAyMDE25bm0MTLmnIgxNuaXpSAwMToxMCwgTmljb2xhaSBIw6RobmxlIHdyb3RlOgo+IEZy b206IE5pY29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5jb20+Cj4KPiBFbnN1cmUg dGhhdCB0aGUgZHJpdmVyIGNhbiBsaXN0ZW4gdG8gZXZpY3Rpb25zIGV2ZW4gd2hlbiB0aGV5IGRv bid0IHRha2UgdGhlCj4gcGF0aCB0aHJvdWdoIHR0bV9ib19kcml2ZXI6Om1vdmUuCj4KPiBUaGlz IGlzIGNydWNpYWwgZm9yIGFtZGdwdSwgd2hpY2ggcmVsaWVzIG9uIGFuIGV2aWN0aW9uIGNvdW50 ZXIgdG8gc2tpcAo+IHJlLWJpbmRpbmcgcGFnZSB0YWJsZXMgd2hlbiBwb3NzaWJsZS4KPgo+IFNp Z25lZC1vZmYtYnk6IE5pY29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5jb20+CkFj a2VkLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIHwgIDEgKwo+ICAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oIHwgIDMgKystCj4gICBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JvLmMgICAgICAgfCAgMyArKy0KPiAgIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX3R0bS5jICAgICAgICAgICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX29iamVjdC5oICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMgICAgICAgICAgICAgICB8ICA4ICsrKystLS0tCj4gICBkcml2ZXJzL2dwdS9k cm0vdmlydGlvL3ZpcnRncHVfdHRtLmMgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9idWZmZXIuYyAgICAgfCAgMSArCj4gICBpbmNsdWRlL2RybS90dG0vdHRt X2JvX2RyaXZlci5oICAgICAgICAgICAgfCAxMCArKysrKysrKy0tCj4gICAxMCBmaWxlcyBjaGFu Z2VkLCAyMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwo+IGluZGV4IGJmNzliNzMuLmMyOWRiOTkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gQEAgLTg0 MiwyMCArODQyLDIxIEBAIGludCBhbWRncHVfYm9fZ2V0X21ldGFkYXRhKHN0cnVjdCBhbWRncHVf Ym8gKmJvLCB2b2lkICpidWZmZXIsCj4gICAKPiAgIAlpZiAobWV0YWRhdGFfc2l6ZSkKPiAgIAkJ Km1ldGFkYXRhX3NpemUgPSBiby0+bWV0YWRhdGFfc2l6ZTsKPiAgIAlpZiAoZmxhZ3MpCj4gICAJ CSpmbGFncyA9IGJvLT5tZXRhZGF0YV9mbGFnczsKPiAgIAo+ICAgCXJldHVybiAwOwo+ICAgfQo+ ICAgCj4gICB2b2lkIGFtZGdwdV9ib19tb3ZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmpl Y3QgKmJvLAo+ICsJCQkgICBib29sIGV2aWN0LAo+ICAgCQkJICAgc3RydWN0IHR0bV9tZW1fcmVn ICpuZXdfbWVtKQo+ICAgewo+ICAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1 X3R0bV9hZGV2KGJvLT5iZGV2KTsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICphYm87Cj4gICAJc3Ry dWN0IHR0bV9tZW1fcmVnICpvbGRfbWVtID0gJmJvLT5tZW07Cj4gICAKPiAgIAlpZiAoIWFtZGdw dV90dG1fYm9faXNfYW1kZ3B1X2JvKGJvKSkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJYWJvID0g Y29udGFpbmVyX29mKGJvLCBzdHJ1Y3QgYW1kZ3B1X2JvLCB0Ym8pOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPiBpbmRleCA1Y2JmNTllLi40MzA2YjJmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaAo+IEBAIC0x NDgsMjEgKzE0OCwyMiBAQCB2b2lkIGFtZGdwdV9ib19maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KTsKPiAgIGludCBhbWRncHVfYm9fZmJkZXZfbW1hcChzdHJ1Y3QgYW1kZ3B1X2JvICpi bywKPiAgIAkJCQlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Cj4gICBpbnQgYW1kZ3B1X2Jv X3NldF90aWxpbmdfZmxhZ3Moc3RydWN0IGFtZGdwdV9ibyAqYm8sIHU2NCB0aWxpbmdfZmxhZ3Mp Owo+ICAgdm9pZCBhbWRncHVfYm9fZ2V0X3RpbGluZ19mbGFncyhzdHJ1Y3QgYW1kZ3B1X2JvICpi bywgdTY0ICp0aWxpbmdfZmxhZ3MpOwo+ICAgaW50IGFtZGdwdV9ib19zZXRfbWV0YWRhdGEgKHN0 cnVjdCBhbWRncHVfYm8gKmJvLCB2b2lkICptZXRhZGF0YSwKPiAgIAkJCSAgICB1aW50MzJfdCBt ZXRhZGF0YV9zaXplLCB1aW50NjRfdCBmbGFncyk7Cj4gICBpbnQgYW1kZ3B1X2JvX2dldF9tZXRh ZGF0YShzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdm9pZCAqYnVmZmVyLAo+ICAgCQkJICAgc2l6ZV90 IGJ1ZmZlcl9zaXplLCB1aW50MzJfdCAqbWV0YWRhdGFfc2l6ZSwKPiAgIAkJCSAgIHVpbnQ2NF90 ICpmbGFncyk7Cj4gICB2b2lkIGFtZGdwdV9ib19tb3ZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QgKmJvLAo+IC0JCQkJICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pOwo+ICsJ CQkgICBib29sIGV2aWN0LAo+ICsJCQkgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pOwo+ ICAgaW50IGFtZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9v YmplY3QgKmJvKTsKPiAgIHZvaWQgYW1kZ3B1X2JvX2ZlbmNlKHN0cnVjdCBhbWRncHVfYm8gKmJv LCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKPiAgIAkJICAgICBib29sIHNoYXJlZCk7Cj4gICB1 NjQgYW1kZ3B1X2JvX2dwdV9vZmZzZXQoc3RydWN0IGFtZGdwdV9ibyAqYm8pOwo+ICAgaW50IGFt ZGdwdV9ib19iYWNrdXBfdG9fc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAg CQkJICAgICAgIHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKPiAgIAkJCSAgICAgICBzdHJ1Y3Qg YW1kZ3B1X2JvICpibywKPiAgIAkJCSAgICAgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpy ZXN2LAo+ICAgCQkJICAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZSwgYm9vbCBkaXJlY3Qp Owo+ICAgaW50IGFtZGdwdV9ib19yZXN0b3JlX2Zyb21fc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JvLmMKPiBpbmRleCBlMGMw MDA3Li42ZmExNTIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfYm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYm8uYwo+IEBA IC0xMTg3LDIxICsxMTg3LDIyIEBAIG5vdXZlYXVfYm9fbW92ZV9mbGlwcyhzdHJ1Y3QgdHRtX2J1 ZmZlcl9vYmplY3QgKmJvLCBib29sIGV2aWN0LCBib29sIGludHIsCj4gICAJcmV0ID0gbm91dmVh dV9ib19tb3ZlX20ybWYoYm8sIHRydWUsIGludHIsIG5vX3dhaXRfZ3B1LCBuZXdfbWVtKTsKPiAg IAlpZiAocmV0KQo+ICAgCQlnb3RvIG91dDsKPiAgIAo+ICAgb3V0Ogo+ICAgCXR0bV9ib19tZW1f cHV0KGJvLCAmdG1wX21lbSk7Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPiAgIAo+ICAgc3RhdGlj IHZvaWQKPiAtbm91dmVhdV9ib19tb3ZlX250Znkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi bywgc3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKQo+ICtub3V2ZWF1X2JvX21vdmVfbnRmeShz dHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLCBib29sIGV2aWN0LAo+ICsJCSAgICAgc3RydWN0 IHR0bV9tZW1fcmVnICpuZXdfbWVtKQo+ICAgewo+ICAgCXN0cnVjdCBub3V2ZWF1X2JvICpudmJv ID0gbm91dmVhdV9ibyhibyk7Cj4gICAJc3RydWN0IG52a21fdm1hICp2bWE7Cj4gICAKPiAgIAkv KiB0dG0gY2FuIG5vdyAoc3R1cGlkbHkpIHBhc3MgdGhlIGRyaXZlciBib3MgaXQgZGlkbid0IGNy ZWF0ZS4uLiAqLwo+ICAgCWlmIChiby0+ZGVzdHJveSAhPSBub3V2ZWF1X2JvX2RlbF90dG0pCj4g ICAJCXJldHVybjsKPiAgIAo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmbnZiby0+dm1h X2xpc3QsIGhlYWQpIHsKPiAgIAkJaWYgKG5ld19tZW0gJiYgbmV3X21lbS0+bWVtX3R5cGUgIT0g VFRNX1BMX1NZU1RFTSAmJgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90 dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCj4gaW5kZXggMTE3NjEzMy4uZjM5 MzlhOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCj4gQEAgLTM2MCwyMCArMzYwLDIxIEBAIHN0 YXRpYyBpbnQgcXhsX2JvX21vdmUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAo+ ICAgCWlmIChvbGRfbWVtLT5tZW1fdHlwZSA9PSBUVE1fUExfU1lTVEVNICYmIGJvLT50dG0gPT0g TlVMTCkgewo+ICAgCQlxeGxfbW92ZV9udWxsKGJvLCBuZXdfbWVtKTsKPiAgIAkJcmV0dXJuIDA7 Cj4gICAJfQo+ICAgCXJldHVybiB0dG1fYm9fbW92ZV9tZW1jcHkoYm8sIGludGVycnVwdGlibGUs IG5vX3dhaXRfZ3B1LAo+ICAgCQkJCSAgbmV3X21lbSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2 b2lkIHF4bF9ib19tb3ZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICsJ CQkgICAgICAgYm9vbCBldmljdCwKPiAgIAkJCSAgICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5l d19tZW0pCj4gICB7Cj4gICAJc3RydWN0IHF4bF9ibyAqcWJvOwo+ICAgCXN0cnVjdCBxeGxfZGV2 aWNlICpxZGV2Owo+ICAgCj4gICAJaWYgKCFxeGxfdHRtX2JvX2lzX3F4bF9ibyhibykpCj4gICAJ CXJldHVybjsKPiAgIAlxYm8gPSB0b19xeGxfYm8oYm8pOwo+ICAgCXFkZXYgPSBxYm8tPmdlbV9i YXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9v YmplY3QuYwo+IGluZGV4IDQxYjcyY2UuLjc0YjI3NjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9vYmplY3QuYwo+IEBAIC03NTgsMjAgKzc1OCwyMSBAQCBpbnQgcmFkZW9uX2Jv X2NoZWNrX3RpbGluZyhzdHJ1Y3QgcmFkZW9uX2JvICpibywgYm9vbCBoYXNfbW92ZWQsCj4gICAJ CXJldHVybiAwOwo+ICAgCX0KPiAgIAo+ICAgCWlmICgoYm8tPnN1cmZhY2VfcmVnID49IDApICYm ICFoYXNfbW92ZWQpCj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJcmV0dXJuIHJhZGVvbl9ib19n ZXRfc3VyZmFjZV9yZWcoYm8pOwo+ICAgfQo+ICAgCj4gICB2b2lkIHJhZGVvbl9ib19tb3ZlX25v dGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICsJCQkgICBib29sIGV2aWN0LAo+ ICAgCQkJICAgc3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKQo+ICAgewo+ICAgCXN0cnVjdCBy YWRlb25fYm8gKnJibzsKPiAgIAo+ICAgCWlmICghcmFkZW9uX3R0bV9ib19pc19yYWRlb25fYm8o Ym8pKQo+ICAgCQlyZXR1cm47Cj4gICAKPiAgIAlyYm8gPSBjb250YWluZXJfb2YoYm8sIHN0cnVj dCByYWRlb25fYm8sIHRibyk7Cj4gICAJcmFkZW9uX2JvX2NoZWNrX3RpbGluZyhyYm8sIDAsIDEp Owo+ICAgCXJhZGVvbl92bV9ib19pbnZhbGlkYXRlKHJiby0+cmRldiwgcmJvKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmggYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAo+IGluZGV4IGExMGJiM2QuLjlmZmQ4MjEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAo+IEBAIC0xNDMsMjAgKzE0 MywyMSBAQCBleHRlcm4gdm9pZCByYWRlb25fYm9fZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldik7Cj4gICBleHRlcm4gaW50IHJhZGVvbl9ib19saXN0X3ZhbGlkYXRlKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2LAo+ICAgCQkJCSAgIHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlja2V0 LAo+ICAgCQkJCSAgIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGludCByaW5nKTsKPiAgIGV4dGVy biBpbnQgcmFkZW9uX2JvX3NldF90aWxpbmdfZmxhZ3Moc3RydWN0IHJhZGVvbl9ibyAqYm8sCj4g ICAJCQkJdTMyIHRpbGluZ19mbGFncywgdTMyIHBpdGNoKTsKPiAgIGV4dGVybiB2b2lkIHJhZGVv bl9ib19nZXRfdGlsaW5nX2ZsYWdzKHN0cnVjdCByYWRlb25fYm8gKmJvLAo+ICAgCQkJCXUzMiAq dGlsaW5nX2ZsYWdzLCB1MzIgKnBpdGNoKTsKPiAgIGV4dGVybiBpbnQgcmFkZW9uX2JvX2NoZWNr X3RpbGluZyhzdHJ1Y3QgcmFkZW9uX2JvICpibywgYm9vbCBoYXNfbW92ZWQsCj4gICAJCQkJYm9v bCBmb3JjZV9kcm9wKTsKPiAgIGV4dGVybiB2b2lkIHJhZGVvbl9ib19tb3ZlX25vdGlmeShzdHJ1 Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICsJCQkJICBib29sIGV2aWN0LAo+ICAgCQkJCSAg c3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKTsKPiAgIGV4dGVybiBpbnQgcmFkZW9uX2JvX2Zh dWx0X3Jlc2VydmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pOwo+ICAgZXh0 ZXJuIGludCByYWRlb25fYm9fZ2V0X3N1cmZhY2VfcmVnKHN0cnVjdCByYWRlb25fYm8gKmJvKTsK PiAgIGV4dGVybiB2b2lkIHJhZGVvbl9ib19mZW5jZShzdHJ1Y3QgcmFkZW9uX2JvICpibywgc3Ry dWN0IHJhZGVvbl9mZW5jZSAqZmVuY2UsCj4gICAJCQkgICAgYm9vbCBzaGFyZWQpOwo+ICAgCj4g ICAvKgo+ICAgICogc3ViIGFsbG9jYXRpb24KPiAgICAqLwo+ICAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5j Cj4gaW5kZXggZDUwNjM2MS4uZDQ5NzNlOWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fYm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiBAQCAt MzM1LDQ1ICszMzUsNDUgQEAgc3RhdGljIGludCB0dG1fYm9faGFuZGxlX21vdmVfbWVtKHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAJCQlnb3RvIG91dF9lcnI7Cj4gICAKPiAgIAkJ aWYgKG1lbS0+bWVtX3R5cGUgIT0gVFRNX1BMX1NZU1RFTSkgewo+ICAgCQkJcmV0ID0gdHRtX3R0 X2JpbmQoYm8tPnR0bSwgbWVtKTsKPiAgIAkJCWlmIChyZXQpCj4gICAJCQkJZ290byBvdXRfZXJy Owo+ICAgCQl9Cj4gICAKPiAgIAkJaWYgKGJvLT5tZW0ubWVtX3R5cGUgPT0gVFRNX1BMX1NZU1RF TSkgewo+ICAgCQkJaWYgKGJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkpCj4gLQkJCQliZGV2LT5k cml2ZXItPm1vdmVfbm90aWZ5KGJvLCBtZW0pOwo+ICsJCQkJYmRldi0+ZHJpdmVyLT5tb3ZlX25v dGlmeShibywgZXZpY3QsIG1lbSk7Cj4gICAJCQliby0+bWVtID0gKm1lbTsKPiAgIAkJCW1lbS0+ bW1fbm9kZSA9IE5VTEw7Cj4gICAJCQlnb3RvIG1vdmVkOwo+ICAgCQl9Cj4gICAJfQo+ICAgCj4g ICAJaWYgKGJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkpCj4gLQkJYmRldi0+ZHJpdmVyLT5tb3Zl X25vdGlmeShibywgbWVtKTsKPiArCQliZGV2LT5kcml2ZXItPm1vdmVfbm90aWZ5KGJvLCBldmlj dCwgbWVtKTsKPiAgIAo+ICAgCWlmICghKG9sZF9tYW4tPmZsYWdzICYgVFRNX01FTVRZUEVfRkxB R19GSVhFRCkgJiYKPiAgIAkgICAgIShuZXdfbWFuLT5mbGFncyAmIFRUTV9NRU1UWVBFX0ZMQUdf RklYRUQpKQo+ICAgCQlyZXQgPSB0dG1fYm9fbW92ZV90dG0oYm8sIGludGVycnVwdGlibGUsIG5v X3dhaXRfZ3B1LCBtZW0pOwo+ICAgCWVsc2UgaWYgKGJkZXYtPmRyaXZlci0+bW92ZSkKPiAgIAkJ cmV0ID0gYmRldi0+ZHJpdmVyLT5tb3ZlKGJvLCBldmljdCwgaW50ZXJydXB0aWJsZSwKPiAgIAkJ CQkJIG5vX3dhaXRfZ3B1LCBtZW0pOwo+ICAgCWVsc2UKPiAgIAkJcmV0ID0gdHRtX2JvX21vdmVf bWVtY3B5KGJvLCBpbnRlcnJ1cHRpYmxlLCBub193YWl0X2dwdSwgbWVtKTsKPiAgIAo+ICAgCWlm IChyZXQpIHsKPiAgIAkJaWYgKGJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkpIHsKPiAgIAkJCXN0 cnVjdCB0dG1fbWVtX3JlZyB0bXBfbWVtID0gKm1lbTsKPiAgIAkJCSptZW0gPSBiby0+bWVtOwo+ ICAgCQkJYm8tPm1lbSA9IHRtcF9tZW07Cj4gLQkJCWJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnko Ym8sIG1lbSk7Cj4gKwkJCWJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkoYm8sIGZhbHNlLCBtZW0p Owo+ICAgCQkJYm8tPm1lbSA9ICptZW07Cj4gICAJCQkqbWVtID0gdG1wX21lbTsKPiAgIAkJfQo+ ICAgCj4gICAJCWdvdG8gb3V0X2VycjsKPiAgIAl9Cj4gICAKPiAgIG1vdmVkOgo+ICAgCWlmIChi by0+ZXZpY3RlZCkgewo+ICAgCQlpZiAoYmRldi0+ZHJpdmVyLT5pbnZhbGlkYXRlX2NhY2hlcykg ewo+IEBAIC00MDcsMjEgKzQwNywyMSBAQCBzdGF0aWMgaW50IHR0bV9ib19oYW5kbGVfbW92ZV9t ZW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgICAqIENhbGwgYm86OnJlc2VydmVk Lgo+ICAgICogV2lsbCByZWxlYXNlIEdQVSBtZW1vcnkgdHlwZSB1c2FnZSBvbiBkZXN0cnVjdGlv bi4KPiAgICAqIFRoaXMgaXMgdGhlIHBsYWNlIHRvIHB1dCBpbiBkcml2ZXIgc3BlY2lmaWMgaG9v a3MgdG8gcmVsZWFzZQo+ICAgICogZHJpdmVyIHByaXZhdGUgcmVzb3VyY2VzLgo+ICAgICogV2ls bCByZWxlYXNlIHRoZSBibzo6cmVzZXJ2ZWQgbG9jay4KPiAgICAqLwo+ICAgCj4gICBzdGF0aWMg dm9pZCB0dG1fYm9fY2xlYW51cF9tZW10eXBlX3VzZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvKQo+ICAgewo+ICAgCWlmIChiby0+YmRldi0+ZHJpdmVyLT5tb3ZlX25vdGlmeSkKPiAtCQli by0+YmRldi0+ZHJpdmVyLT5tb3ZlX25vdGlmeShibywgTlVMTCk7Cj4gKwkJYm8tPmJkZXYtPmRy aXZlci0+bW92ZV9ub3RpZnkoYm8sIGZhbHNlLCBOVUxMKTsKPiAgIAo+ICAgCXR0bV90dF9kZXN0 cm95KGJvLT50dG0pOwo+ICAgCWJvLT50dG0gPSBOVUxMOwo+ICAgCXR0bV9ib19tZW1fcHV0KGJv LCAmYm8tPm1lbSk7Cj4gICAKPiAgIAl3d19tdXRleF91bmxvY2sgKCZiby0+cmVzdi0+bG9jayk7 Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHR0bV9ib19mbHVzaF9hbGxfZmVuY2VzKHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8pCj4gICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdw dV90dG0uYwo+IGluZGV4IDRhMWRlOWYuLjEwMzg3ZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3R0bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRp by92aXJ0Z3B1X3R0bS5jCj4gQEAgLTM3OSwyMCArMzc5LDIxIEBAIHN0YXRpYyBpbnQgdmlydGlv X2dwdV9ib19tb3ZlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAKPiAgIAlyZXQg PSB0dG1fYm9fd2FpdChibywgaW50ZXJydXB0aWJsZSwgbm9fd2FpdF9ncHUpOwo+ICAgCWlmIChy ZXQpCj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiAgIAl2aXJ0aW9fZ3B1X21vdmVfbnVsbChibywg bmV3X21lbSk7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHZpcnRp b19ncHVfYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8sCj4gKwkJ CQkgICAgICBib29sIGV2aWN0LAo+ICAgCQkJCSAgICAgIHN0cnVjdCB0dG1fbWVtX3JlZyAqbmV3 X21lbSkKPiAgIHsKPiAgIAlzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3QgKmJvOwo+ICAgCXN0cnVj dCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXY7Cj4gICAKPiAgIAlibyA9IGNvbnRhaW5lcl9vZih0 Ym8sIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCwgdGJvKTsKPiAgIAl2Z2RldiA9IChzdHJ1Y3Qg dmlydGlvX2dwdV9kZXZpY2UgKiliby0+Z2VtX2Jhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAo+ ICAgCWlmICghbmV3X21lbSB8fCAobmV3X21lbS0+cGxhY2VtZW50ICYgVFRNX1BMX0ZMQUdfU1lT VEVNKSkgewo+ICAgCQlpZiAoYm8tPmh3X3Jlc19oYW5kbGUpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfYnVmZmVyLmMKPiBpbmRleCBjODk0YTQ4Li5jYWEyNzliIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfYnVmZmVyLmMKPiBAQCAtODE4LDIwICs4MTgsMjEgQEAgc3Rh dGljIGludCB2bXdfdHRtX2ZhdWx0X3Jlc2VydmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29i amVjdCAqYm8pCj4gICAgKiB2bXdfbW92ZV9ub3RpZnkgLSBUVE0gbW92ZV9ub3RpZnlfY2FsbGJh Y2sKPiAgICAqCj4gICAgKiBAYm86IFRoZSBUVE0gYnVmZmVyIG9iamVjdCBhYm91dCB0byBtb3Zl Lgo+ICAgICogQG1lbTogVGhlIHN0cnVjdCB0dG1fbWVtX3JlZyBpbmRpY2F0aW5nIHRvIHdoYXQg bWVtb3J5Cj4gICAgKiAgICAgICByZWdpb24gdGhlIG1vdmUgaXMgdGFraW5nIHBsYWNlLgo+ICAg ICoKPiAgICAqIENhbGxzIG1vdmVfbm90aWZ5IGZvciBhbGwgc3Vic3lzdGVtcyBuZWVkaW5nIGl0 Lgo+ICAgICogKGN1cnJlbnRseSBvbmx5IHJlc291cmNlcykuCj4gICAgKi8KPiAgIHN0YXRpYyB2 b2lkIHZtd19tb3ZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICsJCQkg ICAgYm9vbCBldmljdCwKPiAgIAkJCSAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSkKPiAgIHsK PiAgIAl2bXdfcmVzb3VyY2VfbW92ZV9ub3RpZnkoYm8sIG1lbSk7Cj4gICAJdm13X3F1ZXJ5X21v dmVfbm90aWZ5KGJvLCBtZW0pOwo+ICAgfQo+ICAgCj4gICAKPiAgIC8qKgo+ICAgICogdm13X3N3 YXBfbm90aWZ5IC0gVFRNIG1vdmVfbm90aWZ5X2NhbGxiYWNrCj4gICAgKgo+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9i b19kcml2ZXIuaAo+IGluZGV4IGNkYmRiNDAuLjhiNGJlYzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVk ZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9f ZHJpdmVyLmgKPiBAQCAtNDI0LDIzICs0MjQsMjkgQEAgc3RydWN0IHR0bV9ib19kcml2ZXIgewo+ ICAgCSAqCj4gICAJICogQ2FsbGVkIGZyb20gdGhlIG1hcCAvIHdyaXRlIC8gcmVhZCBtZXRob2Rz IHRvIHZlcmlmeSB0aGF0IHRoZQo+ICAgCSAqIGNhbGxlciBpcyBwZXJtaXR0ZWQgdG8gYWNjZXNz IHRoZSBidWZmZXIgb2JqZWN0Lgo+ICAgCSAqIFRoaXMgbWVtYmVyIG1heSBiZSBzZXQgdG8gTlVM TCwgd2hpY2ggd2lsbCByZWZ1c2UgdGhpcyBraW5kIG9mCj4gICAJICogYWNjZXNzIGZvciBhbGwg YnVmZmVyIG9iamVjdHMuCj4gICAJICogVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIDAgaWYg YWNjZXNzIGlzIGdyYW50ZWQsIC1FUEVSTSBvdGhlcndpc2UuCj4gICAJICovCj4gICAJaW50ICgq dmVyaWZ5X2FjY2Vzcykoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAkJCSAgICAg c3RydWN0IGZpbGUgKmZpbHApOwo+ICAgCj4gLQkvKiBob29rIHRvIG5vdGlmeSBkcml2ZXIgYWJv dXQgYSBkcml2ZXIgbW92ZSBzbyBpdAo+IC0JICogY2FuIGRvIHRpbGluZyB0aGluZ3MgKi8KPiAr CS8qKgo+ICsJICogSG9vayB0byBub3RpZnkgZHJpdmVyIGFib3V0IGEgZHJpdmVyIG1vdmUgc28g aXQKPiArCSAqIGNhbiBkbyB0aWxpbmcgdGhpbmdzIGFuZCBib29rLWtlZXBpbmcuCj4gKwkgKgo+ ICsJICogQGV2aWN0OiB3aGV0aGVyIHRoaXMgbW92ZSBpcyBldmljdGluZyB0aGUgYnVmZmVyIGZy b20gdGhlIGdyYXBoaWNzCj4gKwkgKiBhZGRyZXNzIHNwYWNlCj4gKwkgKi8KPiAgIAl2b2lkICgq bW92ZV9ub3RpZnkpKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gKwkJCSAgICBib29s IGV2aWN0LAo+ICAgCQkJICAgIHN0cnVjdCB0dG1fbWVtX3JlZyAqbmV3X21lbSk7Cj4gICAJLyog bm90aWZ5IHRoZSBkcml2ZXIgd2UgYXJlIHRha2luZyBhIGZhdWx0IG9uIHRoaXMgQk8KPiAgIAkg KiBhbmQgaGF2ZSByZXNlcnZlZCBpdCAqLwo+ICAgCWludCAoKmZhdWx0X3Jlc2VydmVfbm90aWZ5 KShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKTsKPiAgIAo+ICAgCS8qKgo+ICAgCSAqIG5v dGlmeSB0aGUgZHJpdmVyIHRoYXQgd2UncmUgYWJvdXQgdG8gc3dhcCBvdXQgdGhpcyBibwo+ICAg CSAqLwo+ICAgCXZvaWQgKCpzd2FwX25vdGlmeSkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi byk7Cj4gICAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=