From: Daniel Vetter <daniel@ffwll.ch>
To: "Noralf Trønnes" <noralf@tronnes.org>
Cc: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org,
daniel@ffwll.ch, laurent.pinchart@ideasonboard.com,
tomi.valkeinen@ti.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/7] drm: Add fbdev deferred io support to helpers
Date: Wed, 27 Apr 2016 21:24:46 +0200 [thread overview]
Message-ID: <20160427192446.GI2558@phenom.ffwll.local> (raw)
In-Reply-To: <1461780996-8612-1-git-send-email-noralf@tronnes.org>
On Wed, Apr 27, 2016 at 08:16:29PM +0200, Noralf Trønnes wrote:
> This patchset adds fbdev deferred io support to drm_fb_helper and
> drm_fb_cma_helper.
>
> It channels fbdev mmap and fb_{write,fillrect,copyarea,imageblit} damage
> through the (struct drm_framebuffer_funcs)->dirty callback on the
> fb_helper framebuffer which will always run in process context.
>
> I have also added patches that converts qxl and udl to use this
> deferred io support. I have only compile tested it, no functional testing.
> I know that qxl is purely a software thing so I could actually test it, but
> I have never used qemu so I'm not keen on spending a lot of time on that.
>
> This was originally part of the tinydrm patchset.
>
> Changes since v2:
> - drm/rect: Add some drm_clip_rect utility functions
> - This patch is dropped
> - drm/fb-helper: Add fb_deferred_io support
> - FB_DEFERRED_IO is now always selected by DRM_KMS_FB_HELPER, ifdef removed
> - The drm_clip_rect utility functions are dropped, so open code it
> - docs: use & to denote structs
> - drm/qxl: Use drm_fb_helper deferred_io support
> - The drm_clip_rect_{width/height} functions are dropped, so open code it
Found two tiny nit in the drm fbdev helper patch. Otherwise I think just needs
an ack from Tomi for the fbdev patch, and from Laurent Pinchart for the
cma one (you've forgotten to cc him) and this is good to land imo.
-Daniel
>
> Changes since v1:
> - drm/fb-helper: Add fb_deferred_io support
> - Use a dedicated worker to run the framebuffer flushing like qxl does
> - Add parameter descriptions to drm_fb_helper_deferred_io
> - fbdev: fb_defio: Export fb_deferred_io_mmap
> - Expand commit message
> - drm/qxl: Use drm_fb_helper deferred_io support
> - Add FIXME about special dirty() callback for fbdev
> - Remove note in commit message about deferred worker, drm_fb_helper
> is similar to qxl now.
> - drm/udl: Use drm_fb_helper deferred_io support
> - No need to enable deferred_io by default since drm_fb_helper uses
> a dedicated worker for flushing
>
> Changes since RFC:
> - Fix drm_clip_rect use to be exclusive on x2/y2
> - Put drm_clip_rect functions in drm_rect.{h,c}
> - Take into account that (struct fb_ops *)->fb_{write,...}() can be called
> from atomic context (spin_lock_irqsave)
> - Export fb_deferred_io_mmap()
> - Add some more documentation
> - Add qxl and udl patches
>
> Noralf Trønnes (7):
> drm/udl: Change drm_fb_helper_sys_*() calls to sys_*()
> drm/qxl: Change drm_fb_helper_sys_*() calls to sys_*()
> drm/fb-helper: Add fb_deferred_io support
> fbdev: fb_defio: Export fb_deferred_io_mmap
> drm/fb-cma-helper: Add fb_deferred_io support
> drm/qxl: Use drm_fb_helper deferred_io support
> drm/udl: Use drm_fb_helper deferred_io support
>
> drivers/gpu/drm/Kconfig | 1 +
> drivers/gpu/drm/drm_fb_cma_helper.c | 178 ++++++++++++++++++++++++++--
> drivers/gpu/drm/drm_fb_helper.c | 109 +++++++++++++++++-
> drivers/gpu/drm/qxl/qxl_display.c | 9 +-
> drivers/gpu/drm/qxl/qxl_drv.h | 7 +-
> drivers/gpu/drm/qxl/qxl_fb.c | 223 +++++++++---------------------------
> drivers/gpu/drm/qxl/qxl_kms.c | 4 -
> drivers/gpu/drm/udl/udl_drv.h | 2 -
> drivers/gpu/drm/udl/udl_fb.c | 140 +---------------------
> drivers/video/fbdev/core/fb_defio.c | 3 +-
> include/drm/drm_fb_cma_helper.h | 14 +++
> include/drm/drm_fb_helper.h | 15 +++
> include/linux/fb.h | 1 +
> 13 files changed, 378 insertions(+), 328 deletions(-)
>
> --
> 2.2.2
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
next prev parent reply other threads:[~2016-04-27 19:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 18:16 [PATCH v3 0/7] drm: Add fbdev deferred io support to helpers Noralf Trønnes
2016-04-27 18:16 ` [PATCH v3 1/7] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*() Noralf Trønnes
2016-04-27 18:16 ` [PATCH v3 2/7] drm/qxl: " Noralf Trønnes
2016-04-27 18:16 ` [PATCH v3 3/7] drm/fb-helper: Add fb_deferred_io support Noralf Trønnes
2016-04-27 19:20 ` Daniel Vetter
2016-04-27 19:24 ` Noralf Trønnes
2016-04-28 7:17 ` Daniel Vetter
2016-04-27 18:16 ` [PATCH v3 4/7] fbdev: fb_defio: Export fb_deferred_io_mmap Noralf Trønnes
2016-04-27 18:16 ` [PATCH v3 5/7] drm/fb-cma-helper: Add fb_deferred_io support Noralf Trønnes
2016-04-27 18:16 ` [PATCH v3 6/7] drm/qxl: Use drm_fb_helper deferred_io support Noralf Trønnes
2016-04-27 19:22 ` Daniel Vetter
2016-04-27 18:16 ` [PATCH v3 7/7] drm/udl: " Noralf Trønnes
2016-04-27 19:24 ` Daniel Vetter [this message]
2016-04-27 19:49 ` [PATCH v3 0/7] drm: Add fbdev deferred io support to helpers Noralf Trønnes
2016-04-28 7:20 ` Daniel Vetter
2016-04-29 8:02 ` Gerd Hoffmann
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=20160427192446.GI2558@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=noralf@tronnes.org \
--cc=tomi.valkeinen@ti.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