From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [Intel-gfx] [PATCH 01/13] video: fb_defio: preserve user fb_ops Date: Thu, 28 Nov 2019 12:34:40 +0200 Message-ID: <871rtsnvb3.fsf@intel.com> References: <448995ffd954e0cd2287089cb686e351cc095834.1574871797.git.jani.nikula@intel.com> <20191127181741.GG406127@phenom.ffwll.local> <20191127182105.GJ406127@phenom.ffwll.local> <87fti8nz8l.fsf@intel.com> <20191128100557.GO406127@phenom.ffwll.local> <20191128100809.GP406127@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191128100809.GP406127@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: linux-fbdev@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jaya Kumar List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyOCBOb3YgMjAxOSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBUaHUsIE5vdiAyOCwgMjAxOSBhdCAxMTowNTo1N0FNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+PiBPbiBUaHUsIE5vdiAyOCwgMjAxOSBhdCAxMTowOTo0NkFNICswMjAwLCBK YW5pIE5pa3VsYSB3cm90ZToKPj4gPiBPbiBXZWQsIDI3IE5vdiAyMDE5LCBEYW5pZWwgVmV0dGVy IDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+PiA+ID4gT24gV2VkLCBOb3YgMjcsIDIwMTkgYXQg MDc6MTc6NDFQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4gPiA+PiBPbiBXZWQsIE5v diAyNywgMjAxOSBhdCAwNjozMTo1N1BNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4gPiA+ PiA+IE1vZGlmeWluZyBmYl9vcHMgZGlyZWN0bHkgdG8gb3ZlcnJpZGUgZmJfbW1hcCB3aXRoIGZi X2RlZmVycmVkX2lvX21tYXAKPj4gPiA+PiA+IGFuZCB0aGVuIHJlc2V0dGluZyBpdCB0byBOVUxM IGFmdGVyd2FyZHMgY2F1c2VzIHByb2JsZW1zIGFsbCBvdmVyIHRoZQo+PiA+ID4+ID4gcGxhY2Uu IEZpcnN0LCBpdCBwcmV2ZW50cyBtYWtpbmcgdGhlIGZib3BzIG1lbWJlciBvZiBzdHJ1Y3QgZmJf aW5mbyBhCj4+ID4gPj4gPiBjb25zdCBwb2ludGVyLCB3aGljaCBtZWFucyB3ZSBjYW4ndCBtYWtl IHN0cnVjdCBmYl9vcHMgY29uc3QKPj4gPiA+PiA+IGFueXdoZXJlLiBTZWNvbmQsIGEgZmV3IHBs YWNlcyBoYXZlIHRvIGdvIG91dCBvZiB0aGVpciB3YXkgdG8gcmVzdG9yZQo+PiA+ID4+ID4gdGhl IG9yaWdpbmFsIGZiX21tYXAgcG9pbnRlciB0aGF0IGdldHMgcmVzZXQgdG8gTlVMTC4KPj4gPiA+ PiA+IAo+PiA+ID4+ID4gUHJlc2VydmUgdGhlIHBhc3NlZCBpbiBmYl9vcHMgYnkgbWFraW5nIGEg Y29weSBvZiBpdCBhbmQgbW9kaWZ5aW5nIHRoYXQKPj4gPiA+PiA+IGluc3RlYWQuIEFkZCBhIGRl ZmVycmVkX2lvX3ByaXZhdGUgbWVtYmVyIHRvIHN0cnVjdCBmYl9pbmZvIHRvIHN0b3JlIHRoZQo+ PiA+ID4+ID4gcG9pbnRlciB0byB0aGUgb2xkIGZiX29wcywgYW5kIHJlc3RvcmUgdGhhdCBhdCBj bGVhbnVwLgo+PiA+ID4+ID4gCj4+ID4gPj4gPiBDYzogSmF5YSBLdW1hciA8amF5YWxrQGludHdv cmtzLmJpej4KPj4gPiA+PiA+IENjOiBsaW51eC1mYmRldkB2Z2VyLmtlcm5lbC5vcmcKPj4gPiA+ PiA+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+ ID4gPj4gPiAKPj4gPiA+PiA+IC0tLQo+PiA+ID4+ID4gCj4+ID4gPj4gPiBOb3RlOiBJZiB0aGUg YXBwcm9hY2ggaXMgYWNjZXB0YWJsZSwgd2UnbGwgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgZXJy b3IKPj4gPiA+PiA+IHJldHVybnMgb24gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZXMgYXQgZmJf ZGVmZXJyZWRfaW9faW5pdCgpIGNhbGwKPj4gPiA+PiA+IHNpdGVzLiBUaGVyZSBhcmUgMTMuCj4+ ID4gPj4gCj4+ID4gPj4gaXQncyBmYmRldiBkZWZpbywgSSB0aGluayB3ZSBjYW4gZG8gd29yc2Ug d2l0aCBsZXNzIGVmZm9ydC4gSnVzdCBlbWJlZCBhCj4+ID4gPj4gY29weSBvZiBmYl9vcHMgaW50 byBmYl9pbmZvLCBhbmQgdXNlIHRoYXQsIGFuZCB0YWRhISBubyBtZW1vcnkgYWxsb2NhdGlvbgo+ PiA+ID4+IG5lZWRlZCA6LSkKPj4gPiA+PiAKPj4gPiA+PiBJJ2QgdG90YWxseSByLWIgdGhhdCBw YXRjaC4KPj4gPiA+PiAKPj4gPiA+PiBPciBkbyB3aGF0IFZpbGxlIHN1Z2dlc3RlZCwgYWRkIGFu IGZiX2luZm8tPmZiZGVmaW8uZW5hYmxlZCwgc2V0IHRoYXQgaW4KPj4gPiA+PiB0aGUgX2luaXQg ZnVuY3Rpb24gYW5kIGluIGZiX21tYXAgY2FsbCBmYl9kZWZlcnJlZF9pb19tbWFwIGZvciB0aGF0 IGNhc2UKPj4gPiA+PiBpbnN0ZWFkIG9mIHRoZSBkcml2ZXIncyBmYl9vcHMtPmZiX21tYXAuIFRo ZXJlJ3Mgb25seSBvbmUgY2FsbGVyIG9mIHRoYXQKPj4gPiA+PiBpbiB0aGUgZW50aXJlIHRyZWUs IGluIGZibWVtLmMuIEFsc28sIHdlIGNvdWxkL3Nob3VsZCBudWtlIHRoZQo+PiA+ID4+IEVYUE9S VF9TWU1CT0woZmJfZGVmZXJyZWRfaW9fbW1hcCkgSSB0aGluay4KPj4gPiA+Cj4+ID4gPiBJIGp1 c3QgcmVhbGl6ZWQgdGhhdCBmYl9pbmZvLT5mYmRlZmlvIGlzIGEgcG9pbnRlciwgc28gdGhpcyB3 b3VsZCBiZQo+PiA+ID4gcmVhbGx5IHNpbXBsZSB0byBwdWxsIG9mZiBJIHRoaW5rLgo+PiA+IAo+ PiA+IEhlaCwgaGF2aW5nIGEKPj4gPiAKPj4gPiAJaW50ICgqZmJfZGVmZXJyZWRfaW9fbW1hcCko c3RydWN0IGZiX2luZm8gKiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICopOwo+PiA+IAo+PiA+IG1l bWJlciBpbiBzdHJ1Y3QgZmJfaW5mbywgYW5kIHVzaW5nIHRoYXQgaW4gZmJtZW0uYyBpZiBub24t TlVMTCwgd2FzCj4+ID4gYWN0dWFsbHkgbXkgZmlyc3QgaWRlYS4gSSBkaWRuJ3QgdGhpbmsgaXQg d2FzIHBhcnRpY3VsYXJseSBwcmV0dHksIGJ1dAo+PiA+IGlmIHdlIGRvbid0IGNhcmUgYWJvdXQg YWVzdGhldGljcy4uLgo+PiA+IAo+PiA+IFdvdWxkIHlvdSBsaWtlIHRoYXQgaW5zdGVhZCBvZiB0 aGUgcGF0Y2ggYXQgaGFuZD8KPj4gCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8u Ywo+PiBpbmRleCA4MmMyMGM2MDQ3YjAuLjkyNzVjNmJkNzFkYSAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gQEAgLTIwNiwxMyArMjA2LDExIEBAIHZvaWQgZmJfZGVm ZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gIAo+PiAgCUJVR19PTighZmJk ZWZpbyk7Cj4+ICAJbXV0ZXhfaW5pdCgmZmJkZWZpby0+bG9jayk7Cj4+IC0JaW5mby0+ZmJvcHMt PmZiX21tYXAgPSBmYl9kZWZlcnJlZF9pb19tbWFwOwo+PiAgCUlOSVRfREVMQVlFRF9XT1JLKCZp bmZvLT5kZWZlcnJlZF93b3JrLCBmYl9kZWZlcnJlZF9pb193b3JrKTsKPj4gIAlJTklUX0xJU1Rf SEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiAgCWlmIChmYmRlZmlvLT5kZWxheSA9PSAwKSAv KiBzZXQgYSBkZWZhdWx0IG9mIDEgcyAqLwo+PiAgCQlmYmRlZmlvLT5kZWxheSA9IEhaOwo+PiAg fQo+PiAtRVhQT1JUX1NZTUJPTF9HUEwoZmJfZGVmZXJyZWRfaW9faW5pdCk7Cj4+ICAKPj4gIHZv aWQgZmJfZGVmZXJyZWRfaW9fb3BlbihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPj4gIAkJCSBzdHJ1 Y3QgaW5vZGUgKmlub2RlLAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jb3Jl L2ZibWVtLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJtZW0uYwo+PiBpbmRleCA4NmIw NmE1OTlmOTYuLjZhZjYyN2YyODFjMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9jb3JlL2ZibWVtLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZibWVtLmMK Pj4gQEAgLTEzNDEsNyArMTM0MSwxNiBAQCBmYl9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1 Y3Qgdm1fYXJlYV9zdHJ1Y3QgKiB2bWEpCj4+ICAJCXJldHVybiAtRU5PREVWOwo+PiAgCWZiID0g aW5mby0+ZmJvcHM7Cj4+ICAJbXV0ZXhfbG9jaygmaW5mby0+bW1fbG9jayk7Cj4+IC0JaWYgKGZi LT5mYl9tbWFwKSB7Cj4+ICsJaWYgKGZiLT5mYmRlZmlvKSB7Cj4+ICsJCS8qCj4+ICsJCSAqIFRo ZSBmcmFtZWJ1ZmZlciBuZWVkcyB0byBiZSBhY2Nlc3NlZCBkZWNyeXB0ZWQsIGJlIHN1cmUKPj4g KwkJICogU01FIHByb3RlY3Rpb24gaXMgcmVtb3ZlZCBhaGVhZCBvZiB0aGUgY2FsbAo+PiArCQkg Ki8KPj4gKwkJdm1hLT52bV9wYWdlX3Byb3QgPSBwZ3Byb3RfZGVjcnlwdGVkKHZtYS0+dm1fcGFn ZV9wcm90KTsKPj4gKwkJcmVzID0gZmJfZGVmZXJyZWRfaW9fbW1hcChpbmZvLCB2bWEpOwo+PiAr CQltdXRleF91bmxvY2soJmluZm8tPm1tX2xvY2spOwo+PiArCQlyZXR1cm4gcmVzOwo+PiArCX0g ZWxzZSBpZiAoZmItPmZiX21tYXApIHsKPj4gIAkJaW50IHJlczsKPj4gIAo+PiAgCQkvKgo+PiAK Pj4gSXMgd2hhdCBJIHdhcyB0aGlua2luZyBvZmYgYXMgdGhlIHByZXR0eSBzb2x1dGlvbi4gQWRk IGFuIGV4cGxpY2l0Cj4+IGZiX2luZm8tPmZiZGVmaW9fZW5hYmxlZCBib29sZWFuIGlmIHlvdSBk b24ndCBmZWVsIGxpa2UgYXVkaXRpbmcgYWxsIHRoZQo+PiBkcml2ZXJzIGZvciB3aGV0aGVyIHRo ZXkgcmVhbGx5IGNhbGwgZGVmaW9faW5pdCgpIGV2ZXJ5IHRpbWUgdGhleSBhc3NpZ24KPj4gc29t ZXRoaW5nIHRvIHRoYXQgcG9pbnRlci4gQSBxdWljayBzY2FuIGJyb3VnaHQgc29tZSBuYXN0aWVz IHRvIGxpZ2h0IGluCj4+IHRoYXQgYXJlYS4KPgo+IENvcnJlY3Rpb24sIGJyYWluIHdhc24ndCBh d2FrZSB5ZXQsIEkndmUgZG9uZSB0aGUgYXVkaXQgYW5kIHRoZSBhYm92ZSBkaWZmCj4gc2hvdWxk IHdvcmsgYWZhaWN0LgoKSXQganVzdCBmZWx0IHNrZXRjaHkgdG8gbWUgdG8gZGVwZW5kIG9uIHRo YXQgcG9pbnRlciBiZWluZyBzZXQgYXMgdGhlCmRlY2lkZXIsIGluZGVwZW5kZW50IG9mIGRlZmlv IGluaXQuIEJ1dCBpZiB5b3UgdGhpbmsgdGhhdCdzIHRoZSB3YXkgdG8KZ28sIEknbSBub3QgZ29p bmcgdG8gYXJndWUuIEknbGwgYmV0IGl0IHdvbid0IGdvIHVubm90aWNlZCBpZgpmYl9kZWZlcnJl ZF9pb19tbWFwKCkgZ2V0cyBjYWxsZWQgd2l0aG91dCB0aGUgaW5pdC4gOykKCkJSLApKYW5pLgoK Cgo+IC1EYW5pZWwKPgo+PiAKPj4gSSB0aGluayBhIGZ1bmN0aW9uIHBvaW50ZXIgaGVyZSBpcyBw b2ludGxlc3MgYmVjYXVzZSB3ZSBjbGVhcmx5IGRvbid0IG5lZWQKPj4gaXQsIGFuZCB3aXRoIGFs bCB0aGUgcGFuaWMgYXJvdW5kIGZ1bmN0aW9uIHBvaW50ZXJzIGEgZGlyZWN0IGNhbGwgZmVlbHMK Pj4gbXVjaCBiZXR0ZXIgOi0pCj4+IC1EYW5pZWwKPj4gCj4+ID4gCj4+ID4gQlIsCj4+ID4gSmFu aS4KPj4gPiAKPj4gPiAKPj4gPiA+IC1EYW5pZWwKPj4gPiA+Cj4+ID4gPj4gCj4+ID4gPj4gVGhh dCB2ZXJzaW9uIHdvdWxkIGFsc28gZ2V0IG15IHItYiBzdGFtcC4gU28gdXAgdG8geW91IHdoYXQg eW91IHByZWZlci4KPj4gPiA+PiAtRGFuaWVsCj4+ID4gPj4gCj4+ID4gPj4gPiAtLS0KPj4gPiA+ PiA+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8uYyB8IDI1ICsrKysrKysrKysr KysrKysrKysrKystLS0KPj4gPiA+PiA+ICBpbmNsdWRlL2xpbnV4L2ZiLmggICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+PiA+ID4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKPj4gPiA+PiA+IAo+PiA+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3Jl L2ZiX2RlZmlvLmMKPj4gPiA+PiA+IGluZGV4IDgyYzIwYzYwNDdiMC4uMzY2OTc4NDRjMWUwIDEw MDY0NAo+PiA+ID4+ID4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMK Pj4gPiA+PiA+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jCj4+ID4g Pj4gPiBAQCAtMjAwLDEzICsyMDAsMjMgQEAgc3RhdGljIHZvaWQgZmJfZGVmZXJyZWRfaW9fd29y ayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ID4gPj4gPiAgCW11dGV4X3VubG9jaygmZmJk ZWZpby0+bG9jayk7Cj4+ID4gPj4gPiAgfQo+PiA+ID4+ID4gIAo+PiA+ID4+ID4gLXZvaWQgZmJf ZGVmZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gPiA+PiA+ICtpbnQgZmJf ZGVmZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gPiA+PiA+ICB7Cj4+ID4g Pj4gPiAgCXN0cnVjdCBmYl9kZWZlcnJlZF9pbyAqZmJkZWZpbyA9IGluZm8tPmZiZGVmaW87Cj4+ ID4gPj4gPiArCXN0cnVjdCBmYl9vcHMgKmZib3BzOwo+PiA+ID4+ID4gIAo+PiA+ID4+ID4gIAlC VUdfT04oIWZiZGVmaW8pOwo+PiA+ID4+ID4gKwo+PiA+ID4+ID4gKwlmYm9wcyA9IGttZW1kdXAo aW5mby0+ZmJvcHMsIHNpemVvZigqZmJvcHMpLCBHRlBfS0VSTkVMKTsKPj4gPiA+PiA+ICsJaWYg KCFmYm9wcykKPj4gPiA+PiA+ICsJCXJldHVybiAtRU5PTUVNOwo+PiA+ID4+ID4gKwo+PiA+ID4+ ID4gKwlmYm9wcy0+ZmJfbW1hcCA9IGZiX2RlZmVycmVkX2lvX21tYXA7Cj4+ID4gPj4gPiArCWlu Zm8tPmRlZmVycmVkX2lvX3ByaXZhdGUgPSBpbmZvLT5mYm9wczsKPj4gPiA+PiA+ICsJaW5mby0+ ZmJvcHMgPSBmYm9wczsKPj4gPiA+PiA+ICsKPj4gPiA+PiA+ICAJbXV0ZXhfaW5pdCgmZmJkZWZp by0+bG9jayk7Cj4+ID4gPj4gPiAtCWluZm8tPmZib3BzLT5mYl9tbWFwID0gZmJfZGVmZXJyZWRf aW9fbW1hcDsKPj4gPiA+PiA+ICsKPj4gPiA+PiA+ICAJSU5JVF9ERUxBWUVEX1dPUksoJmluZm8t PmRlZmVycmVkX3dvcmssIGZiX2RlZmVycmVkX2lvX3dvcmspOwo+PiA+ID4+ID4gIAlJTklUX0xJ U1RfSEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiA+ID4+ID4gIAlpZiAoZmJkZWZpby0+ZGVs YXkgPT0gMCkgLyogc2V0IGEgZGVmYXVsdCBvZiAxIHMgKi8KPj4gPiA+PiA+IEBAIC0yMjksNiAr MjM5LDEyIEBAIHZvaWQgZmJfZGVmZXJyZWRfaW9fY2xlYW51cChzdHJ1Y3QgZmJfaW5mbyAqaW5m bykKPj4gPiA+PiA+ICAJaW50IGk7Cj4+ID4gPj4gPiAgCj4+ID4gPj4gPiAgCUJVR19PTighZmJk ZWZpbyk7Cj4+ID4gPj4gPiArCj4+ID4gPj4gPiArCS8qIHNhbml0eSBjaGVjayBhZ2FpbnN0IG1p c3VzZSAqLwo+PiA+ID4+ID4gKwlpZiAoV0FSTl9PTighaW5mby0+ZGVmZXJyZWRfaW9fcHJpdmF0 ZSB8fAo+PiA+ID4+ID4gKwkJICAgIGluZm8tPmZib3BzLT5mYl9tbWFwICE9IGZiX2RlZmVycmVk X2lvX21tYXApKQo+PiA+ID4+ID4gKwkJcmV0dXJuOwo+PiA+ID4+ID4gKwo+PiA+ID4+ID4gIAlj YW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmRlZmVycmVkX3dvcmspOwo+PiA+ID4+ID4g IAo+PiA+ID4+ID4gIAkvKiBjbGVhciBvdXQgdGhlIG1hcHBpbmcgdGhhdCB3ZSBzZXR1cCAqLwo+ PiA+ID4+ID4gQEAgLTIzNyw3ICsyNTMsMTAgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVw KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ID4+ID4gIAkJcGFnZS0+bWFwcGluZyA9IE5VTEw7 Cj4+ID4gPj4gPiAgCX0KPj4gPiA+PiA+ICAKPj4gPiA+PiA+IC0JaW5mby0+ZmJvcHMtPmZiX21t YXAgPSBOVUxMOwo+PiA+ID4+ID4gKwlrZnJlZShpbmZvLT5mYm9wcyk7Cj4+ID4gPj4gPiArCWlu Zm8tPmZib3BzID0gaW5mby0+ZGVmZXJyZWRfaW9fcHJpdmF0ZTsKPj4gPiA+PiA+ICsJaW5mby0+ ZGVmZXJyZWRfaW9fcHJpdmF0ZSA9IE5VTEw7Cj4+ID4gPj4gPiArCj4+ID4gPj4gPiAgCW11dGV4 X2Rlc3Ryb3koJmZiZGVmaW8tPmxvY2spOwo+PiA+ID4+ID4gIH0KPj4gPiA+PiA+ICBFWFBPUlRf U1lNQk9MX0dQTChmYl9kZWZlcnJlZF9pb19jbGVhbnVwKTsKPj4gPiA+PiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiA+PiA+IGluZGV4 IGE2YWQ1Mjg5OTBkZS4uNjVmMmFiZDQ3NzQ1IDEwMDY0NAo+PiA+ID4+ID4gLS0tIGEvaW5jbHVk ZS9saW51eC9mYi5oCj4+ID4gPj4gPiArKysgYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiA+PiA+ IEBAIC00NzAsNiArNDcwLDcgQEAgc3RydWN0IGZiX2luZm8gewo+PiA+ID4+ID4gICNpZmRlZiBD T05GSUdfRkJfREVGRVJSRURfSU8KPj4gPiA+PiA+ICAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWZl cnJlZF93b3JrOwo+PiA+ID4+ID4gIAlzdHJ1Y3QgZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW87Cj4+ ID4gPj4gPiArCXZvaWQgKmRlZmVycmVkX2lvX3ByaXZhdGU7Cj4+ID4gPj4gPiAgI2VuZGlmCj4+ ID4gPj4gPiAgCj4+ID4gPj4gPiAgCXN0cnVjdCBmYl9vcHMgKmZib3BzOwo+PiA+ID4+ID4gQEAg LTY1OCw3ICs2NTksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mYl9wYWRfYWxpZ25lZF9idWZm ZXIodTggKmRzdCwgdTMyIGRfcGl0Y2gsCj4+ID4gPj4gPiAgCj4+ID4gPj4gPiAgLyogZHJpdmVy cy92aWRlby9mYl9kZWZpby5jICovCj4+ID4gPj4gPiAgaW50IGZiX2RlZmVycmVkX2lvX21tYXAo c3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPj4gPiA+ PiA+IC1leHRlcm4gdm9pZCBmYl9kZWZlcnJlZF9pb19pbml0KHN0cnVjdCBmYl9pbmZvICppbmZv KTsKPj4gPiA+PiA+ICtleHRlcm4gaW50IGZiX2RlZmVycmVkX2lvX2luaXQoc3RydWN0IGZiX2lu Zm8gKmluZm8pOwo+PiA+ID4+ID4gIGV4dGVybiB2b2lkIGZiX2RlZmVycmVkX2lvX29wZW4oc3Ry dWN0IGZiX2luZm8gKmluZm8sCj4+ID4gPj4gPiAgCQkJCXN0cnVjdCBpbm9kZSAqaW5vZGUsCj4+ ID4gPj4gPiAgCQkJCXN0cnVjdCBmaWxlICpmaWxlKTsKPj4gPiA+PiA+IC0tIAo+PiA+ID4+ID4g Mi4yMC4xCj4+ID4gPj4gPiAKPj4gPiA+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4+ID4gPj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4g Pj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gPj4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PiA+ID4+IAo+ PiA+ID4+IC0tIAo+PiA+ID4+IERhbmllbCBWZXR0ZXIKPj4gPiA+PiBTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KPj4gPiA+PiBodHRwOi8vYmxvZy5mZndsbC5jaAo+PiA+IAo+ PiA+IC0tIAo+PiA+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50 ZXIKPj4gCj4+IC0tIAo+PiBEYW5pZWwgVmV0dGVyCj4+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgo+PiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCkphbmkgTmlrdWxhLCBJ bnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3BD24C432C0 for ; Thu, 28 Nov 2019 10:34:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A76B21774 for ; Thu, 28 Nov 2019 10:34:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A76B21774 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D09CC6E79C; Thu, 28 Nov 2019 10:34:47 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 872256E79B; Thu, 28 Nov 2019 10:34:46 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 02:34:45 -0800 X-IronPort-AV: E=Sophos;i="5.69,253,1571727600"; d="scan'208";a="203396712" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 02:34:43 -0800 From: Jani Nikula To: Daniel Vetter In-Reply-To: <20191128100809.GP406127@phenom.ffwll.local> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <448995ffd954e0cd2287089cb686e351cc095834.1574871797.git.jani.nikula@intel.com> <20191127181741.GG406127@phenom.ffwll.local> <20191127182105.GJ406127@phenom.ffwll.local> <87fti8nz8l.fsf@intel.com> <20191128100557.GO406127@phenom.ffwll.local> <20191128100809.GP406127@phenom.ffwll.local> Date: Thu, 28 Nov 2019 12:34:40 +0200 Message-ID: <871rtsnvb3.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 01/13] video: fb_defio: preserve user fb_ops X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jaya Kumar Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191128103440.FbgEkLH_S21LStOUyY53CNZJD_CKvltOguxTNNvjcpA@z> T24gVGh1LCAyOCBOb3YgMjAxOSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBUaHUsIE5vdiAyOCwgMjAxOSBhdCAxMTowNTo1N0FNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+PiBPbiBUaHUsIE5vdiAyOCwgMjAxOSBhdCAxMTowOTo0NkFNICswMjAwLCBK YW5pIE5pa3VsYSB3cm90ZToKPj4gPiBPbiBXZWQsIDI3IE5vdiAyMDE5LCBEYW5pZWwgVmV0dGVy IDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+PiA+ID4gT24gV2VkLCBOb3YgMjcsIDIwMTkgYXQg MDc6MTc6NDFQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4gPiA+PiBPbiBXZWQsIE5v diAyNywgMjAxOSBhdCAwNjozMTo1N1BNICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4gPiA+ PiA+IE1vZGlmeWluZyBmYl9vcHMgZGlyZWN0bHkgdG8gb3ZlcnJpZGUgZmJfbW1hcCB3aXRoIGZi X2RlZmVycmVkX2lvX21tYXAKPj4gPiA+PiA+IGFuZCB0aGVuIHJlc2V0dGluZyBpdCB0byBOVUxM IGFmdGVyd2FyZHMgY2F1c2VzIHByb2JsZW1zIGFsbCBvdmVyIHRoZQo+PiA+ID4+ID4gcGxhY2Uu IEZpcnN0LCBpdCBwcmV2ZW50cyBtYWtpbmcgdGhlIGZib3BzIG1lbWJlciBvZiBzdHJ1Y3QgZmJf aW5mbyBhCj4+ID4gPj4gPiBjb25zdCBwb2ludGVyLCB3aGljaCBtZWFucyB3ZSBjYW4ndCBtYWtl IHN0cnVjdCBmYl9vcHMgY29uc3QKPj4gPiA+PiA+IGFueXdoZXJlLiBTZWNvbmQsIGEgZmV3IHBs YWNlcyBoYXZlIHRvIGdvIG91dCBvZiB0aGVpciB3YXkgdG8gcmVzdG9yZQo+PiA+ID4+ID4gdGhl IG9yaWdpbmFsIGZiX21tYXAgcG9pbnRlciB0aGF0IGdldHMgcmVzZXQgdG8gTlVMTC4KPj4gPiA+ PiA+IAo+PiA+ID4+ID4gUHJlc2VydmUgdGhlIHBhc3NlZCBpbiBmYl9vcHMgYnkgbWFraW5nIGEg Y29weSBvZiBpdCBhbmQgbW9kaWZ5aW5nIHRoYXQKPj4gPiA+PiA+IGluc3RlYWQuIEFkZCBhIGRl ZmVycmVkX2lvX3ByaXZhdGUgbWVtYmVyIHRvIHN0cnVjdCBmYl9pbmZvIHRvIHN0b3JlIHRoZQo+ PiA+ID4+ID4gcG9pbnRlciB0byB0aGUgb2xkIGZiX29wcywgYW5kIHJlc3RvcmUgdGhhdCBhdCBj bGVhbnVwLgo+PiA+ID4+ID4gCj4+ID4gPj4gPiBDYzogSmF5YSBLdW1hciA8amF5YWxrQGludHdv cmtzLmJpej4KPj4gPiA+PiA+IENjOiBsaW51eC1mYmRldkB2Z2VyLmtlcm5lbC5vcmcKPj4gPiA+ PiA+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+ ID4gPj4gPiAKPj4gPiA+PiA+IC0tLQo+PiA+ID4+ID4gCj4+ID4gPj4gPiBOb3RlOiBJZiB0aGUg YXBwcm9hY2ggaXMgYWNjZXB0YWJsZSwgd2UnbGwgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgZXJy b3IKPj4gPiA+PiA+IHJldHVybnMgb24gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZXMgYXQgZmJf ZGVmZXJyZWRfaW9faW5pdCgpIGNhbGwKPj4gPiA+PiA+IHNpdGVzLiBUaGVyZSBhcmUgMTMuCj4+ ID4gPj4gCj4+ID4gPj4gaXQncyBmYmRldiBkZWZpbywgSSB0aGluayB3ZSBjYW4gZG8gd29yc2Ug d2l0aCBsZXNzIGVmZm9ydC4gSnVzdCBlbWJlZCBhCj4+ID4gPj4gY29weSBvZiBmYl9vcHMgaW50 byBmYl9pbmZvLCBhbmQgdXNlIHRoYXQsIGFuZCB0YWRhISBubyBtZW1vcnkgYWxsb2NhdGlvbgo+ PiA+ID4+IG5lZWRlZCA6LSkKPj4gPiA+PiAKPj4gPiA+PiBJJ2QgdG90YWxseSByLWIgdGhhdCBw YXRjaC4KPj4gPiA+PiAKPj4gPiA+PiBPciBkbyB3aGF0IFZpbGxlIHN1Z2dlc3RlZCwgYWRkIGFu IGZiX2luZm8tPmZiZGVmaW8uZW5hYmxlZCwgc2V0IHRoYXQgaW4KPj4gPiA+PiB0aGUgX2luaXQg ZnVuY3Rpb24gYW5kIGluIGZiX21tYXAgY2FsbCBmYl9kZWZlcnJlZF9pb19tbWFwIGZvciB0aGF0 IGNhc2UKPj4gPiA+PiBpbnN0ZWFkIG9mIHRoZSBkcml2ZXIncyBmYl9vcHMtPmZiX21tYXAuIFRo ZXJlJ3Mgb25seSBvbmUgY2FsbGVyIG9mIHRoYXQKPj4gPiA+PiBpbiB0aGUgZW50aXJlIHRyZWUs IGluIGZibWVtLmMuIEFsc28sIHdlIGNvdWxkL3Nob3VsZCBudWtlIHRoZQo+PiA+ID4+IEVYUE9S VF9TWU1CT0woZmJfZGVmZXJyZWRfaW9fbW1hcCkgSSB0aGluay4KPj4gPiA+Cj4+ID4gPiBJIGp1 c3QgcmVhbGl6ZWQgdGhhdCBmYl9pbmZvLT5mYmRlZmlvIGlzIGEgcG9pbnRlciwgc28gdGhpcyB3 b3VsZCBiZQo+PiA+ID4gcmVhbGx5IHNpbXBsZSB0byBwdWxsIG9mZiBJIHRoaW5rLgo+PiA+IAo+ PiA+IEhlaCwgaGF2aW5nIGEKPj4gPiAKPj4gPiAJaW50ICgqZmJfZGVmZXJyZWRfaW9fbW1hcCko c3RydWN0IGZiX2luZm8gKiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICopOwo+PiA+IAo+PiA+IG1l bWJlciBpbiBzdHJ1Y3QgZmJfaW5mbywgYW5kIHVzaW5nIHRoYXQgaW4gZmJtZW0uYyBpZiBub24t TlVMTCwgd2FzCj4+ID4gYWN0dWFsbHkgbXkgZmlyc3QgaWRlYS4gSSBkaWRuJ3QgdGhpbmsgaXQg d2FzIHBhcnRpY3VsYXJseSBwcmV0dHksIGJ1dAo+PiA+IGlmIHdlIGRvbid0IGNhcmUgYWJvdXQg YWVzdGhldGljcy4uLgo+PiA+IAo+PiA+IFdvdWxkIHlvdSBsaWtlIHRoYXQgaW5zdGVhZCBvZiB0 aGUgcGF0Y2ggYXQgaGFuZD8KPj4gCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8u Ywo+PiBpbmRleCA4MmMyMGM2MDQ3YjAuLjkyNzVjNmJkNzFkYSAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gQEAgLTIwNiwxMyArMjA2LDExIEBAIHZvaWQgZmJfZGVm ZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gIAo+PiAgCUJVR19PTighZmJk ZWZpbyk7Cj4+ICAJbXV0ZXhfaW5pdCgmZmJkZWZpby0+bG9jayk7Cj4+IC0JaW5mby0+ZmJvcHMt PmZiX21tYXAgPSBmYl9kZWZlcnJlZF9pb19tbWFwOwo+PiAgCUlOSVRfREVMQVlFRF9XT1JLKCZp bmZvLT5kZWZlcnJlZF93b3JrLCBmYl9kZWZlcnJlZF9pb193b3JrKTsKPj4gIAlJTklUX0xJU1Rf SEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiAgCWlmIChmYmRlZmlvLT5kZWxheSA9PSAwKSAv KiBzZXQgYSBkZWZhdWx0IG9mIDEgcyAqLwo+PiAgCQlmYmRlZmlvLT5kZWxheSA9IEhaOwo+PiAg fQo+PiAtRVhQT1JUX1NZTUJPTF9HUEwoZmJfZGVmZXJyZWRfaW9faW5pdCk7Cj4+ICAKPj4gIHZv aWQgZmJfZGVmZXJyZWRfaW9fb3BlbihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPj4gIAkJCSBzdHJ1 Y3QgaW5vZGUgKmlub2RlLAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9jb3Jl L2ZibWVtLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJtZW0uYwo+PiBpbmRleCA4NmIw NmE1OTlmOTYuLjZhZjYyN2YyODFjMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRl di9jb3JlL2ZibWVtLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZibWVtLmMK Pj4gQEAgLTEzNDEsNyArMTM0MSwxNiBAQCBmYl9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1 Y3Qgdm1fYXJlYV9zdHJ1Y3QgKiB2bWEpCj4+ICAJCXJldHVybiAtRU5PREVWOwo+PiAgCWZiID0g aW5mby0+ZmJvcHM7Cj4+ICAJbXV0ZXhfbG9jaygmaW5mby0+bW1fbG9jayk7Cj4+IC0JaWYgKGZi LT5mYl9tbWFwKSB7Cj4+ICsJaWYgKGZiLT5mYmRlZmlvKSB7Cj4+ICsJCS8qCj4+ICsJCSAqIFRo ZSBmcmFtZWJ1ZmZlciBuZWVkcyB0byBiZSBhY2Nlc3NlZCBkZWNyeXB0ZWQsIGJlIHN1cmUKPj4g KwkJICogU01FIHByb3RlY3Rpb24gaXMgcmVtb3ZlZCBhaGVhZCBvZiB0aGUgY2FsbAo+PiArCQkg Ki8KPj4gKwkJdm1hLT52bV9wYWdlX3Byb3QgPSBwZ3Byb3RfZGVjcnlwdGVkKHZtYS0+dm1fcGFn ZV9wcm90KTsKPj4gKwkJcmVzID0gZmJfZGVmZXJyZWRfaW9fbW1hcChpbmZvLCB2bWEpOwo+PiAr CQltdXRleF91bmxvY2soJmluZm8tPm1tX2xvY2spOwo+PiArCQlyZXR1cm4gcmVzOwo+PiArCX0g ZWxzZSBpZiAoZmItPmZiX21tYXApIHsKPj4gIAkJaW50IHJlczsKPj4gIAo+PiAgCQkvKgo+PiAK Pj4gSXMgd2hhdCBJIHdhcyB0aGlua2luZyBvZmYgYXMgdGhlIHByZXR0eSBzb2x1dGlvbi4gQWRk IGFuIGV4cGxpY2l0Cj4+IGZiX2luZm8tPmZiZGVmaW9fZW5hYmxlZCBib29sZWFuIGlmIHlvdSBk b24ndCBmZWVsIGxpa2UgYXVkaXRpbmcgYWxsIHRoZQo+PiBkcml2ZXJzIGZvciB3aGV0aGVyIHRo ZXkgcmVhbGx5IGNhbGwgZGVmaW9faW5pdCgpIGV2ZXJ5IHRpbWUgdGhleSBhc3NpZ24KPj4gc29t ZXRoaW5nIHRvIHRoYXQgcG9pbnRlci4gQSBxdWljayBzY2FuIGJyb3VnaHQgc29tZSBuYXN0aWVz IHRvIGxpZ2h0IGluCj4+IHRoYXQgYXJlYS4KPgo+IENvcnJlY3Rpb24sIGJyYWluIHdhc24ndCBh d2FrZSB5ZXQsIEkndmUgZG9uZSB0aGUgYXVkaXQgYW5kIHRoZSBhYm92ZSBkaWZmCj4gc2hvdWxk IHdvcmsgYWZhaWN0LgoKSXQganVzdCBmZWx0IHNrZXRjaHkgdG8gbWUgdG8gZGVwZW5kIG9uIHRo YXQgcG9pbnRlciBiZWluZyBzZXQgYXMgdGhlCmRlY2lkZXIsIGluZGVwZW5kZW50IG9mIGRlZmlv IGluaXQuIEJ1dCBpZiB5b3UgdGhpbmsgdGhhdCdzIHRoZSB3YXkgdG8KZ28sIEknbSBub3QgZ29p bmcgdG8gYXJndWUuIEknbGwgYmV0IGl0IHdvbid0IGdvIHVubm90aWNlZCBpZgpmYl9kZWZlcnJl ZF9pb19tbWFwKCkgZ2V0cyBjYWxsZWQgd2l0aG91dCB0aGUgaW5pdC4gOykKCkJSLApKYW5pLgoK Cgo+IC1EYW5pZWwKPgo+PiAKPj4gSSB0aGluayBhIGZ1bmN0aW9uIHBvaW50ZXIgaGVyZSBpcyBw b2ludGxlc3MgYmVjYXVzZSB3ZSBjbGVhcmx5IGRvbid0IG5lZWQKPj4gaXQsIGFuZCB3aXRoIGFs bCB0aGUgcGFuaWMgYXJvdW5kIGZ1bmN0aW9uIHBvaW50ZXJzIGEgZGlyZWN0IGNhbGwgZmVlbHMK Pj4gbXVjaCBiZXR0ZXIgOi0pCj4+IC1EYW5pZWwKPj4gCj4+ID4gCj4+ID4gQlIsCj4+ID4gSmFu aS4KPj4gPiAKPj4gPiAKPj4gPiA+IC1EYW5pZWwKPj4gPiA+Cj4+ID4gPj4gCj4+ID4gPj4gVGhh dCB2ZXJzaW9uIHdvdWxkIGFsc28gZ2V0IG15IHItYiBzdGFtcC4gU28gdXAgdG8geW91IHdoYXQg eW91IHByZWZlci4KPj4gPiA+PiAtRGFuaWVsCj4+ID4gPj4gCj4+ID4gPj4gPiAtLS0KPj4gPiA+ PiA+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8uYyB8IDI1ICsrKysrKysrKysr KysrKysrKysrKystLS0KPj4gPiA+PiA+ICBpbmNsdWRlL2xpbnV4L2ZiLmggICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+PiA+ID4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKPj4gPiA+PiA+IAo+PiA+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jIGIvZHJpdmVycy92aWRlby9mYmRldi9jb3Jl L2ZiX2RlZmlvLmMKPj4gPiA+PiA+IGluZGV4IDgyYzIwYzYwNDdiMC4uMzY2OTc4NDRjMWUwIDEw MDY0NAo+PiA+ID4+ID4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMK Pj4gPiA+PiA+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jCj4+ID4g Pj4gPiBAQCAtMjAwLDEzICsyMDAsMjMgQEAgc3RhdGljIHZvaWQgZmJfZGVmZXJyZWRfaW9fd29y ayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ID4gPj4gPiAgCW11dGV4X3VubG9jaygmZmJk ZWZpby0+bG9jayk7Cj4+ID4gPj4gPiAgfQo+PiA+ID4+ID4gIAo+PiA+ID4+ID4gLXZvaWQgZmJf ZGVmZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gPiA+PiA+ICtpbnQgZmJf ZGVmZXJyZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPj4gPiA+PiA+ICB7Cj4+ID4g Pj4gPiAgCXN0cnVjdCBmYl9kZWZlcnJlZF9pbyAqZmJkZWZpbyA9IGluZm8tPmZiZGVmaW87Cj4+ ID4gPj4gPiArCXN0cnVjdCBmYl9vcHMgKmZib3BzOwo+PiA+ID4+ID4gIAo+PiA+ID4+ID4gIAlC VUdfT04oIWZiZGVmaW8pOwo+PiA+ID4+ID4gKwo+PiA+ID4+ID4gKwlmYm9wcyA9IGttZW1kdXAo aW5mby0+ZmJvcHMsIHNpemVvZigqZmJvcHMpLCBHRlBfS0VSTkVMKTsKPj4gPiA+PiA+ICsJaWYg KCFmYm9wcykKPj4gPiA+PiA+ICsJCXJldHVybiAtRU5PTUVNOwo+PiA+ID4+ID4gKwo+PiA+ID4+ ID4gKwlmYm9wcy0+ZmJfbW1hcCA9IGZiX2RlZmVycmVkX2lvX21tYXA7Cj4+ID4gPj4gPiArCWlu Zm8tPmRlZmVycmVkX2lvX3ByaXZhdGUgPSBpbmZvLT5mYm9wczsKPj4gPiA+PiA+ICsJaW5mby0+ ZmJvcHMgPSBmYm9wczsKPj4gPiA+PiA+ICsKPj4gPiA+PiA+ICAJbXV0ZXhfaW5pdCgmZmJkZWZp by0+bG9jayk7Cj4+ID4gPj4gPiAtCWluZm8tPmZib3BzLT5mYl9tbWFwID0gZmJfZGVmZXJyZWRf aW9fbW1hcDsKPj4gPiA+PiA+ICsKPj4gPiA+PiA+ICAJSU5JVF9ERUxBWUVEX1dPUksoJmluZm8t PmRlZmVycmVkX3dvcmssIGZiX2RlZmVycmVkX2lvX3dvcmspOwo+PiA+ID4+ID4gIAlJTklUX0xJ U1RfSEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiA+ID4+ID4gIAlpZiAoZmJkZWZpby0+ZGVs YXkgPT0gMCkgLyogc2V0IGEgZGVmYXVsdCBvZiAxIHMgKi8KPj4gPiA+PiA+IEBAIC0yMjksNiAr MjM5LDEyIEBAIHZvaWQgZmJfZGVmZXJyZWRfaW9fY2xlYW51cChzdHJ1Y3QgZmJfaW5mbyAqaW5m bykKPj4gPiA+PiA+ICAJaW50IGk7Cj4+ID4gPj4gPiAgCj4+ID4gPj4gPiAgCUJVR19PTighZmJk ZWZpbyk7Cj4+ID4gPj4gPiArCj4+ID4gPj4gPiArCS8qIHNhbml0eSBjaGVjayBhZ2FpbnN0IG1p c3VzZSAqLwo+PiA+ID4+ID4gKwlpZiAoV0FSTl9PTighaW5mby0+ZGVmZXJyZWRfaW9fcHJpdmF0 ZSB8fAo+PiA+ID4+ID4gKwkJICAgIGluZm8tPmZib3BzLT5mYl9tbWFwICE9IGZiX2RlZmVycmVk X2lvX21tYXApKQo+PiA+ID4+ID4gKwkJcmV0dXJuOwo+PiA+ID4+ID4gKwo+PiA+ID4+ID4gIAlj YW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmRlZmVycmVkX3dvcmspOwo+PiA+ID4+ID4g IAo+PiA+ID4+ID4gIAkvKiBjbGVhciBvdXQgdGhlIG1hcHBpbmcgdGhhdCB3ZSBzZXR1cCAqLwo+ PiA+ID4+ID4gQEAgLTIzNyw3ICsyNTMsMTAgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVw KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ID4+ID4gIAkJcGFnZS0+bWFwcGluZyA9IE5VTEw7 Cj4+ID4gPj4gPiAgCX0KPj4gPiA+PiA+ICAKPj4gPiA+PiA+IC0JaW5mby0+ZmJvcHMtPmZiX21t YXAgPSBOVUxMOwo+PiA+ID4+ID4gKwlrZnJlZShpbmZvLT5mYm9wcyk7Cj4+ID4gPj4gPiArCWlu Zm8tPmZib3BzID0gaW5mby0+ZGVmZXJyZWRfaW9fcHJpdmF0ZTsKPj4gPiA+PiA+ICsJaW5mby0+ ZGVmZXJyZWRfaW9fcHJpdmF0ZSA9IE5VTEw7Cj4+ID4gPj4gPiArCj4+ID4gPj4gPiAgCW11dGV4 X2Rlc3Ryb3koJmZiZGVmaW8tPmxvY2spOwo+PiA+ID4+ID4gIH0KPj4gPiA+PiA+ICBFWFBPUlRf U1lNQk9MX0dQTChmYl9kZWZlcnJlZF9pb19jbGVhbnVwKTsKPj4gPiA+PiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiA+PiA+IGluZGV4 IGE2YWQ1Mjg5OTBkZS4uNjVmMmFiZDQ3NzQ1IDEwMDY0NAo+PiA+ID4+ID4gLS0tIGEvaW5jbHVk ZS9saW51eC9mYi5oCj4+ID4gPj4gPiArKysgYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiA+PiA+ IEBAIC00NzAsNiArNDcwLDcgQEAgc3RydWN0IGZiX2luZm8gewo+PiA+ID4+ID4gICNpZmRlZiBD T05GSUdfRkJfREVGRVJSRURfSU8KPj4gPiA+PiA+ICAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWZl cnJlZF93b3JrOwo+PiA+ID4+ID4gIAlzdHJ1Y3QgZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW87Cj4+ ID4gPj4gPiArCXZvaWQgKmRlZmVycmVkX2lvX3ByaXZhdGU7Cj4+ID4gPj4gPiAgI2VuZGlmCj4+ ID4gPj4gPiAgCj4+ID4gPj4gPiAgCXN0cnVjdCBmYl9vcHMgKmZib3BzOwo+PiA+ID4+ID4gQEAg LTY1OCw3ICs2NTksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mYl9wYWRfYWxpZ25lZF9idWZm ZXIodTggKmRzdCwgdTMyIGRfcGl0Y2gsCj4+ID4gPj4gPiAgCj4+ID4gPj4gPiAgLyogZHJpdmVy cy92aWRlby9mYl9kZWZpby5jICovCj4+ID4gPj4gPiAgaW50IGZiX2RlZmVycmVkX2lvX21tYXAo c3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPj4gPiA+ PiA+IC1leHRlcm4gdm9pZCBmYl9kZWZlcnJlZF9pb19pbml0KHN0cnVjdCBmYl9pbmZvICppbmZv KTsKPj4gPiA+PiA+ICtleHRlcm4gaW50IGZiX2RlZmVycmVkX2lvX2luaXQoc3RydWN0IGZiX2lu Zm8gKmluZm8pOwo+PiA+ID4+ID4gIGV4dGVybiB2b2lkIGZiX2RlZmVycmVkX2lvX29wZW4oc3Ry dWN0IGZiX2luZm8gKmluZm8sCj4+ID4gPj4gPiAgCQkJCXN0cnVjdCBpbm9kZSAqaW5vZGUsCj4+ ID4gPj4gPiAgCQkJCXN0cnVjdCBmaWxlICpmaWxlKTsKPj4gPiA+PiA+IC0tIAo+PiA+ID4+ID4g Mi4yMC4xCj4+ID4gPj4gPiAKPj4gPiA+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4+ID4gPj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+ID4g Pj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gPj4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PiA+ID4+IAo+ PiA+ID4+IC0tIAo+PiA+ID4+IERhbmllbCBWZXR0ZXIKPj4gPiA+PiBTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KPj4gPiA+PiBodHRwOi8vYmxvZy5mZndsbC5jaAo+PiA+IAo+ PiA+IC0tIAo+PiA+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50 ZXIKPj4gCj4+IC0tIAo+PiBEYW5pZWwgVmV0dGVyCj4+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgo+PiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCkphbmkgTmlrdWxhLCBJ bnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4