From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/ttm: move cpu_writers handling into vmwgfx Date: Fri, 14 Jun 2019 14:58:49 +0200 Message-ID: <1b2d6966-9d1c-5006-02a6-7374fa0fa18c@gmail.com> References: <20190607144758.60076-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 72410892B9 for ; Fri, 14 Jun 2019 12:58:52 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id x4so2442971wrt.6 for ; Fri, 14 Jun 2019 05:58:52 -0700 (PDT) In-Reply-To: <20190607144758.60076-1-christian.koenig@amd.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, dri-devel@lists.freedesktop.org, Thomas Hellstrom List-Id: dri-devel@lists.freedesktop.org VGhvbWFzIGp1c3QgYSBnZW50bGUgcGluZyBvbiB0aGlzLgoKSXQncyBub3QgdGhhdCBteSBsaXZl IGRlcGVuZHMgb24gdGhpcywgYnV0IGl0IHdvdWxkIHN0aWxsIGJlIGEgbmljZSB0byAKaGF2ZSBj bGVhbnVwLgoKVGhhbmtzLApDaHJpc3RpYW4uCgpBbSAwNy4wNi4xOSB1bSAxNjo0NyBzY2hyaWVi IENocmlzdGlhbiBLw7ZuaWc6Cj4gVGhpcyBmZWF0dXJlIGlzIG9ubHkgdXNlZCBieSB2bXdnZngg YW5kIHN1cGVyZmxvdXMgZm9yIGV2ZXJ5Ym9keSBlbHNlLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hy aXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm8uYyAgICAgICAgICAgICB8IDI3IC0tLS0tLS0tLS0tLS0tLS0t LQo+ICAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jICAgICAgICB8ICAxIC0KPiAg IGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2V4ZWNidWZfdXRpbC5jICAgfCAgNyArLS0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uYyAgICAgICB8IDM1ICsrKysrKysrKysr KysrKysrKysrLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmggICAg ICB8ICAyICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMgIHwg IDggKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jIHwg IDQgKysrCj4gICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oICAgICAgICAgICAgIHwgMzEg LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICA4IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMo KyksIDcwIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0v dHRtX2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCj4gaW5kZXggYzdkZTY2N2Q0 ODJhLi40ZWMwNTVmZmQ2YTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f Ym8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiBAQCAtMTUzLDcgKzE1 Myw2IEBAIHN0YXRpYyB2b2lkIHR0bV9ib19yZWxlYXNlX2xpc3Qoc3RydWN0IGtyZWYgKmxpc3Rf a3JlZikKPiAgIAo+ICAgCUJVR19PTihrcmVmX3JlYWQoJmJvLT5saXN0X2tyZWYpKTsKPiAgIAlC VUdfT04oa3JlZl9yZWFkKCZiby0+a3JlZikpOwo+IC0JQlVHX09OKGF0b21pY19yZWFkKCZiby0+ Y3B1X3dyaXRlcnMpKTsKPiAgIAlCVUdfT04oYm8tPm1lbS5tbV9ub2RlICE9IE5VTEwpOwo+ICAg CUJVR19PTighbGlzdF9lbXB0eSgmYm8tPmxydSkpOwo+ICAgCUJVR19PTighbGlzdF9lbXB0eSgm Ym8tPmRkZXN0cm95KSk7Cj4gQEAgLTEzMDgsNyArMTMwNyw2IEBAIGludCB0dG1fYm9faW5pdF9y ZXNlcnZlZChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAgIAo+ICAgCWtyZWZfaW5pdCgm Ym8tPmtyZWYpOwo+ICAgCWtyZWZfaW5pdCgmYm8tPmxpc3Rfa3JlZik7Cj4gLQlhdG9taWNfc2V0 KCZiby0+Y3B1X3dyaXRlcnMsIDApOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZiby0+bHJ1KTsKPiAg IAlJTklUX0xJU1RfSEVBRCgmYm8tPmRkZXN0cm95KTsKPiAgIAlJTklUX0xJU1RfSEVBRCgmYm8t PnN3YXApOwo+IEBAIC0xODE0LDMxICsxODEyLDYgQEAgaW50IHR0bV9ib193YWl0KHN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICB9Cj4gICBFWFBPUlRfU1lNQk9MKHR0bV9ib193YWl0 KTsKPiAgIAo+IC1pbnQgdHRtX2JvX3N5bmNjcHVfd3JpdGVfZ3JhYihzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QgKmJvLCBib29sIG5vX3dhaXQpCj4gLXsKPiAtCWludCByZXQgPSAwOwo+IC0KPiAt CS8qCj4gLQkgKiBVc2luZyB0dG1fYm9fcmVzZXJ2ZSBtYWtlcyBzdXJlIHRoZSBscnUgbGlzdHMg YXJlIHVwZGF0ZWQuCj4gLQkgKi8KPiAtCj4gLQlyZXQgPSB0dG1fYm9fcmVzZXJ2ZShibywgdHJ1 ZSwgbm9fd2FpdCwgTlVMTCk7Cj4gLQlpZiAodW5saWtlbHkocmV0ICE9IDApKQo+IC0JCXJldHVy biByZXQ7Cj4gLQlyZXQgPSB0dG1fYm9fd2FpdChibywgdHJ1ZSwgbm9fd2FpdCk7Cj4gLQlpZiAo bGlrZWx5KHJldCA9PSAwKSkKPiAtCQlhdG9taWNfaW5jKCZiby0+Y3B1X3dyaXRlcnMpOwo+IC0J dHRtX2JvX3VucmVzZXJ2ZShibyk7Cj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4gLUVYUE9SVF9TWU1C T0wodHRtX2JvX3N5bmNjcHVfd3JpdGVfZ3JhYik7Cj4gLQo+IC12b2lkIHR0bV9ib19zeW5jY3B1 X3dyaXRlX3JlbGVhc2Uoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPiAtewo+IC0JYXRv bWljX2RlYygmYm8tPmNwdV93cml0ZXJzKTsKPiAtfQo+IC1FWFBPUlRfU1lNQk9MKHR0bV9ib19z eW5jY3B1X3dyaXRlX3JlbGVhc2UpOwo+IC0KPiAgIC8qKgo+ICAgICogQSBidWZmZXIgb2JqZWN0 IHNocmluayBtZXRob2QgdGhhdCB0cmllcyB0byBzd2FwIG91dCB0aGUgZmlyc3QKPiAgICAqIGJ1 ZmZlciBvYmplY3Qgb24gdGhlIGJvX2dsb2JhbDo6c3dhcF9scnUgbGlzdC4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jIGIvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fYm9fdXRpbC5jCj4gaW5kZXggODk1ZDc3ZDc5OWU0Li42ZjQzZjFmMGRlN2MgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCj4gQEAgLTUxMSw3ICs1MTEsNiBAQCBzdGF0aWMg aW50IHR0bV9idWZmZXJfb2JqZWN0X3RyYW5zZmVyKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8sCj4gICAJbXV0ZXhfaW5pdCgmZmJvLT5iYXNlLnd1X211dGV4KTsKPiAgIAlmYm8tPmJhc2Uu bW92aW5nID0gTlVMTDsKPiAgIAlkcm1fdm1hX25vZGVfcmVzZXQoJmZiby0+YmFzZS52bWFfbm9k ZSk7Cj4gLQlhdG9taWNfc2V0KCZmYm8tPmJhc2UuY3B1X3dyaXRlcnMsIDApOwo+ICAgCj4gICAJ a3JlZl9pbml0KCZmYm8tPmJhc2UubGlzdF9rcmVmKTsKPiAgIAlrcmVmX2luaXQoJmZiby0+YmFz ZS5rcmVmKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fZXhlY2J1Zl91 dGlsLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9leGVjYnVmX3V0aWwuYwo+IGluZGV4IDk1 N2VjMzc1YTRiYS4uODBmYTUyYjM2ZDVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2V4ZWNidWZfdXRpbC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fZXhl Y2J1Zl91dGlsLmMKPiBAQCAtMTEzLDEyICsxMTMsNyBAQCBpbnQgdHRtX2V1X3Jlc2VydmVfYnVm ZmVycyhzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggKnRpY2tldCwKPiAgIAkJc3RydWN0IHR0bV9idWZm ZXJfb2JqZWN0ICpibyA9IGVudHJ5LT5ibzsKPiAgIAo+ICAgCQlyZXQgPSBfX3R0bV9ib19yZXNl cnZlKGJvLCBpbnRyLCAodGlja2V0ID09IE5VTEwpLCB0aWNrZXQpOwo+IC0JCWlmICghcmV0ICYm IHVubGlrZWx5KGF0b21pY19yZWFkKCZiby0+Y3B1X3dyaXRlcnMpID4gMCkpIHsKPiAtCQkJcmVz ZXJ2YXRpb25fb2JqZWN0X3VubG9jayhiby0+cmVzdik7Cj4gLQo+IC0JCQlyZXQgPSAtRUJVU1k7 Cj4gLQo+IC0JCX0gZWxzZSBpZiAocmV0ID09IC1FQUxSRUFEWSAmJiBkdXBzKSB7Cj4gKwkJaWYg KHJldCA9PSAtRUFMUkVBRFkgJiYgZHVwcykgewo+ICAgCQkJc3RydWN0IHR0bV92YWxpZGF0ZV9i dWZmZXIgKnNhZmUgPSBlbnRyeTsKPiAgIAkJCWVudHJ5ID0gbGlzdF9wcmV2X2VudHJ5KGVudHJ5 LCBoZWFkKTsKPiAgIAkJCWxpc3RfZGVsKCZzYWZlLT5oZWFkKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2JvLmMKPiBpbmRleCA1ZDVjMmJjZTAxZjMuLjQ1Nzg2MWM1MDQ3ZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9iby5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uYwo+IEBAIC01NjUsNyArNTY1LDcgQEAgc3RhdGljIHZv aWQgdm13X3VzZXJfYm9fcmVmX29ial9yZWxlYXNlKHN0cnVjdCB0dG1fYmFzZV9vYmplY3QgKmJh c2UsCj4gICAKPiAgIAlzd2l0Y2ggKHJlZl90eXBlKSB7Cj4gICAJY2FzZSBUVE1fUkVGX1NZTkND UFVfV1JJVEU6Cj4gLQkJdHRtX2JvX3N5bmNjcHVfd3JpdGVfcmVsZWFzZSgmdXNlcl9iby0+dmJv LmJhc2UpOwo+ICsJCWF0b21pY19kZWMoJnVzZXJfYm8tPnZiby5jcHVfd3JpdGVycyk7Cj4gICAJ CWJyZWFrOwo+ICAgCWRlZmF1bHQ6Cj4gICAJCVdBUk5fT05DRSh0cnVlLCAiVW5kZWZpbmVkIGJ1 ZmZlciBvYmplY3QgcmVmZXJlbmNlIHJlbGVhc2UuXG4iKTsKPiBAQCAtNjgxLDEyICs2ODEsMTIg QEAgc3RhdGljIGludCB2bXdfdXNlcl9ib19zeW5jY3B1X2dyYWIoc3RydWN0IHZtd191c2VyX2J1 ZmZlcl9vYmplY3QgKnVzZXJfYm8sCj4gICAJCQkJICAgIHN0cnVjdCB0dG1fb2JqZWN0X2ZpbGUg KnRmaWxlLAo+ICAgCQkJCSAgICB1aW50MzJfdCBmbGFncykKPiAgIHsKPiArCWJvb2wgbm9uYmxv Y2sgPSAhIShmbGFncyAmIGRybV92bXdfc3luY2NwdV9kb250YmxvY2spOwo+ICAgCXN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8gPSAmdXNlcl9iby0+dmJvLmJhc2U7Cj4gICAJYm9vbCBleGlz dGVkOwo+ICAgCWludCByZXQ7Cj4gICAKPiAgIAlpZiAoZmxhZ3MgJiBkcm1fdm13X3N5bmNjcHVf YWxsb3dfY3MpIHsKPiAtCQlib29sIG5vbmJsb2NrID0gISEoZmxhZ3MgJiBkcm1fdm13X3N5bmNj cHVfZG9udGJsb2NrKTsKPiAgIAkJbG9uZyBscmV0Owo+ICAgCj4gICAJCWxyZXQgPSByZXNlcnZh dGlvbl9vYmplY3Rfd2FpdF90aW1lb3V0X3JjdQo+IEBAIC02OTksMTUgKzY5OSwyMCBAQCBzdGF0 aWMgaW50IHZtd191c2VyX2JvX3N5bmNjcHVfZ3JhYihzdHJ1Y3Qgdm13X3VzZXJfYnVmZmVyX29i amVjdCAqdXNlcl9ibywKPiAgIAkJcmV0dXJuIDA7Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSB0dG1f Ym9fc3luY2NwdV93cml0ZV9ncmFiCj4gLQkJKGJvLCAhIShmbGFncyAmIGRybV92bXdfc3luY2Nw dV9kb250YmxvY2spKTsKPiArCXJldCA9IHR0bV9ib19yZXNlcnZlKGJvLCB0cnVlLCBub25ibG9j aywgTlVMTCk7Cj4gKwlpZiAodW5saWtlbHkocmV0ICE9IDApKQo+ICsJCXJldHVybiByZXQ7Cj4g KwlyZXQgPSB0dG1fYm9fd2FpdChibywgdHJ1ZSwgbm9uYmxvY2spOwo+ICsJaWYgKGxpa2VseShy ZXQgPT0gMCkpCj4gKwkJYXRvbWljX2luYygmdXNlcl9iby0+dmJvLmNwdV93cml0ZXJzKTsKPiAr CXR0bV9ib191bnJlc2VydmUoYm8pOwo+ICAgCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCj4gICAJ CXJldHVybiByZXQ7Cj4gICAKPiAgIAlyZXQgPSB0dG1fcmVmX29iamVjdF9hZGQodGZpbGUsICZ1 c2VyX2JvLT5wcmltZS5iYXNlLAo+ICAgCQkJCSBUVE1fUkVGX1NZTkNDUFVfV1JJVEUsICZleGlz dGVkLCBmYWxzZSk7Cj4gICAJaWYgKHJldCAhPSAwIHx8IGV4aXN0ZWQpCj4gLQkJdHRtX2JvX3N5 bmNjcHVfd3JpdGVfcmVsZWFzZSgmdXNlcl9iby0+dmJvLmJhc2UpOwo+ICsJCWF0b21pY19kZWMo JnVzZXJfYm8tPnZiby5jcHVfd3JpdGVycyk7Cj4gICAKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+ IEBAIC03MzEsNiArNzM2LDI2IEBAIHN0YXRpYyBpbnQgdm13X3VzZXJfYm9fc3luY2NwdV9yZWxl YXNlKHVpbnQzMl90IGhhbmRsZSwKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+ICsvKioKPiAr ICogdm13X3VzZXJfYm9fdmVyaWZ5X3N5bmNjcHUgLSBWZXJpZnkgaWYgZ3JhYiBmb3IgQ1BVIGFj Y2VzcyBleGlzdHMKPiArICoKPiArICogQGxpc3Q6IGxpc3Qgb2YgdHRtX3ZhbGlkYXRlX2J1ZmZl ciBvYmplY3RzCj4gKyAqCj4gKyAqIFJldHVybjoKPiArICogLUVCVVNZIGlmIGEgQ1BVIGdyYWIg aXMgZm91bmQsIDAgb3RoZXJ3aXNlLgo+ICsgKi8KPiAraW50IHZtd191c2VyX2JvX3ZlcmlmeV9z eW5jY3B1KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QpCj4gK3sKPiArCXN0cnVjdCB0dG1fdmFsaWRh dGVfYnVmZmVyICplbnRyeTsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCBsaXN0 LCBoZWFkKSB7Cj4gKwkJc3RydWN0IHZtd19idWZmZXJfb2JqZWN0ICpibyA9IHZtd19idWZmZXJf b2JqZWN0KGVudHJ5LT5ibyk7Cj4gKwo+ICsgICAgICAgICAgICAgICAgaWYgKHVubGlrZWx5KGF0 b21pY19yZWFkKCZiby0+Y3B1X3dyaXRlcnMpID4gMCkpCj4gKwkJCXJldHVybiAtRUJVU1k7Cj4g Kwl9Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICAgCj4gICAvKioKPiAgICAqIHZtd191c2VyX2JvX3N5 bmNjcHVfaW9jdGwgLSBpb2N0bCBmdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIHN5bmNjcHUKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuaAo+IGluZGV4IDk2OTgzYzQ3ZmI0MC4uYjM5ODhj OTU3ZjBlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmgKPiBAQCAtOTAsNiAr OTAsNyBAQCBzdHJ1Y3Qgdm13X2J1ZmZlcl9vYmplY3Qgewo+ICAgCXN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCBiYXNlOwo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgcmVzX2xpc3Q7Cj4gICAJczMyIHBp bl9jb3VudDsKPiArCWF0b21pY190IGNwdV93cml0ZXJzOwo+ICAgCS8qIE5vdCByZWYtY291bnRl ZC4gIFByb3RlY3RlZCBieSBiaW5kaW5nX211dGV4ICovCj4gICAJc3RydWN0IHZtd19yZXNvdXJj ZSAqZHhfcXVlcnlfY3R4Owo+ICAgCS8qIFByb3RlY3RlZCBieSByZXNlcnZhdGlvbiAqLwo+IEBA IC03NDksNiArNzUwLDcgQEAgZXh0ZXJuIGludCB2bXdfYm9faW5pdChzdHJ1Y3Qgdm13X3ByaXZh dGUgKmRldl9wcml2LAo+ICAgCQkgICAgICAgdm9pZCAoKmJvX2ZyZWUpKHN0cnVjdCB0dG1fYnVm ZmVyX29iamVjdCAqYm8pKTsKPiAgIGV4dGVybiBpbnQgdm13X3VzZXJfYm9fdmVyaWZ5X2FjY2Vz cyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICAgCQkJCSAgICAgc3RydWN0IHR0bV9v YmplY3RfZmlsZSAqdGZpbGUpOwo+ICtleHRlcm4gaW50IHZtd191c2VyX2JvX3ZlcmlmeV9zeW5j Y3B1KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QpOwo+ICAgZXh0ZXJuIGludCB2bXdfdXNlcl9ib19h bGxvYyhzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgCQkJICAgICBzdHJ1Y3QgdHRt X29iamVjdF9maWxlICp0ZmlsZSwKPiAgIAkJCSAgICAgdWludDMyX3Qgc2l6ZSwKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZXhlY2J1Zi5jIGIvZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfZXhlY2J1Zi5jCj4gaW5kZXggMmZmN2JhMDRkOGM4Li4yNzEy MTdmNmUzYTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZXhl Y2J1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZXhlY2J1Zi5jCj4g QEAgLTM3MTksNiArMzcxOSwxMCBAQCBpbnQgdm13X2V4ZWNidWZfcHJvY2VzcyhzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdiwKPiAgIAlpZiAodW5saWtlbHkocmV0ICE9IDApKQo+ICAgCQlnb3Rv IG91dF9lcnJfbm9yZXM7Cj4gICAKPiArCXJldCA9IHZtd191c2VyX2JvX3ZlcmlmeV9zeW5jY3B1 KCZ2YWxfY3R4LmJvX2xpc3QpOwo+ICsJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkKPiArCQlnb3Rv IG91dF9lcnI7Cj4gKwo+ICAgCXJldCA9IHZtd192YWxpZGF0aW9uX2JvX3ZhbGlkYXRlKCZ2YWxf Y3R4LCB0cnVlKTsKPiAgIAlpZiAodW5saWtlbHkocmV0ICE9IDApKQo+ICAgCQlnb3RvIG91dF9l cnI7Cj4gQEAgLTM5MTgsNiArMzkyMiwxMCBAQCB2b2lkIF9fdm13X2V4ZWNidWZfcmVsZWFzZV9w aW5uZWRfYm8oc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKPiAgIAlpZiAocmV0KQo+ICAg CQlnb3RvIG91dF9ub19yZXNlcnZlOwo+ICAgCj4gKwlyZXQgPSB2bXdfdXNlcl9ib192ZXJpZnlf c3luY2NwdSgmdmFsX2N0eC5ib19saXN0KTsKPiArCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCj4g KwkJZ290byBvdXRfbm9fZW1pdDsKPiArCj4gICAJaWYgKGRldl9wcml2LT5xdWVyeV9jaWRfdmFs aWQpIHsKPiAgIAkJQlVHX09OKGZlbmNlICE9IE5VTEwpOwo+ICAgCQlyZXQgPSB2bXdfZmlmb19l bWl0X2R1bW15X3F1ZXJ5KGRldl9wcml2LCBkZXZfcHJpdi0+cXVlcnlfY2lkKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYyBiL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMKPiBpbmRleCAxZDM4YThiMmYyZWMuLmM1 NWRhNmYwZmYwMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9y ZXNvdXJjZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2Uu Ywo+IEBAIC00NjksNiArNDY5LDEwIEBAIHZtd19yZXNvdXJjZV9jaGVja19idWZmZXIoc3RydWN0 IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQsCj4gICAJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkKPiAg IAkJZ290byBvdXRfbm9fcmVzZXJ2ZTsKPiAgIAo+ICsJcmV0ID0gdm13X3VzZXJfYm9fdmVyaWZ5 X3N5bmNjcHUoJnZhbF9saXN0KTsKPiArCWlmICh1bmxpa2VseShyZXQgIT0gMCkpCj4gKwkJZ290 byBvdXRfbm9fdmFsaWRhdGU7Cj4gKwo+ICAgCWlmIChyZXMtPmZ1bmMtPm5lZWRzX2JhY2t1cCAm JiBsaXN0X2VtcHR5KCZyZXMtPm1vYl9oZWFkKSkKPiAgIAkJcmV0dXJuIDA7Cj4gICAKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCBiL2luY2x1ZGUvZHJtL3R0bS90 dG1fYm9fYXBpLmgKPiBpbmRleCA0OWQ5Y2RmYzU4ZjIuLmUzNThlOTY1ZDRjMCAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vdHRt L3R0bV9ib19hcGkuaAo+IEBAIC0xNDUsNyArMTQ1LDYgQEAgc3RydWN0IHR0bV90dDsKPiAgICAq IGhvbGRzIGEgcG9pbnRlciB0byBhIHBlcnNpc3RlbnQgc2htZW0gb2JqZWN0Lgo+ICAgICogQHR0 bTogVFRNIHN0cnVjdHVyZSBob2xkaW5nIHN5c3RlbSBwYWdlcy4KPiAgICAqIEBldmljdGVkOiBX aGV0aGVyIHRoZSBvYmplY3Qgd2FzIGV2aWN0ZWQgd2l0aG91dCB1c2VyLXNwYWNlIGtub3dpbmcu Cj4gLSAqIEBjcHVfd3JpdGVzOiBGb3Igc3luY2hyb25pemF0aW9uLiBOdW1iZXIgb2YgY3B1IHdy aXRlcnMuCj4gICAgKiBAbHJ1OiBMaXN0IGhlYWQgZm9yIHRoZSBscnUgbGlzdC4KPiAgICAqIEBk ZGVzdHJveTogTGlzdCBoZWFkIGZvciB0aGUgZGVsYXllZCBkZXN0cm95IGxpc3QuCj4gICAgKiBA c3dhcDogTGlzdCBoZWFkIGZvciBzd2FwIExSVSBsaXN0Lgo+IEBAIC0xOTUsMTEgKzE5NCw2IEBA IHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCB7Cj4gICAJc3RydWN0IHR0bV90dCAqdHRtOwo+ICAg CWJvb2wgZXZpY3RlZDsKPiAgIAo+IC0JLyoqCj4gLQkgKiBNZW1iZXJzIHByb3RlY3RlZCBieSB0 aGUgYm86OnJlc2VydmVkIGxvY2sgb25seSB3aGVuIHdyaXR0ZW4gdG8uCj4gLQkgKi8KPiAtCj4g LQlhdG9taWNfdCBjcHVfd3JpdGVyczsKPiAgIAo+ICAgCS8qKgo+ICAgCSAqIE1lbWJlcnMgcHJv dGVjdGVkIGJ5IHRoZSBiZGV2OjpscnVfbG9jay4KPiBAQCAtNDQzLDMxICs0MzcsNiBAQCB2b2lk IHR0bV9ib191bmxvY2tfZGVsYXllZF93b3JrcXVldWUoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJk ZXYsIGludCByZXNjaGVkKTsKPiAgIGJvb2wgdHRtX2JvX2V2aWN0aW9uX3ZhbHVhYmxlKHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAJCQkgICAgICBjb25zdCBzdHJ1Y3QgdHRtX3Bs YWNlICpwbGFjZSk7Cj4gICAKPiAtLyoqCj4gLSAqIHR0bV9ib19zeW5jY3B1X3dyaXRlX2dyYWIK PiAtICoKPiAtICogQGJvOiBUaGUgYnVmZmVyIG9iamVjdDoKPiAtICogQG5vX3dhaXQ6IFJldHVy biBpbW1lZGlhdGVseSBpZiBidWZmZXIgaXMgYnVzeS4KPiAtICoKPiAtICogU3luY2hyb25pemVz IGEgYnVmZmVyIG9iamVjdCBmb3IgQ1BVIFJXIGFjY2Vzcy4gVGhpcyBtZWFucwo+IC0gKiBjb21t YW5kIHN1Ym1pc3Npb24gdGhhdCBhZmZlY3RzIHRoZSBidWZmZXIgd2lsbCByZXR1cm4gLUVCVVNZ Cj4gLSAqIHVudGlsIHR0bV9ib19zeW5jY3B1X3dyaXRlX3JlbGVhc2UgaXMgY2FsbGVkLgo+IC0g Kgo+IC0gKiBSZXR1cm5zCj4gLSAqIC1FQlVTWSBpZiB0aGUgYnVmZmVyIGlzIGJ1c3kgYW5kIG5v X3dhaXQgaXMgdHJ1ZS4KPiAtICogLUVSRVNUQVJUU1lTIGlmIGludGVycnVwdGVkIGJ5IGEgc2ln bmFsLgo+IC0gKi8KPiAtaW50IHR0bV9ib19zeW5jY3B1X3dyaXRlX2dyYWIoc3RydWN0IHR0bV9i dWZmZXJfb2JqZWN0ICpibywgYm9vbCBub193YWl0KTsKPiAtCj4gLS8qKgo+IC0gKiB0dG1fYm9f c3luY2NwdV93cml0ZV9yZWxlYXNlOgo+IC0gKgo+IC0gKiBAYm8gOiBUaGUgYnVmZmVyIG9iamVj dC4KPiAtICoKPiAtICogUmVsZWFzZXMgYSBzeW5jY3B1IGxvY2suCj4gLSAqLwo+IC12b2lkIHR0 bV9ib19zeW5jY3B1X3dyaXRlX3JlbGVhc2Uoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyk7 Cj4gLQo+ICAgLyoqCj4gICAgKiB0dG1fYm9fYWNjX3NpemUKPiAgICAqCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=