From: "Noralf Trønnes" <noralf@tronnes.org> To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Cc: thomas.petazzoni@free-electrons.com, linux-kernel@vger.kernel.org, "Noralf Trønnes" <noralf@tronnes.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
WARNING: multiple messages have this Message-ID (diff)
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: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-22 18:11 Noralf Trønnes [this message] 2017-01-22 18:11 ` [PATCH 0/9] drm: Add support for tiny LCD displays Noralf Trønnes 2017-01-22 18:11 ` [PATCH 1/9] drm/fb-cma-helper: Add drm_fbdev_cma_set_suspend_unlocked() Noralf Trønnes 2017-01-22 18:11 ` Noralf Trønnes 2017-01-23 9:07 ` Daniel Vetter 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-22 18:11 ` Noralf Trønnes 2017-01-23 9:10 ` Daniel Vetter 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 ` Noralf Trønnes 2017-01-22 18:11 ` [PATCH 4/9] drm: Add DRM support for tiny LCD displays Noralf Trønnes 2017-01-22 18:11 ` 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-22 18:11 ` 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 ` Noralf Trønnes 2017-01-22 18:11 ` [PATCH 7/9] of: Add vendor prefix for Multi-Inno Noralf Trønnes 2017-01-22 18:11 ` Noralf Trønnes 2017-01-23 20:33 ` Rob Herring 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-22 18:11 ` Noralf Trønnes 2017-01-23 20:43 ` Rob Herring 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 2017-01-22 18:11 ` 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@tronnes.org \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=thomas.petazzoni@free-electrons.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.