All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "Noralf Trønnes" <noralf@tronnes.org>
Cc: jy0922.shim@samsung.com, daniel.vetter@ffwll.ch,
	tomi.valkeinen@ti.com, sw0312.kim@samsung.com,
	dri-devel@lists.freedesktop.org, inki.dae@samsung.com,
	hdegoede@redhat.com, kyungmin.park@samsung.com,
	bskeggs@redhat.com, rodrigo.vivi@intel.com,
	alexander.deucher@amd.com, linux@armlinux.org.uk,
	intel-gfx@lists.freedesktop.org, christian.koenig@amd.com,
	mark.yao@rock-chips.com
Subject: Re: [PATCH 02/15] drm: Add drm_device->drm_fb_helper_private pointer
Date: Fri, 20 Oct 2017 15:29:58 +0200	[thread overview]
Message-ID: <20171020132957.vphj7bgrlasqbkqt@phenom.ffwll.local> (raw)
In-Reply-To: <20171019230213.63521-3-noralf@tronnes.org>

On Fri, Oct 20, 2017 at 01:02:00AM +0200, Noralf Trønnes wrote:
> drm_fb_helper is *the* way of doing fbdev emulation so add a pointer to
> struct drm_device. This makes it possible to add callback helpers for
> .last_close and .output_poll_changed further reducing fbdev emulation
> footprint in drivers. The pointer is set by drm_fb_helper_init() and
> cleared by drm_fb_helper_fini().
> 
> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
> ---
> 
> This patch was initially part of the patchset: drm/tinydrm: Use vmalloc BO
> Changes since previous version:
> - Change member name: fbdev -> drm_fb_helper_private
> - Expand docs
> - Set and clear pointer in drm_fb_helper_init/fini()

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> 
>  drivers/gpu/drm/drm_fb_helper.c | 13 +++++++++++--
>  include/drm/drm_device.h        |  9 +++++++++
>  2 files changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 954cdd48de92..c07b7af8de4c 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -799,8 +799,10 @@ int drm_fb_helper_init(struct drm_device *dev,
>  	struct drm_mode_config *config = &dev->mode_config;
>  	int i;
>  
> -	if (!drm_fbdev_emulation)
> +	if (!drm_fbdev_emulation) {
> +		dev->drm_fb_helper_private = fb_helper;
>  		return 0;
> +	}
>  
>  	if (!max_conn_count)
>  		return -EINVAL;
> @@ -835,6 +837,8 @@ int drm_fb_helper_init(struct drm_device *dev,
>  		i++;
>  	}
>  
> +	dev->drm_fb_helper_private = fb_helper;
> +
>  	return 0;
>  out_free:
>  	drm_fb_helper_crtc_free(fb_helper);
> @@ -913,7 +917,12 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper)
>  {
>  	struct fb_info *info;
>  
> -	if (!drm_fbdev_emulation || !fb_helper)
> +	if (!fb_helper)
> +		return;
> +
> +	fb_helper->dev->drm_fb_helper_private = NULL;
> +
> +	if (!drm_fbdev_emulation)
>  		return;
>  
>  	cancel_work_sync(&fb_helper->resume_work);
> diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
> index e21af87a2f3c..6b26262658ae 100644
> --- a/include/drm/drm_device.h
> +++ b/include/drm/drm_device.h
> @@ -17,6 +17,7 @@ struct drm_vblank_crtc;
>  struct drm_sg_mem;
>  struct drm_local_map;
>  struct drm_vma_offset_manager;
> +struct drm_fb_helper;
>  
>  struct inode;
>  
> @@ -185,6 +186,14 @@ struct drm_device {
>  	struct drm_vma_offset_manager *vma_offset_manager;
>  	/*@} */
>  	int switch_power_state;
> +
> +	/**
> +	 * @drm_fb_helper_private:
> +	 *
> +	 * Pointer to the fbdev emulation structure.
> +	 * Set by drm_fb_helper_init() and cleared by drm_fb_helper_fini().
> +	 */
> +	struct drm_fb_helper *drm_fb_helper_private;
>  };
>  
>  #endif
> -- 
> 2.14.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-10-20 13:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-19 23:01 [PATCH 00/15] drm/fb-helper: Add .last_close and .output_poll_changed helpers Noralf Trønnes
2017-10-19 23:01 ` [PATCH 01/15] drm/fb-helper: Handle function NULL argument Noralf Trønnes
2017-10-19 23:02 ` [PATCH 02/15] drm: Add drm_device->drm_fb_helper_private pointer Noralf Trønnes
2017-10-20 13:29   ` Daniel Vetter [this message]
2017-10-20 13:52   ` Ville Syrjälä
2017-10-20 15:44     ` Noralf Trønnes
2017-10-20 16:00       ` Ville Syrjälä
2017-10-20 17:11         ` Noralf Trønnes
2017-10-30  9:25           ` Daniel Vetter
2017-10-19 23:02 ` [PATCH 03/15] drm/fb-helper: Add .last_close and .output_poll_changed helpers Noralf Trønnes
2017-10-19 23:02 ` [PATCH 04/15] drm/amdgpu: Use drm_fb_helper_lastclose() and _poll_changed() Noralf Trønnes
2017-10-19 23:02 ` [PATCH 05/15] drm/armada: " Noralf Trønnes
2017-10-23 10:10   ` Russell King - ARM Linux
2017-10-19 23:02 ` [PATCH 06/15] drm/exynos: " Noralf Trønnes
2017-10-19 23:02 ` [PATCH 07/15] drm/gma500: " Noralf Trønnes
2017-10-19 23:02 ` [PATCH 08/15] drm/i915: Use drm_fb_helper_output_poll_changed() Noralf Trønnes
2017-10-19 23:02 ` [PATCH 09/15] drm/msm: Use drm_fb_helper_lastclose() and _poll_changed() Noralf Trønnes
2017-10-19 23:02 ` [PATCH 10/15] drm/nouveau: Use drm_fb_helper_output_poll_changed() Noralf Trønnes
2017-10-19 23:02 ` [PATCH 11/15] drm/omap: Use drm_fb_helper_lastclose() and _poll_changed() Noralf Trønnes
2017-10-19 23:02 ` [PATCH 12/15] drm/radeon: " Noralf Trønnes
2017-10-19 23:02 ` [PATCH 13/15] drm/rockchip: " Noralf Trønnes
2017-10-19 23:02 ` [PATCH 14/15] drm/tegra: " Noralf Trønnes
2017-10-19 23:02 ` [PATCH 15/15] staging: vboxvideo: Use drm_fb_helper_lastclose() Noralf Trønnes
2017-10-23  6:43   ` Hans de Goede
2017-10-19 23:46 ` ✓ Fi.CI.BAT: success for drm/fb-helper: Add .last_close and .output_poll_changed helpers Patchwork
2017-10-20  1:02 ` ✓ Fi.CI.IGT: " Patchwork

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=20171020132957.vphj7bgrlasqbkqt@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=alexander.deucher@amd.com \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hdegoede@redhat.com \
    --cc=inki.dae@samsung.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jy0922.shim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux@armlinux.org.uk \
    --cc=mark.yao@rock-chips.com \
    --cc=noralf@tronnes.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=sw0312.kim@samsung.com \
    --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 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.