From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Date: Tue, 15 Oct 2019 06:11:08 +0000 Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Message-Id: <9633ac37-00c3-f699-9fb6-e2ecae0d1905@suse.de> List-Id: References: <20191014140416.28517-1-tzimmermann@suse.de> <20191014203644.GB4373@ravnborg.org> In-Reply-To: <20191014203644.GB4373@ravnborg.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Sam Ravnborg Cc: linux-fbdev@vger.kernel.org, corbet@lwn.net, airlied@linux.ie, gregkh@linuxfoundation.org, michel@daenzer.net, b.zolnierkie@samsung.com, dri-devel@lists.freedesktop.org, malat@debian.org, sean@poorly.run Hi Am 14.10.19 um 22:36 schrieb Sam Ravnborg: > 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. > > In general I like the idea of modernizing the existing fbdev drivers. > What I fail to read in your intro above is if this allows us to phase > out the migrated fbdev drivers sooner? > Or do we end up with two drivers to maintain? The idea is that an fbdev driver is converted over to DRM and, once ready, the original fbdev driver gets removed. When a hybrid driver gets added, I'd want to see the rsp developer actually clean up and refactor the code. There shouldn't be multiple drivers for long. But most of the fbdev drivers appear to be unmaintained anyway. I wouldn't expect having two drivers for a few releases would make much of a difference. > Obviously a full migration to a DRM driver was preferred - but this may > serve as a step in that direction. > But we should not end up with two drivers doing almost the same. > > Another general question. Do we want the modernized DRM drivers to end > up in staging? Why should they not go direct into drm/* > I know they are not fully atomic but this is not new drivers so maybe > they can be excused. > Problem is that drm drivers in staging live a secret nonvisible life > where they are easy to forget when we change interfaces and such. True. OTOH putting them next to the regular DRM code sends the message that the driver is already complete and in good shape. Those hybrid drivers are limited in functionality and don't really live up to anyone's requirements for code quality. It's the kind of code one would expect in staging. Best regards Thomas > Sam > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel > -- Thomas Zimmermann Graphics Driver Developer SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg) From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Date: Tue, 15 Oct 2019 08:11:08 +0200 Message-ID: <9633ac37-00c3-f699-9fb6-e2ecae0d1905@suse.de> References: <20191014140416.28517-1-tzimmermann@suse.de> <20191014203644.GB4373@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id D84806E5EA for ; Tue, 15 Oct 2019 06:11:11 +0000 (UTC) In-Reply-To: <20191014203644.GB4373@ravnborg.org> 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: Sam Ravnborg Cc: linux-fbdev@vger.kernel.org, corbet@lwn.net, airlied@linux.ie, gregkh@linuxfoundation.org, michel@daenzer.net, b.zolnierkie@samsung.com, dri-devel@lists.freedesktop.org, malat@debian.org, sean@poorly.run List-Id: dri-devel@lists.freedesktop.org SGkKCkFtIDE0LjEwLjE5IHVtIDIyOjM2IHNjaHJpZWIgU2FtIFJhdm5ib3JnOgo+IEhpIFRob21h cy4KPiAKPiBPbiBNb24sIE9jdCAxNCwgMjAxOSBhdCAwNDowNDowMVBNICswMjAwLCBUaG9tYXMg WmltbWVybWFubiB3cm90ZToKPj4gKHdhczogRFJNIGRyaXZlciBmb3IgZmJkZXYgZGV2aWNlcykK Pj4KPj4gVGhpcyBpcyB2ZXJzaW9uIDIgb2YgdGhlIGZiZGV2IGNvbnZlcnNpb24gaGVscGVycy4g SXQncyBtb3JlIG9yIGxlc3MgYQo+PiByZXdyaXRlIG9mIHRoZSBvcmlnaW5hbCBwYXRjaHNldC4K Pj4KPj4gVGhlIGZiZGV2IHN1YnN5c3RlbSBpcyBjb25zaWRlcmVkIGxlZ2FjeSBhbmQgd2lsbCBw cm9iYWJseSBiZSByZW1vdmVkIGF0Cj4+IHNvbWUgcG9pbnQuIFRoaXMgd291bGQgbWVhbiB0aGUg bG9zcyBvZiBhIHNpZ25pZmFuY3QgbnVtYmVyIG9mIGRyaXZlcnMuCj4+IFNvbWUgb2YgdGhlIGFm ZmVjdGVkIGhhcmR3YXJlIGlzIG5vdCBpbiB1c2UgYW55IGxvbmdlciwgYnV0IHNvbWUgaGFyZHdh cmUKPj4gaXMgc3RpbGwgYXJvdW5kIGFuZCBwcm92aWRlcyBnb29kKC1lbm91Z2gpIGZyYW1lYnVm ZmVycy4KPj4KPj4gVGhlIGZiY29udiBoZWxwZXJzIGFsbG93IGZvciBydW5uaW5nIHRoZSBjdXJy ZW50IERSTSBzdGFjayBvbiB0b3Agb2YgZmJkZXYKPj4gZHJpdmVycy4gSXQncyBhIHNldCBvZiBm dW5jdGlvbnMgdGhhdCBjb252ZXJ0IGJldHdlZW4gZmJkZXYgaW50ZXJmYWNlcyBhbmQKPj4gRFJN IGludGVyZmFjZXMuIEJhc2VkIG9uIFNITUVNIGFuZCBzaW1wbGUgS01TIGhlbHBlcnMsIGl0IG9u bHkgb2ZmZXJzIHRoZQo+PiBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIGEgZnJhbWVidWZmZXIsIGJ1 dCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIG1vc3QKPj4gZXhpc3RpbmcgZmJkZXYgZHJpdmVy cy4KPj4KPj4gQSBEUk0gZHJpdmVyIHVzaW5nIGZiY29udiBoZWxwZXJzIGNvbnNpc3RzIG9mCj4+ Cj4+ICAgICogRFJNIHN0dWIgY29kZSB0aGF0IGNhbGxzIGludG8gZmJjb252IGhlbHBlcnMsIGFu ZAo+PiAgICAqIHRoZSBvcmlnaW5hbCBmYmRldiBkcml2ZXIgY29kZS4KPj4KPj4gVGhlIGZiZGV2 IGRyaXZlciBjb2RlIGhhcyB0byBiZSBtb2RpZmllZCB0byByZWdpc3RlciBpdHNlbGYgd2l0aCB0 aGUKPj4gc3R1YiBkcml2ZXIgaW5zdGVhZCBvZiB0aGUgZmJkZXYgY29yZSBmcmFtZXdvcmsuIEEg dHV0b3JpYWwgb24gaG93IHRvIHVzZQo+PiB0aGUgaGVscGVycyBpcyBwYXJ0IG9mIHRoaXMgcGF0 Y2hzZXQuIFRoZSByZXN1bHRpbmcgZHJpdmVyIGh5YnJpZCBjYW4gYmUKPj4gcmVmYWN0b3JlZCBp bnRvIGEgZmlyc3QtY2xhc3MgRFJNIGRyaXZlci4gVGhlIGZiY29udiBoZWxwZXJzIGNvbnRhaW4g YQo+PiBudW1iZXIgb2YgY29tbWVudHMsIGxhYmVsZWQgJ0RSTSBwb3J0aW5nIG5vdGUnLCB3aGlj aCBleHBsYWluIHRoZSByZXF1aXJlZAo+PiBzdGVwcy4KPj4KPj4gSSB0ZXN0ZWQgdGhlIGN1cnJl bnQgcGF0Y2hzZXQgd2l0aCB0aGUgZm9sbG93aW5nIGRyaXZlcnM6IGF0eWZiLCBhdHkxMjhmYiwK Pj4gbWF0cm94ZmIsIHBtMmZiLCBwbTNmYiwgcml2YWZiLCBzM2ZiLCBzYXZhZ2VmYiwgc2lzZmIs IHRkZnhmYiBhbmQgdHJpZGVudGZiLgo+PiBXaXRoIGVhY2gsIEkgd2FzIGFibGUgdG8gc3VjY2Vz c2Z1bGx5IHN0YXJ0IHdpdGggZmJjb24gZW5hYmxlZCwgcnVuIHdlc3RvbiBhbmQKPj4gWDExLiBU aGUgZHJpdmVycyBhcmUgYXZhaWxhYmxlIGF0IFsxXS4gRm9yIHJlZmVyZW5jZSwgdGhlIHBhdGNo c2V0IGluY2x1ZGVzCj4+IHRoZSBNYXRyb3ggc3R1YiBkcml2ZXIuCj4gCj4gSW4gZ2VuZXJhbCBJ IGxpa2UgdGhlIGlkZWEgb2YgbW9kZXJuaXppbmcgdGhlIGV4aXN0aW5nIGZiZGV2IGRyaXZlcnMu Cj4gV2hhdCBJIGZhaWwgdG8gcmVhZCBpbiB5b3VyIGludHJvIGFib3ZlIGlzIGlmIHRoaXMgYWxs b3dzIHVzIHRvIHBoYXNlCj4gb3V0IHRoZSBtaWdyYXRlZCBmYmRldiBkcml2ZXJzIHNvb25lcj8K PiBPciBkbyB3ZSBlbmQgdXAgd2l0aCB0d28gZHJpdmVycyB0byBtYWludGFpbj8KClRoZSBpZGVh IGlzIHRoYXQgYW4gZmJkZXYgZHJpdmVyIGlzIGNvbnZlcnRlZCBvdmVyIHRvIERSTSBhbmQsIG9u Y2UgCnJlYWR5LCB0aGUgb3JpZ2luYWwgZmJkZXYgZHJpdmVyIGdldHMgcmVtb3ZlZC4gV2hlbiBh IGh5YnJpZCBkcml2ZXIgZ2V0cyAKYWRkZWQsIEknZCB3YW50IHRvIHNlZSB0aGUgcnNwIGRldmVs b3BlciBhY3R1YWxseSBjbGVhbiB1cCBhbmQgcmVmYWN0b3IgCnRoZSBjb2RlLiBUaGVyZSBzaG91 bGRuJ3QgYmUgbXVsdGlwbGUgZHJpdmVycyBmb3IgbG9uZy4KCkJ1dCBtb3N0IG9mIHRoZSBmYmRl diBkcml2ZXJzIGFwcGVhciB0byBiZSB1bm1haW50YWluZWQgYW55d2F5LiBJIAp3b3VsZG4ndCBl eHBlY3QgaGF2aW5nIHR3byBkcml2ZXJzIGZvciBhIGZldyByZWxlYXNlcyB3b3VsZCBtYWtlIG11 Y2ggb2YgCmEgZGlmZmVyZW5jZS4KCj4gT2J2aW91c2x5IGEgZnVsbCBtaWdyYXRpb24gdG8gYSBE Uk0gZHJpdmVyIHdhcyBwcmVmZXJyZWQgLSBidXQgdGhpcyBtYXkKPiBzZXJ2ZSBhcyBhIHN0ZXAg aW4gdGhhdCBkaXJlY3Rpb24uCj4gQnV0IHdlIHNob3VsZCBub3QgZW5kIHVwIHdpdGggdHdvIGRy aXZlcnMgZG9pbmcgYWxtb3N0IHRoZSBzYW1lLgo+IAo+IEFub3RoZXIgZ2VuZXJhbCBxdWVzdGlv bi4gRG8gd2Ugd2FudCB0aGUgbW9kZXJuaXplZCBEUk0gZHJpdmVycyB0byBlbmQKPiB1cCBpbiBz dGFnaW5nPyBXaHkgc2hvdWxkIHRoZXkgbm90IGdvIGRpcmVjdCBpbnRvIGRybS8qCj4gSSBrbm93 IHRoZXkgYXJlIG5vdCBmdWxseSBhdG9taWMgYnV0IHRoaXMgaXMgbm90IG5ldyBkcml2ZXJzIHNv IG1heWJlCj4gdGhleSBjYW4gYmUgZXhjdXNlZC4KPiBQcm9ibGVtIGlzIHRoYXQgZHJtIGRyaXZl cnMgaW4gc3RhZ2luZyBsaXZlIGEgc2VjcmV0IG5vbnZpc2libGUgbGlmZQo+IHdoZXJlIHRoZXkg YXJlIGVhc3kgdG8gZm9yZ2V0IHdoZW4gd2UgY2hhbmdlIGludGVyZmFjZXMgYW5kIHN1Y2guCgpU cnVlLiBPVE9IIHB1dHRpbmcgdGhlbSBuZXh0IHRvIHRoZSByZWd1bGFyIERSTSBjb2RlIHNlbmRz IHRoZSBtZXNzYWdlIAp0aGF0IHRoZSBkcml2ZXIgaXMgYWxyZWFkeSBjb21wbGV0ZSBhbmQgaW4g Z29vZCBzaGFwZS4gVGhvc2UgaHlicmlkIApkcml2ZXJzIGFyZSBsaW1pdGVkIGluIGZ1bmN0aW9u YWxpdHkgYW5kIGRvbid0IHJlYWxseSBsaXZlIHVwIHRvIAphbnlvbmUncyByZXF1aXJlbWVudHMg Zm9yIGNvZGUgcXVhbGl0eS4gSXQncyB0aGUga2luZCBvZiBjb2RlIG9uZSB3b3VsZCAKZXhwZWN0 IGluIHN0YWdpbmcuCgpCZXN0IHJlZ2FyZHMKVGhvbWFzCgo+IAlTYW0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiAKCi0tIApUaG9tYXMgWmlt bWVybWFubgpHcmFwaGljcyBEcml2ZXIgRGV2ZWxvcGVyClNVU0UgTGludXggR21iSCwgTWF4ZmVs ZHN0cmFzc2UgNSwgOTA0MDkgTnVlcm5iZXJnLCBHZXJtYW55CkdGOiBGZWxpeCBJbWVuZMO2cmZm ZXIsIE1hcnkgSGlnZ2lucywgU3JpIFJhc2lhaApIUkIgMjEyODQgKEFHIE7DvHJuYmVyZykKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs