dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: javierm@redhat.com, maarten.lankhorst@linux.intel.com,
	mripard@kernel.org, airlied@gmail.com, daniel@ffwll.ch,
	andrew@aj.id.au, laurentiu.palcu@oss.nxp.com,
	l.stach@pengutronix.de, shawnguo@kernel.org,
	s.hauer@pengutronix.de, kernel@pengutronix.de,
	festevam@gmail.com, linux-imx@nxp.com, p.zabel@pengutronix.de,
	anitha.chrisanthus@intel.com, edmund.j.dea@intel.com,
	khilman@baylibre.com, jbrunet@baylibre.com,
	martin.blumenstingl@googlemail.com, alain.volmat@foss.st.com,
	yannick.fertre@foss.st.com, raphael.gallais-pou@foss.st.com,
	philippe.cornu@foss.st.com, mcoquelin.stm32@gmail.com,
	alexandre.torgue@foss.st.com, jernej.skrabec@gmail.com,
	samuel@sholland.org, jyri.sarha@iki.fi, tomba@kernel.org,
	linus.walleij@linaro.org, hyun.kwon@xilinx.com,
	laurent.pinchart@ideasonboard.com
Cc: linux-aspeed@lists.ozlabs.org, dri-devel@lists.freedesktop.org,
	linux-stm32@st-md-mailman.stormreply.com,
	Thomas Zimmermann <tzimmermann@suse.de>,
	linux-amlogic@lists.infradead.org, linux-sunxi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/22] drm/dma-helper: Add dedicated fbdev emulation
Date: Wed,  1 Mar 2023 16:30:39 +0100	[thread overview]
Message-ID: <20230301153101.4282-1-tzimmermann@suse.de> (raw)

Add fbdev emulation that is optimized for DMA helpers, as used by most
drivers. It operates directly on GEM DMA buffers in system memory.
Memory pages are mmap'ed directly to userspace. No implicit shadow
buffers need to be allocated; as can happen with the generic fbdev
emulation. Convert drivers that fulfil the requirements.

Tested with fbcon and IGT on vc4.

Future direction: providing a dedicated fbdev emulation for GEM DMA
helpers will allow us to remove this case from the generic fbdev code.
The latter can then be simplified.

Thomas Zimmermann (22):
  drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers
  arm/hdlcd: Use GEM DMA fbdev emulation
  arm/malidp: Use GEM DMA fbdev emulation
  drm/aspeed: Use GEM DMA fbdev emulation
  drm/atmel-hlcdc: Use GEM DMA fbdev emulation
  drm/fsl-dcu: Use GEM DMA fbdev emulation
  drm/imx/dcss: Use GEM DMA fbdev emulation
  drm/imx: Use GEM DMA fbdev emulation
  drm/kmb: Use GEM DMA fbdev emulation
  drm/logicvc: Use GEM DMA fbdev emulation
  drm/meson: Use GEM DMA fbdev emulation
  drm/mxsfb/lcdif: Use GEM DMA fbdev emulation
  drm/mxsfb: Use GEM DMA fbdev emulation
  drm/sti: Use GEM DMA fbdev emulation
  drm/stm: Use GEM DMA fbdev emulation
  drm/sun4i: Use GEM DMA fbdev emulation
  drm/tidss: Use GEM DMA fbdev emulation
  drm/tilcdc: Use GEM DMA fbdev emulation
  drm/arcpgu: Use GEM DMA fbdev emulation
  drm/tve200: Use GEM DMA fbdev emulation
  drm/vc4: Use GEM DMA fbdev emulation
  drm/xlnx: Use GEM DMA fbdev emulation

 drivers/gpu/drm/Makefile                     |   1 +
 drivers/gpu/drm/arm/hdlcd_drv.c              |   4 +-
 drivers/gpu/drm/arm/malidp_drv.c             |   4 +-
 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c      |   4 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c |   4 +-
 drivers/gpu/drm/drm_fbdev_dma.c              | 275 +++++++++++++++++++
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c    |   4 +-
 drivers/gpu/drm/imx/dcss/dcss-kms.c          |   4 +-
 drivers/gpu/drm/imx/ipuv3/imx-drm-core.c     |   4 +-
 drivers/gpu/drm/kmb/kmb_drv.c                |   4 +-
 drivers/gpu/drm/logicvc/logicvc_drm.c        |   4 +-
 drivers/gpu/drm/meson/meson_drv.c            |   4 +-
 drivers/gpu/drm/mxsfb/lcdif_drv.c            |   4 +-
 drivers/gpu/drm/mxsfb/mxsfb_drv.c            |   4 +-
 drivers/gpu/drm/sti/sti_drv.c                |   4 +-
 drivers/gpu/drm/stm/drv.c                    |   4 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c            |   4 +-
 drivers/gpu/drm/tidss/tidss_drv.c            |   4 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c          |   4 +-
 drivers/gpu/drm/tiny/arcpgu.c                |   4 +-
 drivers/gpu/drm/tve200/tve200_drv.c          |   4 +-
 drivers/gpu/drm/vc4/vc4_drv.c                |   4 +-
 drivers/gpu/drm/xlnx/zynqmp_kms.c            |   4 +-
 include/drm/drm_fbdev_dma.h                  |  15 +
 24 files changed, 333 insertions(+), 42 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_fbdev_dma.c
 create mode 100644 include/drm/drm_fbdev_dma.h


base-commit: 734cd918122f6ec06e4c9366fb3283b29b1c7ea5
prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6
-- 
2.39.2


             reply	other threads:[~2023-03-01 15:31 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-01 15:30 Thomas Zimmermann [this message]
2023-03-01 15:30 ` [PATCH 01/22] drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers Thomas Zimmermann
2023-03-09 11:04   ` Javier Martinez Canillas
2023-03-09 11:14     ` Javier Martinez Canillas
2023-03-10 13:54     ` Thomas Zimmermann
2023-03-01 15:30 ` [PATCH 02/22] arm/hdlcd: Use GEM DMA fbdev emulation Thomas Zimmermann
2023-03-09 11:17   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 03/22] arm/malidp: " Thomas Zimmermann
2023-03-09 11:18   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 04/22] drm/aspeed: " Thomas Zimmermann
2023-03-09 11:20   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 05/22] drm/atmel-hlcdc: " Thomas Zimmermann
2023-03-02 19:47   ` Sam Ravnborg
2023-03-09 11:20   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 06/22] drm/fsl-dcu: " Thomas Zimmermann
2023-03-09 11:20   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 07/22] drm/imx/dcss: " Thomas Zimmermann
2023-03-09 11:20   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 08/22] drm/imx: " Thomas Zimmermann
2023-03-09 11:21   ` Javier Martinez Canillas
2023-03-09 11:22   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 09/22] drm/kmb: " Thomas Zimmermann
2023-03-06 17:18   ` Chrisanthus, Anitha
2023-03-09 11:21   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 10/22] drm/logicvc: " Thomas Zimmermann
2023-03-09 11:23   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 11/22] drm/meson: " Thomas Zimmermann
2023-03-04 21:53   ` Martin Blumenstingl
2023-03-09 11:22   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 12/22] drm/mxsfb/lcdif: " Thomas Zimmermann
2023-03-09 11:24   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 13/22] drm/mxsfb: " Thomas Zimmermann
2023-03-09 11:25   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 14/22] drm/sti: " Thomas Zimmermann
2023-03-09 11:26   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 15/22] drm/stm: " Thomas Zimmermann
2023-03-09 11:26   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 16/22] drm/sun4i: " Thomas Zimmermann
2023-03-09 11:26   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 17/22] drm/tidss: " Thomas Zimmermann
2023-03-09 11:27   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 18/22] drm/tilcdc: " Thomas Zimmermann
2023-03-09 11:27   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 19/22] drm/arcpgu: " Thomas Zimmermann
2023-03-09 11:28   ` Javier Martinez Canillas
2023-03-01 15:30 ` [PATCH 20/22] drm/tve200: " Thomas Zimmermann
2023-03-06 22:19   ` Linus Walleij
2023-03-09 11:28   ` Javier Martinez Canillas
2023-03-01 15:31 ` [PATCH 21/22] drm/vc4: " Thomas Zimmermann
2023-03-09 11:28   ` Javier Martinez Canillas
2023-03-01 15:31 ` [PATCH 22/22] drm/xlnx: " Thomas Zimmermann
2023-03-09 11:29   ` Javier Martinez Canillas
2023-03-06 22:19 ` [PATCH 00/22] drm/dma-helper: Add dedicated " Linus Walleij
2023-03-07  8:55   ` Thomas Zimmermann
2023-03-09  8:17     ` Linus Walleij

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=20230301153101.4282-1-tzimmermann@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@gmail.com \
    --cc=alain.volmat@foss.st.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew@aj.id.au \
    --cc=anitha.chrisanthus@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=edmund.j.dea@intel.com \
    --cc=festevam@gmail.com \
    --cc=hyun.kwon@xilinx.com \
    --cc=javierm@redhat.com \
    --cc=jbrunet@baylibre.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jyri.sarha@iki.fi \
    --cc=kernel@pengutronix.de \
    --cc=khilman@baylibre.com \
    --cc=l.stach@pengutronix.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=laurentiu.palcu@oss.nxp.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=philippe.cornu@foss.st.com \
    --cc=raphael.gallais-pou@foss.st.com \
    --cc=s.hauer@pengutronix.de \
    --cc=samuel@sholland.org \
    --cc=shawnguo@kernel.org \
    --cc=tomba@kernel.org \
    --cc=yannick.fertre@foss.st.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: 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).