tiny drm driver for NOKIA-5110 LCD

Thomas Zimmermann tzimmermann at suse.de
Wed Aug 10 07:02:18 UTC 2022


Hi

Am 09.08.22 um 18:23 schrieb Andy Shevchenko:
> On Tue, Aug 9, 2022 at 6:14 PM Aliliche Larbi <alilichelarbi at gmail.com> wrote:
>>
>> Good morning sir,
>>
>> I am developing a linux driver for the nokia 5110 lcd(monochrome),
>> I would like to know if I can use the drm API or tiny drm for this lcd.
>> I'm writing to you because I saw your commit in /staging/fbtft/TODO
>> where you talk about converting all fbtft drivers to drm_simple_display_pipe.
>>
>> Is this possible for simple monochrome lcds like the 5110 one?

For such simple hardware, the tiny-DRM helpers are equivalent to the 
full helpers. So either is possible. Tiny helpers are build on top of 
the regular helpers and in the end the difference is small.

And to add a personal opinion, I've used both and come to dislike the 
tiny-helpers. They seem easier to use, but that impression mostly comes 
from conflating CRTCs and planes. Mixing both makes is harder to share 
code with other drivers. I then had to build extra wrappers around 
existing helpers only to use them with tiny-DRM (see 
DRM_GEM_SHADOW_PLANE_FUNCS, [1] DRM_GEM_SHADOW_PLANE_HELPER_FUNCS [2] 
and DRM_GEM_SIMPLE_DISPLAY_PIPE_SHADOW_PLANE_FUNCS [3] for an example.)

Tiny-DRM helpers are also not that much more tiny. Patches to convert 
from tiny DRM to regular helpers only enlarge drivers by a few dozen 
lines. [4][5]

For the drivers that I'm responsible, I began to replace them with the 
full helpers. Using tiny DRM won't block your driver from being merged, 
but in my (entirely subjective) opinion, we should rather make a push 
towards removing tiny-DRM entirely.

Best regards
Thomas

[1] 
https://elixir.bootlin.com/linux/v5.19/source/include/drm/drm_gem_atomic_helper.h#L101
[2] 
https://elixir.bootlin.com/linux/v5.19/source/include/drm/drm_gem_atomic_helper.h#L117
[3] 
https://elixir.bootlin.com/linux/v5.19/source/include/drm/drm_gem_atomic_helper.h#L139
[4] https://patchwork.freedesktop.org/patch/495839/?series=106100&rev=3
[5] https://patchwork.freedesktop.org/series/106880/


> 
> You may convert _existing_ driver [1] to real DRM, like it's done for
> SSD130x [2].
> 
> [1]: https://elixir.bootlin.com/linux/latest/source/drivers/staging/fbtft/fb_pcd8544.c
> [2]: https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/solomon
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220810/43487f35/attachment-0001.sig>


More information about the dri-devel mailing list