[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170131160319.9695-1-noralf@tronnes.org>
Date: Tue, 31 Jan 2017 17:03:12 +0100
From: Noralf Trønnes <noralf@...nnes.org>
To: dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org
Cc: robh@...nel.org, thomas.petazzoni@...e-electrons.com,
linux-kernel@...r.kernel.org,
Noralf Trønnes <noralf@...nnes.org>
Subject: [PATCH v3 0/7] drm: Add support for tiny LCD displays
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
--
2.10.2
Powered by blists - more mailing lists