From: "Noralf Trønnes" <noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org>
To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Noralf Trønnes" <noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org>
Subject: [PATCH 0/9] drm: Add support for tiny LCD displays
Date: Sun, 22 Jan 2017 19:11:08 +0100 [thread overview]
Message-ID: <20170122181117.8210-1-noralf@tronnes.org> (raw)
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.
Main changes since the RFCv2 in April last year:
- No tinydrm specific callbacks (dirtyfb+drm_panel_funcs), instead use
drm_simple_display_pipe_funcs and drm_framebuffer_funcs directly in
drivers and controller libraries.
- Drop lcdreg abstraction. MIPI DCS isn't really about registers, but
rather commands with optional parameters. regmap is probably a good
fit for the other more register oriented controllers.
I will cut back on some of the DRM_DEBUG*() usage when the api has settled.
Noralf.
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 (9):
drm/fb-cma-helper: Add drm_fbdev_cma_set_suspend_unlocked()
drm: debugfs: Remove all files automatically on cleanup
drm/simple-helpers: Add missing includes
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: Add Multi-Inno MI0283QT binding
drm/tinydrm: Add support for Multi-Inno MI0283QT display
.../bindings/display/multi-inno,mi0283qt.txt | 27 +
.../devicetree/bindings/vendor-prefixes.txt | 1 +
Documentation/gpu/drm-kms-helpers.rst | 33 +
MAINTAINERS | 13 +
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_debugfs.c | 17 +-
drivers/gpu/drm/drm_fb_cma_helper.c | 18 +
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 | 374 ++++++++
drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 490 ++++++++++
drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 244 +++++
drivers/gpu/drm/tinydrm/mi0283qt.c | 279 ++++++
drivers/gpu/drm/tinydrm/mipi-dbi.c | 1005 ++++++++++++++++++++
include/drm/drm_fb_cma_helper.h | 2 +
include/drm/drm_simple_kms_helper.h | 4 +
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 +++
22 files changed, 2913 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2017-01-22 18:11 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-22 18:11 Noralf Trønnes [this message]
[not found] ` <20170122181117.8210-1-noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org>
2017-01-22 18:11 ` [PATCH 1/9] drm/fb-cma-helper: Add drm_fbdev_cma_set_suspend_unlocked() Noralf Trønnes
2017-01-23 9:07 ` Daniel Vetter
2017-01-22 18:11 ` [PATCH 2/9] drm: debugfs: Remove all files automatically on cleanup Noralf Trønnes
2017-01-23 9:10 ` Daniel Vetter
2017-01-22 18:11 ` [PATCH 3/9] drm/simple-helpers: Add missing includes Noralf Trønnes
2017-01-22 18:11 ` [PATCH 4/9] drm: Add DRM support for tiny LCD displays Noralf Trønnes
2017-01-23 9:28 ` Daniel Vetter
2017-01-24 16:35 ` Noralf Trønnes
2017-01-24 17:48 ` Jani Nikula
2017-01-22 18:11 ` [PATCH 5/9] drm/tinydrm: Add helper functions Noralf Trønnes
2017-01-23 9:32 ` Daniel Vetter
2017-01-22 18:11 ` [PATCH 6/9] drm/tinydrm: Add MIPI DBI support Noralf Trønnes
2017-01-22 18:11 ` [PATCH 7/9] of: Add vendor prefix for Multi-Inno Noralf Trønnes
[not found] ` <20170122181117.8210-8-noralf-L59+Z2yzLopAfugRpC6u6w@public.gmane.org>
2017-01-23 20:33 ` Rob Herring
2017-01-22 18:11 ` [PATCH 8/9] dt-bindings: Add Multi-Inno MI0283QT binding Noralf Trønnes
2017-01-23 20:43 ` Rob Herring
2017-01-22 18:11 ` [PATCH 9/9] drm/tinydrm: Add support for Multi-Inno MI0283QT display Noralf Trønnes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170122181117.8210-1-noralf@tronnes.org \
--to=noralf-l59+z2yzlopafugrpc6u6w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).