From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Tue, 15 Oct 2019 18:05:03 +0000 Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Message-Id: <20191015180503.GA1082328@kroah.com> List-Id: References: <20191014140416.28517-1-tzimmermann@suse.de> <20191015143318.GP11828@phenom.ffwll.local> <5241e699-f66a-d212-03a5-bb736639e66b@suse.de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Daniel Vetter Cc: Linux Fbdev development list , Bartlomiej Zolnierkiewicz , Dave Airlie , Michel =?iso-8859-1?Q?D=E4nzer?= , Jonathan Corbet , Mathieu Malaterre , dri-devel , Thomas Zimmermann , Sean Paul On Tue, Oct 15, 2019 at 07:48:29PM +0200, Daniel Vetter wrote: > On Tue, Oct 15, 2019 at 7:28 PM Thomas Zimmermann wrote: > > > > Hi Daniel > > > > Am 15.10.19 um 16:33 schrieb Daniel Vetter: > > > Hi Thomas, > > > > > > On Mon, Oct 14, 2019 at 04:04:01PM +0200, Thomas Zimmermann wrote: > > >> (was: DRM driver for fbdev devices) > > >> > > >> This is version 2 of the fbdev conversion helpers. It's more or less a > > >> rewrite of the original patchset. > > >> > > >> The fbdev subsystem is considered legacy and will probably be removed at > > >> some point. This would mean the loss of a signifanct number of drivers. > > >> Some of the affected hardware is not in use any longer, but some hardware > > >> is still around and provides good(-enough) framebuffers. > > >> > > >> The fbconv helpers allow for running the current DRM stack on top of fbdev > > >> drivers. It's a set of functions that convert between fbdev interfaces and > > >> DRM interfaces. Based on SHMEM and simple KMS helpers, it only offers the > > >> basic functionality of a framebuffer, but should be compatible with most > > >> existing fbdev drivers. > > >> > > >> A DRM driver using fbconv helpers consists of > > >> > > >> * DRM stub code that calls into fbconv helpers, and > > >> * the original fbdev driver code. > > >> > > >> The fbdev driver code has to be modified to register itself with the > > >> stub driver instead of the fbdev core framework. A tutorial on how to use > > >> the helpers is part of this patchset. The resulting driver hybrid can be > > >> refactored into a first-class DRM driver. The fbconv helpers contain a > > >> number of comments, labeled 'DRM porting note', which explain the required > > >> steps. > > >> > > >> I tested the current patchset with the following drivers: atyfb, aty128fb, > > >> matroxfb, pm2fb, pm3fb, rivafb, s3fb, savagefb, sisfb, tdfxfb and tridentfb. > > >> With each, I was able to successfully start with fbcon enabled, run weston and > > >> X11. The drivers are available at [1]. For reference, the patchset includes > > >> the Matrox stub driver. > > > > > > So I really don't want to rain on the parade here, since if you think this > > > is useful when converting fbdev drivers I'll buy that, and I'm all for > > > getting more modern drivers into drm. > > > > > > But I have a bunch of concerns with the approach you're proposing here: > > > > > > - we've tried staging for drm driver refactoring, it hurts. Separate tree > > > plus the quick pace in refactoring create lots of pains. And for small > > > drivers refacotoring before it's not buying you anything above > > > refactoring in your own personal tree. And for big drivers we're fairly > > > lenient with merging drivers that aren't fully polished yet, if there's > > > a team serious enough with cleaning up the mess. I think even merging > > > partial drivers directly under drivers/gpu (but behind CONFIG_BROKEN) is > > > better than staging. > > > > I mostly put this into staging, because it's the kind of code you'd > > expect there. > > Yeah, except we tried, it's a real pain. Conclusion by everyone > involved is that staging doesn't work for the drm subsystem. As the staging maintainer, I too agree with this. No drm drivers/code in staging please. thanks, greg k-h From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Date: Tue, 15 Oct 2019 20:05:03 +0200 Message-ID: <20191015180503.GA1082328@kroah.com> References: <20191014140416.28517-1-tzimmermann@suse.de> <20191015143318.GP11828@phenom.ffwll.local> <5241e699-f66a-d212-03a5-bb736639e66b@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2F27B6E39B for ; Tue, 15 Oct 2019 18:09:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: 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 development list , Bartlomiej Zolnierkiewicz , Dave Airlie , Michel =?iso-8859-1?Q?D=E4nzer?= , Jonathan Corbet , Mathieu Malaterre , dri-devel , Thomas Zimmermann , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBPY3QgMTUsIDIwMTkgYXQgMDc6NDg6MjlQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIE9jdCAxNSwgMjAxOSBhdCA3OjI4IFBNIFRob21hcyBaaW1tZXJtYW5u IDx0emltbWVybWFubkBzdXNlLmRlPiB3cm90ZToKPiA+Cj4gPiBIaSBEYW5pZWwKPiA+Cj4gPiBB bSAxNS4xMC4xOSB1bSAxNjozMyBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gPiA+IEhpIFRob21h cywKPiA+ID4KPiA+ID4gT24gTW9uLCBPY3QgMTQsIDIwMTkgYXQgMDQ6MDQ6MDFQTSArMDIwMCwg VGhvbWFzIFppbW1lcm1hbm4gd3JvdGU6Cj4gPiA+PiAod2FzOiBEUk0gZHJpdmVyIGZvciBmYmRl diBkZXZpY2VzKQo+ID4gPj4KPiA+ID4+IFRoaXMgaXMgdmVyc2lvbiAyIG9mIHRoZSBmYmRldiBj b252ZXJzaW9uIGhlbHBlcnMuIEl0J3MgbW9yZSBvciBsZXNzIGEKPiA+ID4+IHJld3JpdGUgb2Yg dGhlIG9yaWdpbmFsIHBhdGNoc2V0Lgo+ID4gPj4KPiA+ID4+IFRoZSBmYmRldiBzdWJzeXN0ZW0g aXMgY29uc2lkZXJlZCBsZWdhY3kgYW5kIHdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBhdAo+ID4g Pj4gc29tZSBwb2ludC4gVGhpcyB3b3VsZCBtZWFuIHRoZSBsb3NzIG9mIGEgc2lnbmlmYW5jdCBu dW1iZXIgb2YgZHJpdmVycy4KPiA+ID4+IFNvbWUgb2YgdGhlIGFmZmVjdGVkIGhhcmR3YXJlIGlz IG5vdCBpbiB1c2UgYW55IGxvbmdlciwgYnV0IHNvbWUgaGFyZHdhcmUKPiA+ID4+IGlzIHN0aWxs IGFyb3VuZCBhbmQgcHJvdmlkZXMgZ29vZCgtZW5vdWdoKSBmcmFtZWJ1ZmZlcnMuCj4gPiA+Pgo+ ID4gPj4gVGhlIGZiY29udiBoZWxwZXJzIGFsbG93IGZvciBydW5uaW5nIHRoZSBjdXJyZW50IERS TSBzdGFjayBvbiB0b3Agb2YgZmJkZXYKPiA+ID4+IGRyaXZlcnMuIEl0J3MgYSBzZXQgb2YgZnVu Y3Rpb25zIHRoYXQgY29udmVydCBiZXR3ZWVuIGZiZGV2IGludGVyZmFjZXMgYW5kCj4gPiA+PiBE Uk0gaW50ZXJmYWNlcy4gQmFzZWQgb24gU0hNRU0gYW5kIHNpbXBsZSBLTVMgaGVscGVycywgaXQg b25seSBvZmZlcnMgdGhlCj4gPiA+PiBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIGEgZnJhbWVidWZm ZXIsIGJ1dCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIG1vc3QKPiA+ID4+IGV4aXN0aW5nIGZi ZGV2IGRyaXZlcnMuCj4gPiA+Pgo+ID4gPj4gQSBEUk0gZHJpdmVyIHVzaW5nIGZiY29udiBoZWxw ZXJzIGNvbnNpc3RzIG9mCj4gPiA+Pgo+ID4gPj4gICAqIERSTSBzdHViIGNvZGUgdGhhdCBjYWxs cyBpbnRvIGZiY29udiBoZWxwZXJzLCBhbmQKPiA+ID4+ICAgKiB0aGUgb3JpZ2luYWwgZmJkZXYg ZHJpdmVyIGNvZGUuCj4gPiA+Pgo+ID4gPj4gVGhlIGZiZGV2IGRyaXZlciBjb2RlIGhhcyB0byBi ZSBtb2RpZmllZCB0byByZWdpc3RlciBpdHNlbGYgd2l0aCB0aGUKPiA+ID4+IHN0dWIgZHJpdmVy IGluc3RlYWQgb2YgdGhlIGZiZGV2IGNvcmUgZnJhbWV3b3JrLiBBIHR1dG9yaWFsIG9uIGhvdyB0 byB1c2UKPiA+ID4+IHRoZSBoZWxwZXJzIGlzIHBhcnQgb2YgdGhpcyBwYXRjaHNldC4gVGhlIHJl c3VsdGluZyBkcml2ZXIgaHlicmlkIGNhbiBiZQo+ID4gPj4gcmVmYWN0b3JlZCBpbnRvIGEgZmly c3QtY2xhc3MgRFJNIGRyaXZlci4gVGhlIGZiY29udiBoZWxwZXJzIGNvbnRhaW4gYQo+ID4gPj4g bnVtYmVyIG9mIGNvbW1lbnRzLCBsYWJlbGVkICdEUk0gcG9ydGluZyBub3RlJywgd2hpY2ggZXhw bGFpbiB0aGUgcmVxdWlyZWQKPiA+ID4+IHN0ZXBzLgo+ID4gPj4KPiA+ID4+IEkgdGVzdGVkIHRo ZSBjdXJyZW50IHBhdGNoc2V0IHdpdGggdGhlIGZvbGxvd2luZyBkcml2ZXJzOiBhdHlmYiwgYXR5 MTI4ZmIsCj4gPiA+PiBtYXRyb3hmYiwgcG0yZmIsIHBtM2ZiLCByaXZhZmIsIHMzZmIsIHNhdmFn ZWZiLCBzaXNmYiwgdGRmeGZiIGFuZCB0cmlkZW50ZmIuCj4gPiA+PiBXaXRoIGVhY2gsIEkgd2Fz IGFibGUgdG8gc3VjY2Vzc2Z1bGx5IHN0YXJ0IHdpdGggZmJjb24gZW5hYmxlZCwgcnVuIHdlc3Rv biBhbmQKPiA+ID4+IFgxMS4gVGhlIGRyaXZlcnMgYXJlIGF2YWlsYWJsZSBhdCBbMV0uIEZvciBy ZWZlcmVuY2UsIHRoZSBwYXRjaHNldCBpbmNsdWRlcwo+ID4gPj4gdGhlIE1hdHJveCBzdHViIGRy aXZlci4KPiA+ID4KPiA+ID4gU28gSSByZWFsbHkgZG9uJ3Qgd2FudCB0byByYWluIG9uIHRoZSBw YXJhZGUgaGVyZSwgc2luY2UgaWYgeW91IHRoaW5rIHRoaXMKPiA+ID4gaXMgdXNlZnVsIHdoZW4g Y29udmVydGluZyBmYmRldiBkcml2ZXJzIEknbGwgYnV5IHRoYXQsIGFuZCBJJ20gYWxsIGZvcgo+ ID4gPiBnZXR0aW5nIG1vcmUgbW9kZXJuIGRyaXZlcnMgaW50byBkcm0uCj4gPiA+Cj4gPiA+IEJ1 dCBJIGhhdmUgYSBidW5jaCBvZiBjb25jZXJucyB3aXRoIHRoZSBhcHByb2FjaCB5b3UncmUgcHJv cG9zaW5nIGhlcmU6Cj4gPiA+Cj4gPiA+IC0gd2UndmUgdHJpZWQgc3RhZ2luZyBmb3IgZHJtIGRy aXZlciByZWZhY3RvcmluZywgaXQgaHVydHMuIFNlcGFyYXRlIHRyZWUKPiA+ID4gICBwbHVzIHRo ZSBxdWljayBwYWNlIGluIHJlZmFjdG9yaW5nIGNyZWF0ZSBsb3RzIG9mIHBhaW5zLiBBbmQgZm9y IHNtYWxsCj4gPiA+ICAgZHJpdmVycyByZWZhY290b3JpbmcgYmVmb3JlIGl0J3Mgbm90IGJ1eWlu ZyB5b3UgYW55dGhpbmcgYWJvdmUKPiA+ID4gICByZWZhY3RvcmluZyBpbiB5b3VyIG93biBwZXJz b25hbCB0cmVlLiBBbmQgZm9yIGJpZyBkcml2ZXJzIHdlJ3JlIGZhaXJseQo+ID4gPiAgIGxlbmll bnQgd2l0aCBtZXJnaW5nIGRyaXZlcnMgdGhhdCBhcmVuJ3QgZnVsbHkgcG9saXNoZWQgeWV0LCBp ZiB0aGVyZSdzCj4gPiA+ICAgYSB0ZWFtIHNlcmlvdXMgZW5vdWdoIHdpdGggY2xlYW5pbmcgdXAg dGhlIG1lc3MuIEkgdGhpbmsgZXZlbiBtZXJnaW5nCj4gPiA+ICAgcGFydGlhbCBkcml2ZXJzIGRp cmVjdGx5IHVuZGVyIGRyaXZlcnMvZ3B1IChidXQgYmVoaW5kIENPTkZJR19CUk9LRU4pIGlzCj4g PiA+ICAgYmV0dGVyIHRoYW4gc3RhZ2luZy4KPiA+Cj4gPiBJIG1vc3RseSBwdXQgdGhpcyBpbnRv IHN0YWdpbmcsIGJlY2F1c2UgaXQncyB0aGUga2luZCBvZiBjb2RlIHlvdSdkCj4gPiBleHBlY3Qg dGhlcmUuCj4gCj4gWWVhaCwgZXhjZXB0IHdlIHRyaWVkLCBpdCdzIGEgcmVhbCBwYWluLiBDb25j bHVzaW9uIGJ5IGV2ZXJ5b25lCj4gaW52b2x2ZWQgaXMgdGhhdCBzdGFnaW5nIGRvZXNuJ3Qgd29y ayBmb3IgdGhlIGRybSBzdWJzeXN0ZW0uCgpBcyB0aGUgc3RhZ2luZyBtYWludGFpbmVyLCBJIHRv byBhZ3JlZSB3aXRoIHRoaXMuICBObyBkcm0gZHJpdmVycy9jb2RlCmluIHN0YWdpbmcgcGxlYXNl LgoKdGhhbmtzLAoKZ3JlZyBrLWgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs