From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Date: Mon, 14 Oct 2019 20:36:44 +0000 Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Message-Id: <20191014203644.GB4373@ravnborg.org> List-Id: References: <20191014140416.28517-1-tzimmermann@suse.de> In-Reply-To: <20191014140416.28517-1-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Thomas Zimmermann Cc: linux-fbdev@vger.kernel.org, b.zolnierkie@samsung.com, airlied@linux.ie, gregkh@linuxfoundation.org, michel@daenzer.net, corbet@lwn.net, malat@debian.org, dri-devel@lists.freedesktop.org, sean@poorly.run 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? 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. Sam From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: Re: [PATCH v2 00/15] DRM fbconv helpers for converting fbdev drivers Date: Mon, 14 Oct 2019 22:36:44 +0200 Message-ID: <20191014203644.GB4373@ravnborg.org> References: <20191014140416.28517-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from asavdk4.altibox.net (asavdk4.altibox.net [109.247.116.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id F1F4E6E5BB for ; Mon, 14 Oct 2019 20:36:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191014140416.28517-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thomas Zimmermann Cc: linux-fbdev@vger.kernel.org, b.zolnierkie@samsung.com, airlied@linux.ie, gregkh@linuxfoundation.org, michel@daenzer.net, corbet@lwn.net, malat@debian.org, dri-devel@lists.freedesktop.org, sean@poorly.run List-Id: dri-devel@lists.freedesktop.org SGkgVGhvbWFzLgoKT24gTW9uLCBPY3QgMTQsIDIwMTkgYXQgMDQ6MDQ6MDFQTSArMDIwMCwgVGhv bWFzIFppbW1lcm1hbm4gd3JvdGU6Cj4gKHdhczogRFJNIGRyaXZlciBmb3IgZmJkZXYgZGV2aWNl cykKPiAKPiBUaGlzIGlzIHZlcnNpb24gMiBvZiB0aGUgZmJkZXYgY29udmVyc2lvbiBoZWxwZXJz LiBJdCdzIG1vcmUgb3IgbGVzcyBhCj4gcmV3cml0ZSBvZiB0aGUgb3JpZ2luYWwgcGF0Y2hzZXQu Cj4gCj4gVGhlIGZiZGV2IHN1YnN5c3RlbSBpcyBjb25zaWRlcmVkIGxlZ2FjeSBhbmQgd2lsbCBw cm9iYWJseSBiZSByZW1vdmVkIGF0Cj4gc29tZSBwb2ludC4gVGhpcyB3b3VsZCBtZWFuIHRoZSBs b3NzIG9mIGEgc2lnbmlmYW5jdCBudW1iZXIgb2YgZHJpdmVycy4KPiBTb21lIG9mIHRoZSBhZmZl Y3RlZCBoYXJkd2FyZSBpcyBub3QgaW4gdXNlIGFueSBsb25nZXIsIGJ1dCBzb21lIGhhcmR3YXJl Cj4gaXMgc3RpbGwgYXJvdW5kIGFuZCBwcm92aWRlcyBnb29kKC1lbm91Z2gpIGZyYW1lYnVmZmVy cy4KPiAKPiBUaGUgZmJjb252IGhlbHBlcnMgYWxsb3cgZm9yIHJ1bm5pbmcgdGhlIGN1cnJlbnQg RFJNIHN0YWNrIG9uIHRvcCBvZiBmYmRldgo+IGRyaXZlcnMuIEl0J3MgYSBzZXQgb2YgZnVuY3Rp b25zIHRoYXQgY29udmVydCBiZXR3ZWVuIGZiZGV2IGludGVyZmFjZXMgYW5kCj4gRFJNIGludGVy ZmFjZXMuIEJhc2VkIG9uIFNITUVNIGFuZCBzaW1wbGUgS01TIGhlbHBlcnMsIGl0IG9ubHkgb2Zm ZXJzIHRoZQo+IGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgYSBmcmFtZWJ1ZmZlciwgYnV0IHNob3Vs ZCBiZSBjb21wYXRpYmxlIHdpdGggbW9zdAo+IGV4aXN0aW5nIGZiZGV2IGRyaXZlcnMuCj4gCj4g QSBEUk0gZHJpdmVyIHVzaW5nIGZiY29udiBoZWxwZXJzIGNvbnNpc3RzIG9mCj4gCj4gICAqIERS TSBzdHViIGNvZGUgdGhhdCBjYWxscyBpbnRvIGZiY29udiBoZWxwZXJzLCBhbmQKPiAgICogdGhl IG9yaWdpbmFsIGZiZGV2IGRyaXZlciBjb2RlLgo+IAo+IFRoZSBmYmRldiBkcml2ZXIgY29kZSBo YXMgdG8gYmUgbW9kaWZpZWQgdG8gcmVnaXN0ZXIgaXRzZWxmIHdpdGggdGhlCj4gc3R1YiBkcml2 ZXIgaW5zdGVhZCBvZiB0aGUgZmJkZXYgY29yZSBmcmFtZXdvcmsuIEEgdHV0b3JpYWwgb24gaG93 IHRvIHVzZQo+IHRoZSBoZWxwZXJzIGlzIHBhcnQgb2YgdGhpcyBwYXRjaHNldC4gVGhlIHJlc3Vs dGluZyBkcml2ZXIgaHlicmlkIGNhbiBiZQo+IHJlZmFjdG9yZWQgaW50byBhIGZpcnN0LWNsYXNz IERSTSBkcml2ZXIuIFRoZSBmYmNvbnYgaGVscGVycyBjb250YWluIGEKPiBudW1iZXIgb2YgY29t bWVudHMsIGxhYmVsZWQgJ0RSTSBwb3J0aW5nIG5vdGUnLCB3aGljaCBleHBsYWluIHRoZSByZXF1 aXJlZAo+IHN0ZXBzLgo+IAo+IEkgdGVzdGVkIHRoZSBjdXJyZW50IHBhdGNoc2V0IHdpdGggdGhl IGZvbGxvd2luZyBkcml2ZXJzOiBhdHlmYiwgYXR5MTI4ZmIsCj4gbWF0cm94ZmIsIHBtMmZiLCBw bTNmYiwgcml2YWZiLCBzM2ZiLCBzYXZhZ2VmYiwgc2lzZmIsIHRkZnhmYiBhbmQgdHJpZGVudGZi Lgo+IFdpdGggZWFjaCwgSSB3YXMgYWJsZSB0byBzdWNjZXNzZnVsbHkgc3RhcnQgd2l0aCBmYmNv biBlbmFibGVkLCBydW4gd2VzdG9uIGFuZAo+IFgxMS4gVGhlIGRyaXZlcnMgYXJlIGF2YWlsYWJs ZSBhdCBbMV0uIEZvciByZWZlcmVuY2UsIHRoZSBwYXRjaHNldCBpbmNsdWRlcwo+IHRoZSBNYXRy b3ggc3R1YiBkcml2ZXIuCgpJbiBnZW5lcmFsIEkgbGlrZSB0aGUgaWRlYSBvZiBtb2Rlcm5pemlu ZyB0aGUgZXhpc3RpbmcgZmJkZXYgZHJpdmVycy4KV2hhdCBJIGZhaWwgdG8gcmVhZCBpbiB5b3Vy IGludHJvIGFib3ZlIGlzIGlmIHRoaXMgYWxsb3dzIHVzIHRvIHBoYXNlCm91dCB0aGUgbWlncmF0 ZWQgZmJkZXYgZHJpdmVycyBzb29uZXI/Ck9yIGRvIHdlIGVuZCB1cCB3aXRoIHR3byBkcml2ZXJz IHRvIG1haW50YWluPwoKT2J2aW91c2x5IGEgZnVsbCBtaWdyYXRpb24gdG8gYSBEUk0gZHJpdmVy IHdhcyBwcmVmZXJyZWQgLSBidXQgdGhpcyBtYXkKc2VydmUgYXMgYSBzdGVwIGluIHRoYXQgZGly ZWN0aW9uLgpCdXQgd2Ugc2hvdWxkIG5vdCBlbmQgdXAgd2l0aCB0d28gZHJpdmVycyBkb2luZyBh bG1vc3QgdGhlIHNhbWUuCgpBbm90aGVyIGdlbmVyYWwgcXVlc3Rpb24uIERvIHdlIHdhbnQgdGhl IG1vZGVybml6ZWQgRFJNIGRyaXZlcnMgdG8gZW5kCnVwIGluIHN0YWdpbmc/IFdoeSBzaG91bGQg dGhleSBub3QgZ28gZGlyZWN0IGludG8gZHJtLyoKSSBrbm93IHRoZXkgYXJlIG5vdCBmdWxseSBh dG9taWMgYnV0IHRoaXMgaXMgbm90IG5ldyBkcml2ZXJzIHNvIG1heWJlCnRoZXkgY2FuIGJlIGV4 Y3VzZWQuClByb2JsZW0gaXMgdGhhdCBkcm0gZHJpdmVycyBpbiBzdGFnaW5nIGxpdmUgYSBzZWNy ZXQgbm9udmlzaWJsZSBsaWZlCndoZXJlIHRoZXkgYXJlIGVhc3kgdG8gZm9yZ2V0IHdoZW4gd2Ug Y2hhbmdlIGludGVyZmFjZXMgYW5kIHN1Y2guCgoJU2FtCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==