Thread (30 messages) 30 messages, 18 authors, 2015-09-30

Re: No more new fbdev drivers, please

From: Rob Clark <hidden>
Date: 2015-09-26 20:49:13
Also in: dri-devel, lkml

On Sat, Sep 26, 2015 at 2:46 PM, Geert Uytterhoeven
[off-list ref] wrote:
Hi David,

On Sat, Sep 26, 2015 at 8:13 PM, David Herrmann [off-list ref] wrote:
quoted
On Sat, Sep 26, 2015 at 8:01 PM, Geert Uytterhoeven
[off-list ref] wrote:
quoted
On Sat, Sep 26, 2015 at 7:07 PM, Alex Deucher [off-list ref] wrote:
quoted
On Sat, Sep 26, 2015 at 4:28 AM, Geert Uytterhoeven
[off-list ref] wrote:
quoted
For the (mailing list) record, can you please provide some explicit pointers
to these existing really simple drivers?
See the tilcdc, ast, mgag200, and udl drivers for example.
Thanks for the list!

The smallest of these (udl) still counts in at ca. 2800 LoC, while there are
several fbdev drivers that have less than 200 LoC.
Granted, these really small ones support a single fixed video mode only, but
you can write a simple fbdev driver with mode setting in less than 1000 LoC.

I'm sure DRM can do better?
Is counting lines really the level of the discussion to go here?
LoC is not the most important. But if the smallest DRM driver needs an order
of magnitude more LoC than the smallest fbdev driver, I start to wonder.
I think most of the drm/kms drivers are bigger due to more features..
iirc original tilcdc was ~2k loc (compared to ~1.6kloc for da8xx-fb),
but it already supported multiple modes, page flipping, vblank
notification, etc.  It has grown since then.  Although still probably
smaller than downstream da8xx-fb + tda998x hdmi bridge (and re-using
the same tda998x bridge code with several other drivers too, compared
to downstream solution for the same)..

Probably there is room for more helpers for even more restrictive hw.

BR,
-R
E.g. if I want to write a new simple driver for my new shiny hardware, it
can make a big difference if I have to write (and test/debug) 800 LoC, or
3000 LoC.
quoted
DRM is a big set of helpers, nothing else. If many trivial, small
drivers share common code, developers are more than welcome to
contribute them to drm-core and help making drivers less complex.
Good. But from the figures above, I don't think we're at that point yet that
writing a new DRM driver is less/equal amount of work than writing a new
fbdev driver, at least for some classes of hardware. So it may be a bit
premature to put a moratorium on new fbdev drivers.
I may be mistaken, I'm still not sufficiently familiar with the DRM subsystem
as I'd like to be.
quoted
As Daniel mentioned, the connector+encoder+crtc combination is one of
those simplifications that would make sense if more such drivers are
added. Furthermore, the not-yet-merged SimpleDRM driver is one example
how to implement multiple of those dumb-fb drivers with a shared
code-base.
Thanks, looking forward to SimpleDRM!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help