From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Date: Thu, 28 Nov 2019 09:09:46 +0000 Subject: Re: [Intel-gfx] [PATCH 01/13] video: fb_defio: preserve user fb_ops Message-Id: <87fti8nz8l.fsf@intel.com> List-Id: References: <448995ffd954e0cd2287089cb686e351cc095834.1574871797.git.jani.nikula@intel.com> <20191127181741.GG406127@phenom.ffwll.local> <20191127182105.GJ406127@phenom.ffwll.local> In-Reply-To: <20191127182105.GJ406127@phenom.ffwll.local> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Daniel Vetter Cc: linux-fbdev@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jaya Kumar On Wed, 27 Nov 2019, Daniel Vetter wrote: > On Wed, Nov 27, 2019 at 07:17:41PM +0100, Daniel Vetter wrote: >> On Wed, Nov 27, 2019 at 06:31:57PM +0200, Jani Nikula wrote: >> > Modifying fb_ops directly to override fb_mmap with fb_deferred_io_mmap >> > and then resetting it to NULL afterwards causes problems all over the >> > place. First, it prevents making the fbops member of struct fb_info a >> > const pointer, which means we can't make struct fb_ops const >> > anywhere. Second, a few places have to go out of their way to restore >> > the original fb_mmap pointer that gets reset to NULL. >> > >> > Preserve the passed in fb_ops by making a copy of it and modifying that >> > instead. Add a deferred_io_private member to struct fb_info to store the >> > pointer to the old fb_ops, and restore that at cleanup. >> > >> > Cc: Jaya Kumar >> > Cc: linux-fbdev@vger.kernel.org >> > Signed-off-by: Jani Nikula >> > >> > --- >> > >> > Note: If the approach is acceptable, we'll also need to handle the error >> > returns on memory allocation failures at fb_deferred_io_init() call >> > sites. There are 13. >> >> it's fbdev defio, I think we can do worse with less effort. Just embed a >> copy of fb_ops into fb_info, and use that, and tada! no memory allocation >> needed :-) >> >> I'd totally r-b that patch. >> >> Or do what Ville suggested, add an fb_info->fbdefio.enabled, set that in >> the _init function and in fb_mmap call fb_deferred_io_mmap for that case >> instead of the driver's fb_ops->fb_mmap. There's only one caller of that >> in the entire tree, in fbmem.c. Also, we could/should nuke the >> EXPORT_SYMBOL(fb_deferred_io_mmap) I think. > > I just realized that fb_info->fbdefio is a pointer, so this would be > really simple to pull off I think. Heh, having a int (*fb_deferred_io_mmap)(struct fb_info *, struct vm_area_struct *); member in struct fb_info, and using that in fbmem.c if non-NULL, was actually my first idea. I didn't think it was particularly pretty, but if we don't care about aesthetics... Would you like that instead of the patch at hand? BR, Jani. > -Daniel > >> >> That version would also get my r-b stamp. So up to you what you prefer. >> -Daniel >> >> > --- >> > drivers/video/fbdev/core/fb_defio.c | 25 ++++++++++++++++++++++--- >> > include/linux/fb.h | 3 ++- >> > 2 files changed, 24 insertions(+), 4 deletions(-) >> > >> > diff --git a/drivers/video/fbdev/core/fb_defio.c b/drivers/video/fbdev/core/fb_defio.c >> > index 82c20c6047b0..36697844c1e0 100644 >> > --- a/drivers/video/fbdev/core/fb_defio.c >> > +++ b/drivers/video/fbdev/core/fb_defio.c >> > @@ -200,13 +200,23 @@ static void fb_deferred_io_work(struct work_struct *work) >> > mutex_unlock(&fbdefio->lock); >> > } >> > >> > -void fb_deferred_io_init(struct fb_info *info) >> > +int fb_deferred_io_init(struct fb_info *info) >> > { >> > struct fb_deferred_io *fbdefio = info->fbdefio; >> > + struct fb_ops *fbops; >> > >> > BUG_ON(!fbdefio); >> > + >> > + fbops = kmemdup(info->fbops, sizeof(*fbops), GFP_KERNEL); >> > + if (!fbops) >> > + return -ENOMEM; >> > + >> > + fbops->fb_mmap = fb_deferred_io_mmap; >> > + info->deferred_io_private = info->fbops; >> > + info->fbops = fbops; >> > + >> > mutex_init(&fbdefio->lock); >> > - info->fbops->fb_mmap = fb_deferred_io_mmap; >> > + >> > INIT_DELAYED_WORK(&info->deferred_work, fb_deferred_io_work); >> > INIT_LIST_HEAD(&fbdefio->pagelist); >> > if (fbdefio->delay = 0) /* set a default of 1 s */ >> > @@ -229,6 +239,12 @@ void fb_deferred_io_cleanup(struct fb_info *info) >> > int i; >> > >> > BUG_ON(!fbdefio); >> > + >> > + /* sanity check against misuse */ >> > + if (WARN_ON(!info->deferred_io_private || >> > + info->fbops->fb_mmap != fb_deferred_io_mmap)) >> > + return; >> > + >> > cancel_delayed_work_sync(&info->deferred_work); >> > >> > /* clear out the mapping that we setup */ >> > @@ -237,7 +253,10 @@ void fb_deferred_io_cleanup(struct fb_info *info) >> > page->mapping = NULL; >> > } >> > >> > - info->fbops->fb_mmap = NULL; >> > + kfree(info->fbops); >> > + info->fbops = info->deferred_io_private; >> > + info->deferred_io_private = NULL; >> > + >> > mutex_destroy(&fbdefio->lock); >> > } >> > EXPORT_SYMBOL_GPL(fb_deferred_io_cleanup); >> > diff --git a/include/linux/fb.h b/include/linux/fb.h >> > index a6ad528990de..65f2abd47745 100644 >> > --- a/include/linux/fb.h >> > +++ b/include/linux/fb.h >> > @@ -470,6 +470,7 @@ struct fb_info { >> > #ifdef CONFIG_FB_DEFERRED_IO >> > struct delayed_work deferred_work; >> > struct fb_deferred_io *fbdefio; >> > + void *deferred_io_private; >> > #endif >> > >> > struct fb_ops *fbops; >> > @@ -658,7 +659,7 @@ static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, >> > >> > /* drivers/video/fb_defio.c */ >> > int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma); >> > -extern void fb_deferred_io_init(struct fb_info *info); >> > +extern int fb_deferred_io_init(struct fb_info *info); >> > extern void fb_deferred_io_open(struct fb_info *info, >> > struct inode *inode, >> > struct file *file); >> > -- >> > 2.20.1 >> > >> > _______________________________________________ >> > Intel-gfx mailing list >> > Intel-gfx@lists.freedesktop.org >> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx >> >> -- >> Daniel Vetter >> Software Engineer, Intel Corporation >> http://blog.ffwll.ch -- Jani Nikula, Intel Open Source Graphics Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 01/13] video: fb_defio: preserve user fb_ops Date: Thu, 28 Nov 2019 11:09:46 +0200 Message-ID: <87fti8nz8l.fsf@intel.com> References: <448995ffd954e0cd2287089cb686e351cc095834.1574871797.git.jani.nikula@intel.com> <20191127181741.GG406127@phenom.ffwll.local> <20191127182105.GJ406127@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191127182105.GJ406127@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: linux-fbdev@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jaya Kumar List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAyNyBOb3YgMjAxOSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNzoxNzo0MVBNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+PiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNjozMTo1N1BNICswMjAwLCBK YW5pIE5pa3VsYSB3cm90ZToKPj4gPiBNb2RpZnlpbmcgZmJfb3BzIGRpcmVjdGx5IHRvIG92ZXJy aWRlIGZiX21tYXAgd2l0aCBmYl9kZWZlcnJlZF9pb19tbWFwCj4+ID4gYW5kIHRoZW4gcmVzZXR0 aW5nIGl0IHRvIE5VTEwgYWZ0ZXJ3YXJkcyBjYXVzZXMgcHJvYmxlbXMgYWxsIG92ZXIgdGhlCj4+ ID4gcGxhY2UuIEZpcnN0LCBpdCBwcmV2ZW50cyBtYWtpbmcgdGhlIGZib3BzIG1lbWJlciBvZiBz dHJ1Y3QgZmJfaW5mbyBhCj4+ID4gY29uc3QgcG9pbnRlciwgd2hpY2ggbWVhbnMgd2UgY2FuJ3Qg bWFrZSBzdHJ1Y3QgZmJfb3BzIGNvbnN0Cj4+ID4gYW55d2hlcmUuIFNlY29uZCwgYSBmZXcgcGxh Y2VzIGhhdmUgdG8gZ28gb3V0IG9mIHRoZWlyIHdheSB0byByZXN0b3JlCj4+ID4gdGhlIG9yaWdp bmFsIGZiX21tYXAgcG9pbnRlciB0aGF0IGdldHMgcmVzZXQgdG8gTlVMTC4KPj4gPiAKPj4gPiBQ cmVzZXJ2ZSB0aGUgcGFzc2VkIGluIGZiX29wcyBieSBtYWtpbmcgYSBjb3B5IG9mIGl0IGFuZCBt b2RpZnlpbmcgdGhhdAo+PiA+IGluc3RlYWQuIEFkZCBhIGRlZmVycmVkX2lvX3ByaXZhdGUgbWVt YmVyIHRvIHN0cnVjdCBmYl9pbmZvIHRvIHN0b3JlIHRoZQo+PiA+IHBvaW50ZXIgdG8gdGhlIG9s ZCBmYl9vcHMsIGFuZCByZXN0b3JlIHRoYXQgYXQgY2xlYW51cC4KPj4gPiAKPj4gPiBDYzogSmF5 YSBLdW1hciA8amF5YWxrQGludHdvcmtzLmJpej4KPj4gPiBDYzogbGludXgtZmJkZXZAdmdlci5r ZXJuZWwub3JnCj4+ID4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGlu dGVsLmNvbT4KPj4gPiAKPj4gPiAtLS0KPj4gPiAKPj4gPiBOb3RlOiBJZiB0aGUgYXBwcm9hY2gg aXMgYWNjZXB0YWJsZSwgd2UnbGwgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgZXJyb3IKPj4gPiBy ZXR1cm5zIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmVzIGF0IGZiX2RlZmVycmVkX2lvX2lu aXQoKSBjYWxsCj4+ID4gc2l0ZXMuIFRoZXJlIGFyZSAxMy4KPj4gCj4+IGl0J3MgZmJkZXYgZGVm aW8sIEkgdGhpbmsgd2UgY2FuIGRvIHdvcnNlIHdpdGggbGVzcyBlZmZvcnQuIEp1c3QgZW1iZWQg YQo+PiBjb3B5IG9mIGZiX29wcyBpbnRvIGZiX2luZm8sIGFuZCB1c2UgdGhhdCwgYW5kIHRhZGEh IG5vIG1lbW9yeSBhbGxvY2F0aW9uCj4+IG5lZWRlZCA6LSkKPj4gCj4+IEknZCB0b3RhbGx5IHIt YiB0aGF0IHBhdGNoLgo+PiAKPj4gT3IgZG8gd2hhdCBWaWxsZSBzdWdnZXN0ZWQsIGFkZCBhbiBm Yl9pbmZvLT5mYmRlZmlvLmVuYWJsZWQsIHNldCB0aGF0IGluCj4+IHRoZSBfaW5pdCBmdW5jdGlv biBhbmQgaW4gZmJfbW1hcCBjYWxsIGZiX2RlZmVycmVkX2lvX21tYXAgZm9yIHRoYXQgY2FzZQo+ PiBpbnN0ZWFkIG9mIHRoZSBkcml2ZXIncyBmYl9vcHMtPmZiX21tYXAuIFRoZXJlJ3Mgb25seSBv bmUgY2FsbGVyIG9mIHRoYXQKPj4gaW4gdGhlIGVudGlyZSB0cmVlLCBpbiBmYm1lbS5jLiBBbHNv LCB3ZSBjb3VsZC9zaG91bGQgbnVrZSB0aGUKPj4gRVhQT1JUX1NZTUJPTChmYl9kZWZlcnJlZF9p b19tbWFwKSBJIHRoaW5rLgo+Cj4gSSBqdXN0IHJlYWxpemVkIHRoYXQgZmJfaW5mby0+ZmJkZWZp byBpcyBhIHBvaW50ZXIsIHNvIHRoaXMgd291bGQgYmUKPiByZWFsbHkgc2ltcGxlIHRvIHB1bGwg b2ZmIEkgdGhpbmsuCgpIZWgsIGhhdmluZyBhCgoJaW50ICgqZmJfZGVmZXJyZWRfaW9fbW1hcCko c3RydWN0IGZiX2luZm8gKiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICopOwoKbWVtYmVyIGluIHN0 cnVjdCBmYl9pbmZvLCBhbmQgdXNpbmcgdGhhdCBpbiBmYm1lbS5jIGlmIG5vbi1OVUxMLCB3YXMK YWN0dWFsbHkgbXkgZmlyc3QgaWRlYS4gSSBkaWRuJ3QgdGhpbmsgaXQgd2FzIHBhcnRpY3VsYXJs eSBwcmV0dHksIGJ1dAppZiB3ZSBkb24ndCBjYXJlIGFib3V0IGFlc3RoZXRpY3MuLi4KCldvdWxk IHlvdSBsaWtlIHRoYXQgaW5zdGVhZCBvZiB0aGUgcGF0Y2ggYXQgaGFuZD8KCgpCUiwKSmFuaS4K Cgo+IC1EYW5pZWwKPgo+PiAKPj4gVGhhdCB2ZXJzaW9uIHdvdWxkIGFsc28gZ2V0IG15IHItYiBz dGFtcC4gU28gdXAgdG8geW91IHdoYXQgeW91IHByZWZlci4KPj4gLURhbmllbAo+PiAKPj4gPiAt LS0KPj4gPiAgZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMgfCAyNSArKysrKysr KysrKysrKysrKysrKysrLS0tCj4+ID4gIGluY2x1ZGUvbGludXgvZmIuaCAgICAgICAgICAgICAg ICAgIHwgIDMgKystCj4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKPj4gPiAKPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8uYwo+PiA+ IGluZGV4IDgyYzIwYzYwNDdiMC4uMzY2OTc4NDRjMWUwIDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jCj4+ID4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gPiBAQCAtMjAwLDEzICsyMDAsMjMgQEAgc3RhdGljIHZv aWQgZmJfZGVmZXJyZWRfaW9fd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ID4gIAlt dXRleF91bmxvY2soJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC12b2lkIGZi X2RlZmVycmVkX2lvX2luaXQoc3RydWN0IGZiX2luZm8gKmluZm8pCj4+ID4gK2ludCBmYl9kZWZl cnJlZF9pb19pbml0KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICB7Cj4+ID4gIAlzdHJ1Y3Qg ZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW8gPSBpbmZvLT5mYmRlZmlvOwo+PiA+ICsJc3RydWN0IGZi X29wcyAqZmJvcHM7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4gPiArCj4+ID4g KwlmYm9wcyA9IGttZW1kdXAoaW5mby0+ZmJvcHMsIHNpemVvZigqZmJvcHMpLCBHRlBfS0VSTkVM KTsKPj4gPiArCWlmICghZmJvcHMpCj4+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4+ID4gKwo+PiA+ ICsJZmJvcHMtPmZiX21tYXAgPSBmYl9kZWZlcnJlZF9pb19tbWFwOwo+PiA+ICsJaW5mby0+ZGVm ZXJyZWRfaW9fcHJpdmF0ZSA9IGluZm8tPmZib3BzOwo+PiA+ICsJaW5mby0+ZmJvcHMgPSBmYm9w czsKPj4gPiArCj4+ID4gIAltdXRleF9pbml0KCZmYmRlZmlvLT5sb2NrKTsKPj4gPiAtCWluZm8t PmZib3BzLT5mYl9tbWFwID0gZmJfZGVmZXJyZWRfaW9fbW1hcDsKPj4gPiArCj4+ID4gIAlJTklU X0RFTEFZRURfV09SSygmaW5mby0+ZGVmZXJyZWRfd29yaywgZmJfZGVmZXJyZWRfaW9fd29yayk7 Cj4+ID4gIAlJTklUX0xJU1RfSEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiA+ICAJaWYgKGZi ZGVmaW8tPmRlbGF5ID09IDApIC8qIHNldCBhIGRlZmF1bHQgb2YgMSBzICovCj4+ID4gQEAgLTIy OSw2ICsyMzksMTIgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0cnVjdCBmYl9pbmZv ICppbmZvKQo+PiA+ICAJaW50IGk7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4g PiArCj4+ID4gKwkvKiBzYW5pdHkgY2hlY2sgYWdhaW5zdCBtaXN1c2UgKi8KPj4gPiArCWlmIChX QVJOX09OKCFpbmZvLT5kZWZlcnJlZF9pb19wcml2YXRlIHx8Cj4+ID4gKwkJICAgIGluZm8tPmZi b3BzLT5mYl9tbWFwICE9IGZiX2RlZmVycmVkX2lvX21tYXApKQo+PiA+ICsJCXJldHVybjsKPj4g PiArCj4+ID4gIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmRlZmVycmVkX3dvcmsp Owo+PiA+ICAKPj4gPiAgCS8qIGNsZWFyIG91dCB0aGUgbWFwcGluZyB0aGF0IHdlIHNldHVwICov Cj4+ID4gQEAgLTIzNyw3ICsyNTMsMTAgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0 cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICAJCXBhZ2UtPm1hcHBpbmcgPSBOVUxMOwo+PiA+ICAJ fQo+PiA+ICAKPj4gPiAtCWluZm8tPmZib3BzLT5mYl9tbWFwID0gTlVMTDsKPj4gPiArCWtmcmVl KGluZm8tPmZib3BzKTsKPj4gPiArCWluZm8tPmZib3BzID0gaW5mby0+ZGVmZXJyZWRfaW9fcHJp dmF0ZTsKPj4gPiArCWluZm8tPmRlZmVycmVkX2lvX3ByaXZhdGUgPSBOVUxMOwo+PiA+ICsKPj4g PiAgCW11dGV4X2Rlc3Ryb3koJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIEVYUE9SVF9T WU1CT0xfR1BMKGZiX2RlZmVycmVkX2lvX2NsZWFudXApOwo+PiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBpbmRleCBhNmFkNTI4OTkw ZGUuLjY1ZjJhYmQ0Nzc0NSAxMDA2NDQKPj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4g PiArKysgYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBAQCAtNDcwLDYgKzQ3MCw3IEBAIHN0cnVj dCBmYl9pbmZvIHsKPj4gPiAgI2lmZGVmIENPTkZJR19GQl9ERUZFUlJFRF9JTwo+PiA+ICAJc3Ry dWN0IGRlbGF5ZWRfd29yayBkZWZlcnJlZF93b3JrOwo+PiA+ICAJc3RydWN0IGZiX2RlZmVycmVk X2lvICpmYmRlZmlvOwo+PiA+ICsJdm9pZCAqZGVmZXJyZWRfaW9fcHJpdmF0ZTsKPj4gPiAgI2Vu ZGlmCj4+ID4gIAo+PiA+ICAJc3RydWN0IGZiX29wcyAqZmJvcHM7Cj4+ID4gQEAgLTY1OCw3ICs2 NTksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mYl9wYWRfYWxpZ25lZF9idWZmZXIodTggKmRz dCwgdTMyIGRfcGl0Y2gsCj4+ID4gIAo+PiA+ICAvKiBkcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMg Ki8KPj4gPiAgaW50IGZiX2RlZmVycmVkX2lvX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPj4gPiAtZXh0ZXJuIHZvaWQgZmJfZGVmZXJyZWRf aW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gK2V4dGVybiBpbnQgZmJfZGVmZXJy ZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gIGV4dGVybiB2b2lkIGZiX2Rl ZmVycmVkX2lvX29wZW4oc3RydWN0IGZiX2luZm8gKmluZm8sCj4+ID4gIAkJCQlzdHJ1Y3QgaW5v ZGUgKmlub2RlLAo+PiA+ICAJCQkJc3RydWN0IGZpbGUgKmZpbGUpOwo+PiA+IC0tIAo+PiA+IDIu MjAuMQo+PiA+IAo+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiA+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+PiAKPj4gLS0gCj4+IERhbmllbCBWZXR0ZXIKPj4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgot LSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 4C754C432C3 for ; Thu, 28 Nov 2019 09:09:56 +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 2BB0421770 for ; Thu, 28 Nov 2019 09:09:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BB0421770 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3CAE06E78C; Thu, 28 Nov 2019 09:09:54 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE9B86E791; Thu, 28 Nov 2019 09:09:52 +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 fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 01:09:52 -0800 X-IronPort-AV: E=Sophos;i="5.69,252,1571727600"; d="scan'208";a="203377727" 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 01:09:49 -0800 From: Jani Nikula To: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH 01/13] video: fb_defio: preserve user fb_ops In-Reply-To: <20191127182105.GJ406127@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> Date: Thu, 28 Nov 2019 11:09:46 +0200 Message-ID: <87fti8nz8l.fsf@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - 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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191128090946.v9gRnzJDCST4RdKtx2f18gdvwMelYImk6scHl4uEGTM@z> T24gV2VkLCAyNyBOb3YgMjAxOSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNzoxNzo0MVBNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+PiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNjozMTo1N1BNICswMjAwLCBK YW5pIE5pa3VsYSB3cm90ZToKPj4gPiBNb2RpZnlpbmcgZmJfb3BzIGRpcmVjdGx5IHRvIG92ZXJy aWRlIGZiX21tYXAgd2l0aCBmYl9kZWZlcnJlZF9pb19tbWFwCj4+ID4gYW5kIHRoZW4gcmVzZXR0 aW5nIGl0IHRvIE5VTEwgYWZ0ZXJ3YXJkcyBjYXVzZXMgcHJvYmxlbXMgYWxsIG92ZXIgdGhlCj4+ ID4gcGxhY2UuIEZpcnN0LCBpdCBwcmV2ZW50cyBtYWtpbmcgdGhlIGZib3BzIG1lbWJlciBvZiBz dHJ1Y3QgZmJfaW5mbyBhCj4+ID4gY29uc3QgcG9pbnRlciwgd2hpY2ggbWVhbnMgd2UgY2FuJ3Qg bWFrZSBzdHJ1Y3QgZmJfb3BzIGNvbnN0Cj4+ID4gYW55d2hlcmUuIFNlY29uZCwgYSBmZXcgcGxh Y2VzIGhhdmUgdG8gZ28gb3V0IG9mIHRoZWlyIHdheSB0byByZXN0b3JlCj4+ID4gdGhlIG9yaWdp bmFsIGZiX21tYXAgcG9pbnRlciB0aGF0IGdldHMgcmVzZXQgdG8gTlVMTC4KPj4gPiAKPj4gPiBQ cmVzZXJ2ZSB0aGUgcGFzc2VkIGluIGZiX29wcyBieSBtYWtpbmcgYSBjb3B5IG9mIGl0IGFuZCBt b2RpZnlpbmcgdGhhdAo+PiA+IGluc3RlYWQuIEFkZCBhIGRlZmVycmVkX2lvX3ByaXZhdGUgbWVt YmVyIHRvIHN0cnVjdCBmYl9pbmZvIHRvIHN0b3JlIHRoZQo+PiA+IHBvaW50ZXIgdG8gdGhlIG9s ZCBmYl9vcHMsIGFuZCByZXN0b3JlIHRoYXQgYXQgY2xlYW51cC4KPj4gPiAKPj4gPiBDYzogSmF5 YSBLdW1hciA8amF5YWxrQGludHdvcmtzLmJpej4KPj4gPiBDYzogbGludXgtZmJkZXZAdmdlci5r ZXJuZWwub3JnCj4+ID4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGlu dGVsLmNvbT4KPj4gPiAKPj4gPiAtLS0KPj4gPiAKPj4gPiBOb3RlOiBJZiB0aGUgYXBwcm9hY2gg aXMgYWNjZXB0YWJsZSwgd2UnbGwgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgZXJyb3IKPj4gPiBy ZXR1cm5zIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmVzIGF0IGZiX2RlZmVycmVkX2lvX2lu aXQoKSBjYWxsCj4+ID4gc2l0ZXMuIFRoZXJlIGFyZSAxMy4KPj4gCj4+IGl0J3MgZmJkZXYgZGVm aW8sIEkgdGhpbmsgd2UgY2FuIGRvIHdvcnNlIHdpdGggbGVzcyBlZmZvcnQuIEp1c3QgZW1iZWQg YQo+PiBjb3B5IG9mIGZiX29wcyBpbnRvIGZiX2luZm8sIGFuZCB1c2UgdGhhdCwgYW5kIHRhZGEh IG5vIG1lbW9yeSBhbGxvY2F0aW9uCj4+IG5lZWRlZCA6LSkKPj4gCj4+IEknZCB0b3RhbGx5IHIt YiB0aGF0IHBhdGNoLgo+PiAKPj4gT3IgZG8gd2hhdCBWaWxsZSBzdWdnZXN0ZWQsIGFkZCBhbiBm Yl9pbmZvLT5mYmRlZmlvLmVuYWJsZWQsIHNldCB0aGF0IGluCj4+IHRoZSBfaW5pdCBmdW5jdGlv biBhbmQgaW4gZmJfbW1hcCBjYWxsIGZiX2RlZmVycmVkX2lvX21tYXAgZm9yIHRoYXQgY2FzZQo+ PiBpbnN0ZWFkIG9mIHRoZSBkcml2ZXIncyBmYl9vcHMtPmZiX21tYXAuIFRoZXJlJ3Mgb25seSBv bmUgY2FsbGVyIG9mIHRoYXQKPj4gaW4gdGhlIGVudGlyZSB0cmVlLCBpbiBmYm1lbS5jLiBBbHNv LCB3ZSBjb3VsZC9zaG91bGQgbnVrZSB0aGUKPj4gRVhQT1JUX1NZTUJPTChmYl9kZWZlcnJlZF9p b19tbWFwKSBJIHRoaW5rLgo+Cj4gSSBqdXN0IHJlYWxpemVkIHRoYXQgZmJfaW5mby0+ZmJkZWZp byBpcyBhIHBvaW50ZXIsIHNvIHRoaXMgd291bGQgYmUKPiByZWFsbHkgc2ltcGxlIHRvIHB1bGwg b2ZmIEkgdGhpbmsuCgpIZWgsIGhhdmluZyBhCgoJaW50ICgqZmJfZGVmZXJyZWRfaW9fbW1hcCko c3RydWN0IGZiX2luZm8gKiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICopOwoKbWVtYmVyIGluIHN0 cnVjdCBmYl9pbmZvLCBhbmQgdXNpbmcgdGhhdCBpbiBmYm1lbS5jIGlmIG5vbi1OVUxMLCB3YXMK YWN0dWFsbHkgbXkgZmlyc3QgaWRlYS4gSSBkaWRuJ3QgdGhpbmsgaXQgd2FzIHBhcnRpY3VsYXJs eSBwcmV0dHksIGJ1dAppZiB3ZSBkb24ndCBjYXJlIGFib3V0IGFlc3RoZXRpY3MuLi4KCldvdWxk IHlvdSBsaWtlIHRoYXQgaW5zdGVhZCBvZiB0aGUgcGF0Y2ggYXQgaGFuZD8KCgpCUiwKSmFuaS4K Cgo+IC1EYW5pZWwKPgo+PiAKPj4gVGhhdCB2ZXJzaW9uIHdvdWxkIGFsc28gZ2V0IG15IHItYiBz dGFtcC4gU28gdXAgdG8geW91IHdoYXQgeW91IHByZWZlci4KPj4gLURhbmllbAo+PiAKPj4gPiAt LS0KPj4gPiAgZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMgfCAyNSArKysrKysr KysrKysrKysrKysrKysrLS0tCj4+ID4gIGluY2x1ZGUvbGludXgvZmIuaCAgICAgICAgICAgICAg ICAgIHwgIDMgKystCj4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKPj4gPiAKPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8uYwo+PiA+ IGluZGV4IDgyYzIwYzYwNDdiMC4uMzY2OTc4NDRjMWUwIDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jCj4+ID4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gPiBAQCAtMjAwLDEzICsyMDAsMjMgQEAgc3RhdGljIHZv aWQgZmJfZGVmZXJyZWRfaW9fd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ID4gIAlt dXRleF91bmxvY2soJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC12b2lkIGZi X2RlZmVycmVkX2lvX2luaXQoc3RydWN0IGZiX2luZm8gKmluZm8pCj4+ID4gK2ludCBmYl9kZWZl cnJlZF9pb19pbml0KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICB7Cj4+ID4gIAlzdHJ1Y3Qg ZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW8gPSBpbmZvLT5mYmRlZmlvOwo+PiA+ICsJc3RydWN0IGZi X29wcyAqZmJvcHM7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4gPiArCj4+ID4g KwlmYm9wcyA9IGttZW1kdXAoaW5mby0+ZmJvcHMsIHNpemVvZigqZmJvcHMpLCBHRlBfS0VSTkVM KTsKPj4gPiArCWlmICghZmJvcHMpCj4+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4+ID4gKwo+PiA+ ICsJZmJvcHMtPmZiX21tYXAgPSBmYl9kZWZlcnJlZF9pb19tbWFwOwo+PiA+ICsJaW5mby0+ZGVm ZXJyZWRfaW9fcHJpdmF0ZSA9IGluZm8tPmZib3BzOwo+PiA+ICsJaW5mby0+ZmJvcHMgPSBmYm9w czsKPj4gPiArCj4+ID4gIAltdXRleF9pbml0KCZmYmRlZmlvLT5sb2NrKTsKPj4gPiAtCWluZm8t PmZib3BzLT5mYl9tbWFwID0gZmJfZGVmZXJyZWRfaW9fbW1hcDsKPj4gPiArCj4+ID4gIAlJTklU X0RFTEFZRURfV09SSygmaW5mby0+ZGVmZXJyZWRfd29yaywgZmJfZGVmZXJyZWRfaW9fd29yayk7 Cj4+ID4gIAlJTklUX0xJU1RfSEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiA+ICAJaWYgKGZi ZGVmaW8tPmRlbGF5ID09IDApIC8qIHNldCBhIGRlZmF1bHQgb2YgMSBzICovCj4+ID4gQEAgLTIy OSw2ICsyMzksMTIgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0cnVjdCBmYl9pbmZv ICppbmZvKQo+PiA+ICAJaW50IGk7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4g PiArCj4+ID4gKwkvKiBzYW5pdHkgY2hlY2sgYWdhaW5zdCBtaXN1c2UgKi8KPj4gPiArCWlmIChX QVJOX09OKCFpbmZvLT5kZWZlcnJlZF9pb19wcml2YXRlIHx8Cj4+ID4gKwkJICAgIGluZm8tPmZi b3BzLT5mYl9tbWFwICE9IGZiX2RlZmVycmVkX2lvX21tYXApKQo+PiA+ICsJCXJldHVybjsKPj4g PiArCj4+ID4gIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmRlZmVycmVkX3dvcmsp Owo+PiA+ICAKPj4gPiAgCS8qIGNsZWFyIG91dCB0aGUgbWFwcGluZyB0aGF0IHdlIHNldHVwICov Cj4+ID4gQEAgLTIzNyw3ICsyNTMsMTAgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0 cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICAJCXBhZ2UtPm1hcHBpbmcgPSBOVUxMOwo+PiA+ICAJ fQo+PiA+ICAKPj4gPiAtCWluZm8tPmZib3BzLT5mYl9tbWFwID0gTlVMTDsKPj4gPiArCWtmcmVl KGluZm8tPmZib3BzKTsKPj4gPiArCWluZm8tPmZib3BzID0gaW5mby0+ZGVmZXJyZWRfaW9fcHJp dmF0ZTsKPj4gPiArCWluZm8tPmRlZmVycmVkX2lvX3ByaXZhdGUgPSBOVUxMOwo+PiA+ICsKPj4g PiAgCW11dGV4X2Rlc3Ryb3koJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIEVYUE9SVF9T WU1CT0xfR1BMKGZiX2RlZmVycmVkX2lvX2NsZWFudXApOwo+PiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBpbmRleCBhNmFkNTI4OTkw ZGUuLjY1ZjJhYmQ0Nzc0NSAxMDA2NDQKPj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4g PiArKysgYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBAQCAtNDcwLDYgKzQ3MCw3IEBAIHN0cnVj dCBmYl9pbmZvIHsKPj4gPiAgI2lmZGVmIENPTkZJR19GQl9ERUZFUlJFRF9JTwo+PiA+ICAJc3Ry dWN0IGRlbGF5ZWRfd29yayBkZWZlcnJlZF93b3JrOwo+PiA+ICAJc3RydWN0IGZiX2RlZmVycmVk X2lvICpmYmRlZmlvOwo+PiA+ICsJdm9pZCAqZGVmZXJyZWRfaW9fcHJpdmF0ZTsKPj4gPiAgI2Vu ZGlmCj4+ID4gIAo+PiA+ICAJc3RydWN0IGZiX29wcyAqZmJvcHM7Cj4+ID4gQEAgLTY1OCw3ICs2 NTksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mYl9wYWRfYWxpZ25lZF9idWZmZXIodTggKmRz dCwgdTMyIGRfcGl0Y2gsCj4+ID4gIAo+PiA+ICAvKiBkcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMg Ki8KPj4gPiAgaW50IGZiX2RlZmVycmVkX2lvX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPj4gPiAtZXh0ZXJuIHZvaWQgZmJfZGVmZXJyZWRf aW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gK2V4dGVybiBpbnQgZmJfZGVmZXJy ZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gIGV4dGVybiB2b2lkIGZiX2Rl ZmVycmVkX2lvX29wZW4oc3RydWN0IGZiX2luZm8gKmluZm8sCj4+ID4gIAkJCQlzdHJ1Y3QgaW5v ZGUgKmlub2RlLAo+PiA+ICAJCQkJc3RydWN0IGZpbGUgKmZpbGUpOwo+PiA+IC0tIAo+PiA+IDIu MjAuMQo+PiA+IAo+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiA+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+PiAKPj4gLS0gCj4+IERhbmllbCBWZXR0ZXIKPj4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgot LSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= 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 0B0B1C432C0 for ; Thu, 28 Nov 2019 09:09:55 +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 D472821770 for ; Thu, 28 Nov 2019 09:09:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D472821770 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 4B00F6E78E; Thu, 28 Nov 2019 09:09:54 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE9B86E791; Thu, 28 Nov 2019 09:09:52 +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 fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2019 01:09:52 -0800 X-IronPort-AV: E=Sophos;i="5.69,252,1571727600"; d="scan'208";a="203377727" 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 01:09:49 -0800 From: Jani Nikula To: Daniel Vetter In-Reply-To: <20191127182105.GJ406127@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> Date: Thu, 28 Nov 2019 11:09:46 +0200 Message-ID: <87fti8nz8l.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: <20191128090946.YB3-nDYSzZPARLAlE-6qYtsLlarLjdK3VGWzeKOwQrg@z> T24gV2VkLCAyNyBOb3YgMjAxOSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNzoxNzo0MVBNICswMTAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+PiBPbiBXZWQsIE5vdiAyNywgMjAxOSBhdCAwNjozMTo1N1BNICswMjAwLCBK YW5pIE5pa3VsYSB3cm90ZToKPj4gPiBNb2RpZnlpbmcgZmJfb3BzIGRpcmVjdGx5IHRvIG92ZXJy aWRlIGZiX21tYXAgd2l0aCBmYl9kZWZlcnJlZF9pb19tbWFwCj4+ID4gYW5kIHRoZW4gcmVzZXR0 aW5nIGl0IHRvIE5VTEwgYWZ0ZXJ3YXJkcyBjYXVzZXMgcHJvYmxlbXMgYWxsIG92ZXIgdGhlCj4+ ID4gcGxhY2UuIEZpcnN0LCBpdCBwcmV2ZW50cyBtYWtpbmcgdGhlIGZib3BzIG1lbWJlciBvZiBz dHJ1Y3QgZmJfaW5mbyBhCj4+ID4gY29uc3QgcG9pbnRlciwgd2hpY2ggbWVhbnMgd2UgY2FuJ3Qg bWFrZSBzdHJ1Y3QgZmJfb3BzIGNvbnN0Cj4+ID4gYW55d2hlcmUuIFNlY29uZCwgYSBmZXcgcGxh Y2VzIGhhdmUgdG8gZ28gb3V0IG9mIHRoZWlyIHdheSB0byByZXN0b3JlCj4+ID4gdGhlIG9yaWdp bmFsIGZiX21tYXAgcG9pbnRlciB0aGF0IGdldHMgcmVzZXQgdG8gTlVMTC4KPj4gPiAKPj4gPiBQ cmVzZXJ2ZSB0aGUgcGFzc2VkIGluIGZiX29wcyBieSBtYWtpbmcgYSBjb3B5IG9mIGl0IGFuZCBt b2RpZnlpbmcgdGhhdAo+PiA+IGluc3RlYWQuIEFkZCBhIGRlZmVycmVkX2lvX3ByaXZhdGUgbWVt YmVyIHRvIHN0cnVjdCBmYl9pbmZvIHRvIHN0b3JlIHRoZQo+PiA+IHBvaW50ZXIgdG8gdGhlIG9s ZCBmYl9vcHMsIGFuZCByZXN0b3JlIHRoYXQgYXQgY2xlYW51cC4KPj4gPiAKPj4gPiBDYzogSmF5 YSBLdW1hciA8amF5YWxrQGludHdvcmtzLmJpej4KPj4gPiBDYzogbGludXgtZmJkZXZAdmdlci5r ZXJuZWwub3JnCj4+ID4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGlu dGVsLmNvbT4KPj4gPiAKPj4gPiAtLS0KPj4gPiAKPj4gPiBOb3RlOiBJZiB0aGUgYXBwcm9hY2gg aXMgYWNjZXB0YWJsZSwgd2UnbGwgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgZXJyb3IKPj4gPiBy ZXR1cm5zIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmVzIGF0IGZiX2RlZmVycmVkX2lvX2lu aXQoKSBjYWxsCj4+ID4gc2l0ZXMuIFRoZXJlIGFyZSAxMy4KPj4gCj4+IGl0J3MgZmJkZXYgZGVm aW8sIEkgdGhpbmsgd2UgY2FuIGRvIHdvcnNlIHdpdGggbGVzcyBlZmZvcnQuIEp1c3QgZW1iZWQg YQo+PiBjb3B5IG9mIGZiX29wcyBpbnRvIGZiX2luZm8sIGFuZCB1c2UgdGhhdCwgYW5kIHRhZGEh IG5vIG1lbW9yeSBhbGxvY2F0aW9uCj4+IG5lZWRlZCA6LSkKPj4gCj4+IEknZCB0b3RhbGx5IHIt YiB0aGF0IHBhdGNoLgo+PiAKPj4gT3IgZG8gd2hhdCBWaWxsZSBzdWdnZXN0ZWQsIGFkZCBhbiBm Yl9pbmZvLT5mYmRlZmlvLmVuYWJsZWQsIHNldCB0aGF0IGluCj4+IHRoZSBfaW5pdCBmdW5jdGlv biBhbmQgaW4gZmJfbW1hcCBjYWxsIGZiX2RlZmVycmVkX2lvX21tYXAgZm9yIHRoYXQgY2FzZQo+ PiBpbnN0ZWFkIG9mIHRoZSBkcml2ZXIncyBmYl9vcHMtPmZiX21tYXAuIFRoZXJlJ3Mgb25seSBv bmUgY2FsbGVyIG9mIHRoYXQKPj4gaW4gdGhlIGVudGlyZSB0cmVlLCBpbiBmYm1lbS5jLiBBbHNv LCB3ZSBjb3VsZC9zaG91bGQgbnVrZSB0aGUKPj4gRVhQT1JUX1NZTUJPTChmYl9kZWZlcnJlZF9p b19tbWFwKSBJIHRoaW5rLgo+Cj4gSSBqdXN0IHJlYWxpemVkIHRoYXQgZmJfaW5mby0+ZmJkZWZp byBpcyBhIHBvaW50ZXIsIHNvIHRoaXMgd291bGQgYmUKPiByZWFsbHkgc2ltcGxlIHRvIHB1bGwg b2ZmIEkgdGhpbmsuCgpIZWgsIGhhdmluZyBhCgoJaW50ICgqZmJfZGVmZXJyZWRfaW9fbW1hcCko c3RydWN0IGZiX2luZm8gKiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICopOwoKbWVtYmVyIGluIHN0 cnVjdCBmYl9pbmZvLCBhbmQgdXNpbmcgdGhhdCBpbiBmYm1lbS5jIGlmIG5vbi1OVUxMLCB3YXMK YWN0dWFsbHkgbXkgZmlyc3QgaWRlYS4gSSBkaWRuJ3QgdGhpbmsgaXQgd2FzIHBhcnRpY3VsYXJs eSBwcmV0dHksIGJ1dAppZiB3ZSBkb24ndCBjYXJlIGFib3V0IGFlc3RoZXRpY3MuLi4KCldvdWxk IHlvdSBsaWtlIHRoYXQgaW5zdGVhZCBvZiB0aGUgcGF0Y2ggYXQgaGFuZD8KCgpCUiwKSmFuaS4K Cgo+IC1EYW5pZWwKPgo+PiAKPj4gVGhhdCB2ZXJzaW9uIHdvdWxkIGFsc28gZ2V0IG15IHItYiBz dGFtcC4gU28gdXAgdG8geW91IHdoYXQgeW91IHByZWZlci4KPj4gLURhbmllbAo+PiAKPj4gPiAt LS0KPj4gPiAgZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZiX2RlZmlvLmMgfCAyNSArKysrKysr KysrKysrKysrKysrKysrLS0tCj4+ID4gIGluY2x1ZGUvbGludXgvZmIuaCAgICAgICAgICAgICAg ICAgIHwgIDMgKystCj4+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKPj4gPiAKPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJfZGVmaW8uYwo+PiA+ IGluZGV4IDgyYzIwYzYwNDdiMC4uMzY2OTc4NDRjMWUwIDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvY29yZS9mYl9kZWZpby5jCj4+ID4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9jb3JlL2ZiX2RlZmlvLmMKPj4gPiBAQCAtMjAwLDEzICsyMDAsMjMgQEAgc3RhdGljIHZv aWQgZmJfZGVmZXJyZWRfaW9fd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ID4gIAlt dXRleF91bmxvY2soJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC12b2lkIGZi X2RlZmVycmVkX2lvX2luaXQoc3RydWN0IGZiX2luZm8gKmluZm8pCj4+ID4gK2ludCBmYl9kZWZl cnJlZF9pb19pbml0KHN0cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICB7Cj4+ID4gIAlzdHJ1Y3Qg ZmJfZGVmZXJyZWRfaW8gKmZiZGVmaW8gPSBpbmZvLT5mYmRlZmlvOwo+PiA+ICsJc3RydWN0IGZi X29wcyAqZmJvcHM7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4gPiArCj4+ID4g KwlmYm9wcyA9IGttZW1kdXAoaW5mby0+ZmJvcHMsIHNpemVvZigqZmJvcHMpLCBHRlBfS0VSTkVM KTsKPj4gPiArCWlmICghZmJvcHMpCj4+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4+ID4gKwo+PiA+ ICsJZmJvcHMtPmZiX21tYXAgPSBmYl9kZWZlcnJlZF9pb19tbWFwOwo+PiA+ICsJaW5mby0+ZGVm ZXJyZWRfaW9fcHJpdmF0ZSA9IGluZm8tPmZib3BzOwo+PiA+ICsJaW5mby0+ZmJvcHMgPSBmYm9w czsKPj4gPiArCj4+ID4gIAltdXRleF9pbml0KCZmYmRlZmlvLT5sb2NrKTsKPj4gPiAtCWluZm8t PmZib3BzLT5mYl9tbWFwID0gZmJfZGVmZXJyZWRfaW9fbW1hcDsKPj4gPiArCj4+ID4gIAlJTklU X0RFTEFZRURfV09SSygmaW5mby0+ZGVmZXJyZWRfd29yaywgZmJfZGVmZXJyZWRfaW9fd29yayk7 Cj4+ID4gIAlJTklUX0xJU1RfSEVBRCgmZmJkZWZpby0+cGFnZWxpc3QpOwo+PiA+ICAJaWYgKGZi ZGVmaW8tPmRlbGF5ID09IDApIC8qIHNldCBhIGRlZmF1bHQgb2YgMSBzICovCj4+ID4gQEAgLTIy OSw2ICsyMzksMTIgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0cnVjdCBmYl9pbmZv ICppbmZvKQo+PiA+ICAJaW50IGk7Cj4+ID4gIAo+PiA+ICAJQlVHX09OKCFmYmRlZmlvKTsKPj4g PiArCj4+ID4gKwkvKiBzYW5pdHkgY2hlY2sgYWdhaW5zdCBtaXN1c2UgKi8KPj4gPiArCWlmIChX QVJOX09OKCFpbmZvLT5kZWZlcnJlZF9pb19wcml2YXRlIHx8Cj4+ID4gKwkJICAgIGluZm8tPmZi b3BzLT5mYl9tbWFwICE9IGZiX2RlZmVycmVkX2lvX21tYXApKQo+PiA+ICsJCXJldHVybjsKPj4g PiArCj4+ID4gIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmluZm8tPmRlZmVycmVkX3dvcmsp Owo+PiA+ICAKPj4gPiAgCS8qIGNsZWFyIG91dCB0aGUgbWFwcGluZyB0aGF0IHdlIHNldHVwICov Cj4+ID4gQEAgLTIzNyw3ICsyNTMsMTAgQEAgdm9pZCBmYl9kZWZlcnJlZF9pb19jbGVhbnVwKHN0 cnVjdCBmYl9pbmZvICppbmZvKQo+PiA+ICAJCXBhZ2UtPm1hcHBpbmcgPSBOVUxMOwo+PiA+ICAJ fQo+PiA+ICAKPj4gPiAtCWluZm8tPmZib3BzLT5mYl9tbWFwID0gTlVMTDsKPj4gPiArCWtmcmVl KGluZm8tPmZib3BzKTsKPj4gPiArCWluZm8tPmZib3BzID0gaW5mby0+ZGVmZXJyZWRfaW9fcHJp dmF0ZTsKPj4gPiArCWluZm8tPmRlZmVycmVkX2lvX3ByaXZhdGUgPSBOVUxMOwo+PiA+ICsKPj4g PiAgCW11dGV4X2Rlc3Ryb3koJmZiZGVmaW8tPmxvY2spOwo+PiA+ICB9Cj4+ID4gIEVYUE9SVF9T WU1CT0xfR1BMKGZiX2RlZmVycmVkX2lvX2NsZWFudXApOwo+PiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBpbmRleCBhNmFkNTI4OTkw ZGUuLjY1ZjJhYmQ0Nzc0NSAxMDA2NDQKPj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4g PiArKysgYi9pbmNsdWRlL2xpbnV4L2ZiLmgKPj4gPiBAQCAtNDcwLDYgKzQ3MCw3IEBAIHN0cnVj dCBmYl9pbmZvIHsKPj4gPiAgI2lmZGVmIENPTkZJR19GQl9ERUZFUlJFRF9JTwo+PiA+ICAJc3Ry dWN0IGRlbGF5ZWRfd29yayBkZWZlcnJlZF93b3JrOwo+PiA+ICAJc3RydWN0IGZiX2RlZmVycmVk X2lvICpmYmRlZmlvOwo+PiA+ICsJdm9pZCAqZGVmZXJyZWRfaW9fcHJpdmF0ZTsKPj4gPiAgI2Vu ZGlmCj4+ID4gIAo+PiA+ICAJc3RydWN0IGZiX29wcyAqZmJvcHM7Cj4+ID4gQEAgLTY1OCw3ICs2 NTksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19mYl9wYWRfYWxpZ25lZF9idWZmZXIodTggKmRz dCwgdTMyIGRfcGl0Y2gsCj4+ID4gIAo+PiA+ICAvKiBkcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMg Ki8KPj4gPiAgaW50IGZiX2RlZmVycmVkX2lvX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPj4gPiAtZXh0ZXJuIHZvaWQgZmJfZGVmZXJyZWRf aW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gK2V4dGVybiBpbnQgZmJfZGVmZXJy ZWRfaW9faW5pdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+ID4gIGV4dGVybiB2b2lkIGZiX2Rl ZmVycmVkX2lvX29wZW4oc3RydWN0IGZiX2luZm8gKmluZm8sCj4+ID4gIAkJCQlzdHJ1Y3QgaW5v ZGUgKmlub2RlLAo+PiA+ICAJCQkJc3RydWN0IGZpbGUgKmZpbGUpOwo+PiA+IC0tIAo+PiA+IDIu MjAuMQo+PiA+IAo+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiA+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+PiAKPj4gLS0gCj4+IERhbmllbCBWZXR0ZXIKPj4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgot LSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=