From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 23/27] drm: Replace fb_helper->atomic with mode_config->atomic_commit
Date: Wed, 8 Jun 2016 14:36:42 +0200 [thread overview]
Message-ID: <20160608143642.5c538039@bbrezillon> (raw)
In-Reply-To: <1465388359-8070-23-git-send-email-daniel.vetter@ffwll.ch>
On Wed, 8 Jun 2016 14:19:15 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Drivers transitioning to atomic might not yet want to enable full
> DRIVER_ATOMIC support when it's not entirely working. But using atomic
> internally makes a lot more sense earlier.
>
> Instead of spreading such flags to more places I figured it's simpler
> to just check for mode_config->funcs->atomic_commit, and use atomic
> paths if that is set. For the only driver currently transitioning
> (i915) this does the right thing.
>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> ---
> drivers/gpu/drm/drm_fb_helper.c | 6 ++----
> drivers/gpu/drm/i915/intel_fbdev.c | 2 --
> include/drm/drm_fb_helper.h | 11 -----------
> 3 files changed, 2 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index c0e0a2e78d75..ba2fcb2a68ad 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -385,7 +385,7 @@ static int restore_fbdev_mode(struct drm_fb_helper *fb_helper)
>
> drm_warn_on_modeset_not_all_locked(dev);
>
> - if (fb_helper->atomic)
> + if (dev->mode_config.funcs->atomic_commit)
> return restore_fbdev_mode_atomic(fb_helper);
>
> drm_for_each_plane(plane, dev) {
> @@ -716,8 +716,6 @@ int drm_fb_helper_init(struct drm_device *dev,
> i++;
> }
>
> - fb_helper->atomic = !!drm_core_check_feature(dev, DRIVER_ATOMIC);
> -
> return 0;
> out_free:
> drm_fb_helper_crtc_free(fb_helper);
> @@ -1344,7 +1342,7 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
> return -EBUSY;
> }
>
> - if (fb_helper->atomic) {
> + if (dev->mode_config.funcs->atomic_commit) {
> ret = pan_display_atomic(var, info);
> goto unlock;
> }
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index ef8e67690f3d..4c725ad6fb54 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -724,8 +724,6 @@ int intel_fbdev_init(struct drm_device *dev)
> return ret;
> }
>
> - ifbdev->helper.atomic = true;
> -
> dev_priv->fbdev = ifbdev;
> INIT_WORK(&dev_priv->fbdev_suspend_work, intel_fbdev_suspend_worker);
>
> diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h
> index 5b4aa35026a3..db8d4780eaa2 100644
> --- a/include/drm/drm_fb_helper.h
> +++ b/include/drm/drm_fb_helper.h
> @@ -212,17 +212,6 @@ struct drm_fb_helper {
> * needs to be reprobe when fbdev is in control again.
> */
> bool delayed_hotplug;
> -
> - /**
> - * @atomic:
> - *
> - * Use atomic updates for restore_fbdev_mode(), etc. This defaults to
> - * true if driver has DRIVER_ATOMIC feature flag, but drivers can
> - * override it to true after drm_fb_helper_init() if they support atomic
> - * modeset but do not yet advertise DRIVER_ATOMIC (note that fb-helper
> - * does not require ASYNC commits).
> - */
> - bool atomic;
> };
>
> #ifdef CONFIG_DRM_FBDEV_EMULATION
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-06-08 12:36 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-08 12:18 [PATCH 01/27] drm/atomic-helper: Massage swap_state signature somewhat Daniel Vetter
2016-06-08 12:18 ` [PATCH 02/27] drm/arc: Nuke event_list Daniel Vetter
2016-06-08 14:13 ` Maarten Lankhorst
2016-06-08 12:18 ` [PATCH 03/27] drm/arc: Actually bother with handling atomic events Daniel Vetter
2016-06-08 14:14 ` Maarten Lankhorst
2016-06-08 14:30 ` Daniel Vetter
2016-06-09 10:54 ` Alexey Brodkin
2016-06-09 12:26 ` Daniel Vetter
2016-06-09 12:48 ` Alexey Brodkin
2016-06-09 13:23 ` Daniel Vetter
2016-06-09 13:27 ` Alexey Brodkin
2016-06-09 13:52 ` Daniel Vetter
2016-06-09 14:29 ` Alexey Brodkin
2016-06-09 14:31 ` Daniel Vetter
2016-06-09 14:37 ` Daniel Vetter
2016-06-10 13:23 ` Alexey Brodkin
2016-06-10 14:19 ` Daniel Vetter
2016-06-10 14:54 ` Daniel Vetter
2016-06-10 15:01 ` Alexey Brodkin
2016-06-10 15:09 ` Daniel Vetter
2016-06-10 15:16 ` Alexey Brodkin
2016-06-08 12:18 ` [PATCH 04/27] drm/fsl-du: Implement some semblance of vblank event handling Daniel Vetter
2016-06-08 14:15 ` Maarten Lankhorst
2016-06-08 12:18 ` [PATCH 05/27] drm/hisilicon: " Daniel Vetter
2016-06-08 14:17 ` Maarten Lankhorst
2016-06-08 14:32 ` Daniel Vetter
2016-06-08 12:18 ` [PATCH 06/27] drm/sun4i: " Daniel Vetter
2016-06-09 9:03 ` Maarten Lankhorst
2017-01-02 12:23 ` Laurent Pinchart
2016-06-08 12:18 ` [PATCH 07/27] drm/atomic: kerneldoc for drm_atomic_crtc_needs_modeset Daniel Vetter
2016-06-08 14:11 ` Liviu Dudau
2016-06-09 9:03 ` Maarten Lankhorst
2016-06-08 12:19 ` [PATCH 08/27] drm/atomic: Add struct drm_crtc_commit to track async updates Daniel Vetter
2016-06-08 14:41 ` Maarten Lankhorst
2016-06-09 10:09 ` Liviu Dudau
2016-06-08 12:19 ` [PATCH 09/27] drm/atomic-helper: roll out commit synchronization Daniel Vetter
2016-06-08 14:40 ` Maarten Lankhorst
2016-06-08 15:15 ` [PATCH] " Daniel Vetter
2017-01-02 12:09 ` Laurent Pinchart
2017-01-04 8:49 ` Daniel Vetter
2016-06-09 14:22 ` [PATCH 09/27] " Maarten Lankhorst
2016-06-08 12:19 ` [PATCH 10/27] drm/atomic-helper: nonblocking commit support Daniel Vetter
2016-06-08 14:44 ` Maarten Lankhorst
2016-06-08 15:05 ` Daniel Vetter
2016-06-08 15:54 ` Chris Wilson
2016-06-08 16:19 ` Daniel Vetter
2016-06-08 16:22 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 11/27] drm/arc: Implement nonblocking commit correctly Daniel Vetter
2016-06-08 14:27 ` Maarten Lankhorst
2016-06-08 12:19 ` [PATCH 12/27] drm/hdlcd: Use helper support for nonblocking commits Daniel Vetter
2016-06-08 12:19 ` [PATCH 13/27] drm/i915: Signal drm events for atomic Daniel Vetter
2016-06-08 14:25 ` Maarten Lankhorst
2016-06-08 12:19 ` [PATCH 14/27] drm/i915: Roll out the helper nonblock tracking Daniel Vetter
2016-06-09 14:01 ` Maarten Lankhorst
2016-06-08 12:19 ` [PATCH 15/27] drm/i915: nonblocking commit Daniel Vetter
2016-06-09 14:03 ` Maarten Lankhorst
2016-06-09 14:40 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 16/27] drm/i915: Use atomic commits for legacy page_flips Daniel Vetter
2016-06-08 14:24 ` Chris Wilson
2016-06-08 14:34 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 17/27] drm/i915: Move fb_bits updating later in atomic_commit Daniel Vetter
2016-06-08 12:19 ` [PATCH 18/27] drm/rockchip: Disarm vop->is_enabled Daniel Vetter
2016-06-08 12:19 ` [PATCH 19/27] drm/rockchip: Fix crtc_state->event signalling Daniel Vetter
2016-06-08 12:19 ` [PATCH 20/27] drm/rockchip: convert to helper nonblocking atomic commit Daniel Vetter
2016-06-08 12:19 ` [PATCH 21/27] drm/rockchip: Nuke pending event handling in preclose Daniel Vetter
2016-06-10 15:21 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 22/27] drm/virtio: Don't reinvent a flipping wheel Daniel Vetter
2016-06-09 22:07 ` [PATCH] " Daniel Vetter
2016-06-10 15:20 ` Daniel Vetter
2016-06-13 9:20 ` Gerd Hoffmann
2016-06-13 13:34 ` Daniel Vetter
2016-06-14 14:25 ` Gerd Hoffmann
2016-06-14 14:33 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 23/27] drm: Replace fb_helper->atomic with mode_config->atomic_commit Daniel Vetter
2016-06-08 12:36 ` Boris Brezillon [this message]
2016-06-12 9:01 ` Ying Liu
2016-06-13 7:58 ` Daniel Vetter
2016-06-13 9:26 ` Ying Liu
2016-06-13 14:01 ` Daniel Vetter
2016-06-20 5:55 ` Ying Liu
2016-06-20 13:26 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 24/27] drm: Resurrect atomic rmfb code Daniel Vetter
2016-07-13 10:15 ` Maarten Lankhorst
2016-07-13 10:56 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 25/27] drm/sti: Don't call drm_helper_disable_unused_functions Daniel Vetter
2016-06-08 12:19 ` [PATCH 26/27] drm/crtc-helper: disable_unused_functions really isn't for atomic Daniel Vetter
2016-06-08 22:36 ` Laurent Pinchart
2016-06-09 8:26 ` Daniel Vetter
2016-06-21 9:12 ` Laurent Pinchart
2016-06-21 9:46 ` Daniel Vetter
2016-06-09 22:14 ` [PATCH] drm/omapdrm: don't call drm_helper_disable_unused_functions Daniel Vetter
2016-06-09 22:50 ` Laurent Pinchart
2016-06-10 6:24 ` Tomi Valkeinen
2016-06-10 6:26 ` Tomi Valkeinen
2016-06-21 8:02 ` Daniel Vetter
2016-06-08 12:19 ` [PATCH 27/27] drm/atomic-helper: Annotate a bunch more RETURNS: sections Daniel Vetter
2016-06-08 14:11 ` [PATCH 01/27] drm/atomic-helper: Massage swap_state signature somewhat Maarten Lankhorst
2016-06-09 22:06 ` [PATCH] " Daniel Vetter
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=20160608143642.5c538039@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.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