[PATCH v3 0/7] drm: Add support for tiny LCD displays

Thierry Reding thierry.reding at gmail.com
Tue Feb 7 12:00:12 UTC 2017


On Tue, Jan 31, 2017 at 05:03:12PM +0100, Noralf Trønnes wrote:
> drm: Add support for tiny LCD displays
> 
> This is an attempt at providing a DRM version of drivers/staging/fbtft.
> 
> The tinydrm library provides a very simplified view of DRM in particular
> for tiny displays that has onboard video memory and is connected through
> a slow bus like SPI/I2C.
> 
> The main change this time is adding 'rotation' as a common display
> Device Tree property.
> 
> 
> Noralf.
> 
> Changes since version 2:
> - Remove fbdev after drm unregister, not before.
> - Added Documentation/devicetree/bindings/display/display.txt
> 
> Changes since version 1:
> - Add tinydrm.rst
> - Set tdev->fbdev_cma=NULL on unregister (lastclose is called after that).
> - Remove some DRM_DEBUG*()
> - Write-combined memory has uncached reads, so speed up by copying/buffering
>   one pixel line before conversion.
> 
> Changes since RFC v2:
> - Rebased on new core helpers
> - Don't use drm_panel
> - Flush when the framebuffer is changed on the plane
> - Add devm_tinydrm_init()
> - Fix PRIME support, set vaddr
> - Use atomic helpers in suspend/resume
> - Add a tinydrm_connector with one display mode
> - Set mode_config.preferred_depth and use it for fbdev
> - Subclass tinydrm_device in drivers instead of bloating the structure
> - The PiTFT display uses a MI0283QT panel, write driver for that instead.
> - Drop homegrown lcdreg module, it ended up as a collection of special
>   cases.
> - Add more documentation
> 
> Changes since RFC v1:
> - Add fb_deferred_io support to drm_fb_helper and drm_fb_cma_helper,
>   and use drm_fb_cma_helper instead.
> - Move display pipeline code to drm_simple_kms_helper.
> - Don't use (struct drm_driver *)->load().
> - Make tinydrm more like a library, exporting the internals.
> - Move the struct drm_driver definition from the tinydrm module to the
>   driver using a helper macro: TINYDRM_DRM_DRIVER.
> - Remove dirtyfb() async code.
> - Added support for partial display updates.
> 
> 
> Noralf Trønnes (7):
>   drm: Add DRM support for tiny LCD displays
>   drm/tinydrm: Add helper functions
>   drm/tinydrm: Add MIPI DBI support
>   of: Add vendor prefix for Multi-Inno
>   dt-bindings: display: Add common rotation property
>   dt-bindings: Add Multi-Inno MI0283QT binding
>   drm/tinydrm: Add support for Multi-Inno MI0283QT display
> 
>  .../devicetree/bindings/display/display.txt        |    4 +
>  .../bindings/display/multi-inno,mi0283qt.txt       |   27 +
>  .../devicetree/bindings/vendor-prefixes.txt        |    1 +
>  Documentation/gpu/index.rst                        |    1 +
>  Documentation/gpu/tinydrm.rst                      |   42 +
>  MAINTAINERS                                        |    6 +
>  drivers/gpu/drm/Kconfig                            |    2 +
>  drivers/gpu/drm/Makefile                           |    1 +
>  drivers/gpu/drm/tinydrm/Kconfig                    |   19 +
>  drivers/gpu/drm/tinydrm/Makefile                   |    7 +
>  drivers/gpu/drm/tinydrm/core/Makefile              |    3 +
>  drivers/gpu/drm/tinydrm/core/tinydrm-core.c        |  377 ++++++++
>  drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c     |  462 +++++++++
>  drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c        |  234 +++++
>  drivers/gpu/drm/tinydrm/mi0283qt.c                 |  279 ++++++
>  drivers/gpu/drm/tinydrm/mipi-dbi.c                 | 1005 ++++++++++++++++++++
>  include/drm/tinydrm/ili9341.h                      |   54 ++
>  include/drm/tinydrm/mipi-dbi.h                     |  107 +++
>  include/drm/tinydrm/tinydrm-helpers.h              |  100 ++
>  include/drm/tinydrm/tinydrm.h                      |  115 +++
>  20 files changed, 2846 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/display.txt
>  create mode 100644 Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
>  create mode 100644 Documentation/gpu/tinydrm.rst
>  create mode 100644 drivers/gpu/drm/tinydrm/Kconfig
>  create mode 100644 drivers/gpu/drm/tinydrm/Makefile
>  create mode 100644 drivers/gpu/drm/tinydrm/core/Makefile
>  create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-core.c
>  create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
>  create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
>  create mode 100644 drivers/gpu/drm/tinydrm/mi0283qt.c
>  create mode 100644 drivers/gpu/drm/tinydrm/mipi-dbi.c
>  create mode 100644 include/drm/tinydrm/ili9341.h
>  create mode 100644 include/drm/tinydrm/mipi-dbi.h
>  create mode 100644 include/drm/tinydrm/tinydrm-helpers.h
>  create mode 100644 include/drm/tinydrm/tinydrm.h

The series:

Acked-by: Thierry Reding <treding at nvidia.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170207/f22c5e32/attachment.sig>


More information about the dri-devel mailing list