All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liviu Dudau <Liviu.Dudau@arm.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 23/24] drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers
Date: Mon, 13 Mar 2017 17:11:25 +0000	[thread overview]
Message-ID: <20170313171125.GJ6268@e110455-lin.cambridge.arm.com> (raw)
In-Reply-To: <20170308141257.12119-24-daniel.vetter@ffwll.ch>

On Wed, Mar 08, 2017 at 03:12:56PM +0100, Daniel Vetter wrote:
> Less code ftw.
> 
> This converts all drivers except the tinydrm helper module. That one
> needs more work, since it gets the THIS_MODULE reference from
> tinydrm.ko instead of the actual driver module like it should.
> Probably needs a similar trick like I used here with generating the
> entire struct with a macro.
> 
> Cc: Noralf Trønnes <noralf@tronnes.org>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/arm/hdlcd_drv.c                 | 12 +-----------
>  drivers/gpu/drm/arm/malidp_drv.c                | 12 +-----------

For the hdlcd_drv.c and malidp_drv.c changes:

Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>

For the rest of the series:

Reviewed-by: Liviu Dudau <Liviu.Dudau@arm.com>

Best regards,
Liviu

>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c    | 12 +-----------
>  drivers/gpu/drm/drm_file.c                      |  3 +++
>  drivers/gpu/drm/drm_gem_cma_helper.c            |  3 +++
>  drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c       | 12 +-----------
>  drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 12 +-----------
>  drivers/gpu/drm/imx/imx-drm-core.c              | 11 +----------
>  drivers/gpu/drm/meson/meson_drv.c               | 14 +------------
>  drivers/gpu/drm/mxsfb/mxsfb_drv.c               | 14 +------------
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c           | 12 +-----------
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c        | 12 +-----------
>  drivers/gpu/drm/sti/sti_drv.c                   | 11 +----------
>  drivers/gpu/drm/sun4i/sun4i_drv.c               | 12 +-----------
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c             | 12 +-----------
>  drivers/gpu/drm/zte/zx_drm_drv.c                | 14 +------------
>  include/drm/drm_gem_cma_helper.h                | 26 +++++++++++++++++++++++++
>  17 files changed, 46 insertions(+), 158 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> index 4840dc277339..0e74880b5e94 100644
> --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> @@ -239,17 +239,7 @@ static int hdlcd_debugfs_init(struct drm_minor *minor)
>  }
>  #endif
>  
> -static const struct file_operations fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= noop_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver hdlcd_driver = {
>  	.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM |
> diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
> index a9608a2e5a29..ea2546f766c2 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.c
> +++ b/drivers/gpu/drm/arm/malidp_drv.c
> @@ -178,17 +178,7 @@ static void malidp_lastclose(struct drm_device *drm)
>  	drm_fbdev_cma_restore_mode(malidp->fbdev);
>  }
>  
> -static const struct file_operations fops = {
> -	.owner = THIS_MODULE,
> -	.open = drm_open,
> -	.release = drm_release,
> -	.unlocked_ioctl = drm_ioctl,
> -	.compat_ioctl = drm_compat_ioctl,
> -	.poll = drm_poll,
> -	.read = drm_read,
> -	.llseek = noop_llseek,
> -	.mmap = drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver malidp_driver = {
>  	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC |
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> index 970bd87d7cce..178acbf5f6c5 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> @@ -724,17 +724,7 @@ static void atmel_hlcdc_dc_irq_uninstall(struct drm_device *dev)
>  	regmap_read(dc->hlcdc->regmap, ATMEL_HLCDC_ISR, &isr);
>  }
>  
> -static const struct file_operations fops = {
> -	.owner              = THIS_MODULE,
> -	.open               = drm_open,
> -	.release            = drm_release,
> -	.unlocked_ioctl     = drm_ioctl,
> -	.compat_ioctl       = drm_compat_ioctl,
> -	.poll               = drm_poll,
> -	.read               = drm_read,
> -	.llseek             = no_llseek,
> -	.mmap               = drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver atmel_hlcdc_dc_driver = {
>  	.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM |
> diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
> index f8483fc6d3d7..260a83563976 100644
> --- a/drivers/gpu/drm/drm_file.c
> +++ b/drivers/gpu/drm/drm_file.c
> @@ -89,6 +89,9 @@ DEFINE_MUTEX(drm_global_mutex);
>   *             .mmap = drm_gem_mmap,
>   *     };
>   *
> + * For CMA based drivers there is the DEFINE_DRM_GEM_CMA_FOPS() macro to make
> + * this simpler.
> + *
>   * FIXME: We should have a macro for this (and the CMA version) so that drivers
>   * don't have to repeat it all the time.
>   */
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index bb968e76779b..bc28e7575254 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -338,6 +338,9 @@ static int drm_gem_cma_mmap_obj(struct drm_gem_cma_object *cma_obj,
>   * as their ->mmap() handler in the DRM device file's file_operations
>   * structure.
>   *
> + * Instead of directly referencing this function, drivers should use the
> + * DEFINE_DRM_GEM_CMA_FOPS().macro.
> + *
>   * Returns:
>   * 0 on success or a negative error code on failure.
>   */
> diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> index b5391c124c64..6e00f4b267f1 100644
> --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> @@ -161,17 +161,7 @@ static void fsl_dcu_drm_lastclose(struct drm_device *dev)
>  	drm_fbdev_cma_restore_mode(fsl_dev->fbdev);
>  }
>  
> -static const struct file_operations fsl_dcu_drm_fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fsl_dcu_drm_fops);
>  
>  static struct drm_driver fsl_dcu_drm_driver = {
>  	.driver_features	= DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> index 7ec93aec7e88..df4f50713e54 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> @@ -146,17 +146,7 @@ static int kirin_drm_kms_init(struct drm_device *dev)
>  	return ret;
>  }
>  
> -static const struct file_operations kirin_drm_fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(kirin_drm_fops);
>  
>  static int kirin_gem_cma_dumb_create(struct drm_file *file,
>  				     struct drm_device *dev,
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 4b7b92a7bcf7..70736615983c 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -57,16 +57,7 @@ static void imx_drm_driver_lastclose(struct drm_device *drm)
>  	drm_fbdev_cma_restore_mode(imxdrm->fbhelper);
>  }
>  
> -static const struct file_operations imx_drm_driver_fops = {
> -	.owner = THIS_MODULE,
> -	.open = drm_open,
> -	.release = drm_release,
> -	.unlocked_ioctl = drm_ioctl,
> -	.mmap = drm_gem_cma_mmap,
> -	.poll = drm_poll,
> -	.read = drm_read,
> -	.llseek = noop_llseek,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(imx_drm_driver_fops);
>  
>  void imx_drm_connector_destroy(struct drm_connector *connector)
>  {
> diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
> index 8d17d0e59cbe..bc562a07847b 100644
> --- a/drivers/gpu/drm/meson/meson_drv.c
> +++ b/drivers/gpu/drm/meson/meson_drv.c
> @@ -91,19 +91,7 @@ static irqreturn_t meson_irq(int irq, void *arg)
>  	return IRQ_HANDLED;
>  }
>  
> -static const struct file_operations fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -#ifdef CONFIG_COMPAT
> -	.compat_ioctl	= drm_compat_ioctl,
> -#endif
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver meson_driver = {
>  	.driver_features	= DRIVER_HAVE_IRQ | DRIVER_GEM |
> diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> index a4633ada8429..5ac712325c75 100644
> --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> @@ -319,19 +319,7 @@ static irqreturn_t mxsfb_irq_handler(int irq, void *data)
>  	return IRQ_HANDLED;
>  }
>  
> -static const struct file_operations fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -#ifdef CONFIG_COMPAT
> -	.compat_ioctl	= drm_compat_ioctl,
> -#endif
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= noop_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver mxsfb_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET |
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index 192346d4fb34..62a3b3e32153 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -226,17 +226,7 @@ static void rcar_du_lastclose(struct drm_device *dev)
>  	drm_fbdev_cma_restore_mode(rcdu->fbdev);
>  }
>  
> -static const struct file_operations rcar_du_fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
>  
>  static struct drm_driver rcar_du_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index 34fefa0ba0f0..75f2e5e6d7fb 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -221,17 +221,7 @@ static irqreturn_t shmob_drm_irq(int irq, void *arg)
>  	return IRQ_HANDLED;
>  }
>  
> -static const struct file_operations shmob_drm_fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
>  
>  static struct drm_driver shmob_drm_driver = {
>  	.driver_features	= DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET
> diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
> index 3b15c2cb2306..23da9bc4666a 100644
> --- a/drivers/gpu/drm/sti/sti_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drv.c
> @@ -167,16 +167,7 @@ static void sti_mode_config_init(struct drm_device *dev)
>  	dev->mode_config.funcs = &sti_mode_config_funcs;
>  }
>  
> -static const struct file_operations sti_driver_fops = {
> -	.owner = THIS_MODULE,
> -	.open = drm_open,
> -	.mmap = drm_gem_cma_mmap,
> -	.poll = drm_poll,
> -	.read = drm_read,
> -	.unlocked_ioctl = drm_ioctl,
> -	.compat_ioctl = drm_compat_ioctl,
> -	.release = drm_release,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(sti_driver_fops);
>  
>  static struct drm_driver sti_driver = {
>  	.driver_features = DRIVER_MODESET |
> diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
> index 9ccf7c4deb6d..329ea56106a5 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> @@ -25,17 +25,7 @@
>  #include "sun4i_framebuffer.h"
>  #include "sun4i_layer.h"
>  
> -static const struct file_operations sun4i_drv_fops = {
> -	.owner		= THIS_MODULE,
> -	.open		= drm_open,
> -	.release	= drm_release,
> -	.unlocked_ioctl	= drm_ioctl,
> -	.compat_ioctl	= drm_compat_ioctl,
> -	.poll		= drm_poll,
> -	.read		= drm_read,
> -	.llseek		= no_llseek,
> -	.mmap		= drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(sun4i_drv_fops);
>  
>  static struct drm_driver sun4i_drv_driver = {
>  	.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | DRIVER_ATOMIC,
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index 81d80a2ffeb1..480411c2e802 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -530,17 +530,7 @@ static int tilcdc_debugfs_init(struct drm_minor *minor)
>  }
>  #endif
>  
> -static const struct file_operations fops = {
> -	.owner              = THIS_MODULE,
> -	.open               = drm_open,
> -	.release            = drm_release,
> -	.unlocked_ioctl     = drm_ioctl,
> -	.compat_ioctl       = drm_compat_ioctl,
> -	.poll               = drm_poll,
> -	.read               = drm_read,
> -	.llseek             = no_llseek,
> -	.mmap               = drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
>  static struct drm_driver tilcdc_driver = {
>  	.driver_features    = (DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET |
> diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
> index b24a70ba4b83..614e854f6be5 100644
> --- a/drivers/gpu/drm/zte/zx_drm_drv.c
> +++ b/drivers/gpu/drm/zte/zx_drm_drv.c
> @@ -53,19 +53,7 @@ static void zx_drm_lastclose(struct drm_device *drm)
>  	drm_fbdev_cma_restore_mode(priv->fbdev);
>  }
>  
> -static const struct file_operations zx_drm_fops = {
> -	.owner = THIS_MODULE,
> -	.open = drm_open,
> -	.release = drm_release,
> -	.unlocked_ioctl = drm_ioctl,
> -#ifdef CONFIG_COMPAT
> -	.compat_ioctl = drm_compat_ioctl,
> -#endif
> -	.poll = drm_poll,
> -	.read = drm_read,
> -	.llseek = noop_llseek,
> -	.mmap = drm_gem_cma_mmap,
> -};
> +DEFINE_DRM_GEM_CMA_FOPS(zx_drm_fops);
>  
>  static struct drm_driver zx_drm_driver = {
>  	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME |
> diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
> index 2abcd5190cc1..f962d33667cf 100644
> --- a/include/drm/drm_gem_cma_helper.h
> +++ b/include/drm/drm_gem_cma_helper.h
> @@ -26,6 +26,32 @@ to_drm_gem_cma_obj(struct drm_gem_object *gem_obj)
>  	return container_of(gem_obj, struct drm_gem_cma_object, base);
>  }
>  
> +/**
> + * DEFINE_DRM_GEM_CMA_FOPS() - macro to generate file operations for CMA drivers
> + * @name: name for the generated structure
> + *
> + * This macro autogenerates a suitable &struct file_operations for CMA based
> + * drivers, which can be assigned to &drm_driver.fops. Note that this structure
> + * cannot be shared between drivers, because it contains a reference to the
> + * current module using THIS_MODULE.
> + *
> + * Note that the declaration is already marked as static - if you need a
> + * non-static version of this you're probably doing it wrong and will break the
> + * THIS_MODULE reference by accident.
> + */
> +#define DEFINE_DRM_GEM_CMA_FOPS(name) \
> +	static const struct file_operations name = {\
> +		.owner		= THIS_MODULE,\
> +		.open		= drm_open,\
> +		.release	= drm_release,\
> +		.unlocked_ioctl	= drm_ioctl,\
> +		.compat_ioctl	= drm_compat_ioctl,\
> +		.poll		= drm_poll,\
> +		.read		= drm_read,\
> +		.llseek		= noop_llseek,\
> +		.mmap		= drm_gem_cma_mmap,\
> +	}
> +
>  /* free GEM object */
>  void drm_gem_cma_free_object(struct drm_gem_object *gem_obj);
>  
> -- 
> 2.11.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-03-13 17:11 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-08 14:12 [PATCH 00/24] more docs and header splits Daniel Vetter
2017-03-08 14:12 ` [PATCH 01/24] drm/doc: Add todo about connector_list_iter Daniel Vetter
2017-03-08 15:12   ` [Intel-gfx] " Sean Paul
2017-03-08 14:12 ` [PATCH 02/24] drm: Extract drm_prime.h Daniel Vetter
2017-03-08 14:57   ` Gustavo Padovan
2017-03-13 16:42   ` Sean Paul
2017-03-14  9:12     ` [Intel-gfx] " Daniel Vetter
2017-03-14 15:42       ` Sean Paul
2017-03-08 14:12 ` [PATCH 03/24] drm: Move drm_lock_data out of drmP.h Daniel Vetter
2017-03-08 14:58   ` Gustavo Padovan
2017-03-08 14:12 ` [PATCH 04/24] drm: Extract drm_pci.h Daniel Vetter
2017-03-08 14:59   ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 05/24] drm: Remove drmP.h include from drm_kms_helper_common.c Daniel Vetter
2017-03-08 15:00   ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 06/24] drm/doc: document fallback behaviour for atomic events Daniel Vetter
2017-03-08 14:57   ` Laurent Pinchart
2017-03-08 14:12 ` [PATCH 07/24] drm: rename drm_fops.c to drm_file.c Daniel Vetter
2017-03-08 15:02   ` [Intel-gfx] " Gustavo Padovan
2017-03-08 14:12 ` [PATCH 08/24] drm: Remove DRM_MINOR_CNT Daniel Vetter
2017-03-08 14:14   ` David Herrmann
2017-03-13 16:56   ` Sean Paul
2017-03-08 14:12 ` [PATCH 09/24] drm: Extract drm_file.h Daniel Vetter
2017-03-08 15:05   ` Gustavo Padovan
2017-03-09 10:52     ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 10/24] drm: Remove drm_pending_event->pid Daniel Vetter
2017-03-13 17:05   ` [Intel-gfx] " Sean Paul
2017-03-14 13:20     ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 11/24] drm/doc: Document drm_file.[hc] Daniel Vetter
2017-03-13 17:53   ` Sean Paul
2017-03-14 13:25     ` Daniel Vetter
2017-03-14 13:27     ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 12/24] drm/i915: Merge pre/postclose hooks Daniel Vetter
2017-03-08 15:07   ` Chris Wilson
2017-03-08 15:45     ` Daniel Vetter
2017-03-14 13:38       ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 13/24] drm/msm: switch to postclose Daniel Vetter
2017-03-13 18:59   ` Sean Paul
2017-03-08 14:12 ` [PATCH 16/24] drm/tegra: " Daniel Vetter
     [not found]   ` <20170308141257.12119-17-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-13 19:10     ` Sean Paul
2017-03-08 14:12 ` [PATCH 17/24] drm/vgem: " Daniel Vetter
2017-03-13 19:11   ` Sean Paul
2017-03-14 13:27     ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 18/24] drm/etnaviv: " Daniel Vetter
2017-03-08 16:09   ` Lucas Stach
2017-03-08 18:15     ` Daniel Vetter
2017-03-09 10:03       ` Lucas Stach
     [not found] ` <20170308141257.12119-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-08 14:12   ` [PATCH 14/24] drm/nouveau: Merge pre/postclose hooks Daniel Vetter
     [not found]     ` <20170308141257.12119-15-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-13 19:07       ` Sean Paul
2017-03-08 14:12   ` [PATCH 15/24] drm/radeon: " Daniel Vetter
     [not found]     ` <20170308141257.12119-16-daniel.vetter-/w4YWyX8dFk@public.gmane.org>
2017-03-08 14:25       ` Christian König
     [not found]         ` <79dc5480-6354-2379-8a7a-a2c099209256-5C7GfCeVMHo@public.gmane.org>
2017-03-09  3:58           ` Alex Deucher
2017-03-08 14:12   ` [PATCH 19/24] drm/amdgpu: " Daniel Vetter
2017-03-08 14:12 ` [PATCH 20/24] drm/exynos: " Daniel Vetter
2017-03-13 19:18   ` [Intel-gfx] " Sean Paul
2017-03-14 13:28     ` Daniel Vetter
2017-03-15  0:54       ` Inki Dae
2017-03-15  9:09         ` [Intel-gfx] " Inki Dae
2017-03-15  9:52           ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 21/24] drm/msm: Simplify vblank event delivery Daniel Vetter
2017-03-13 19:26   ` Sean Paul
2017-03-08 14:12 ` [PATCH 22/24] drm: Nerf the preclose callback for modern drivers Daniel Vetter
2017-03-09 10:48   ` Daniel Vetter
2017-03-13 19:29   ` [Intel-gfx] " Sean Paul
2017-03-14 13:50     ` Daniel Vetter
2017-03-08 14:12 ` [PATCH 23/24] drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers Daniel Vetter
2017-03-13 17:11   ` Liviu Dudau [this message]
2017-03-13 19:31   ` [Intel-gfx] " Sean Paul
2017-03-13 19:33     ` Sean Paul
2017-03-08 14:12 ` [PATCH 24/24] drm/gem: Add DEFINE_DRM_GEM_FOPS Daniel Vetter
2017-03-13 19:35   ` Sean Paul
2017-03-14 13:31     ` Daniel Vetter
2017-03-08 17:52 ` ✓ Fi.CI.BAT: success for more docs and header splits 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=20170313171125.GJ6268@e110455-lin.cambridge.arm.com \
    --to=liviu.dudau@arm.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@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 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.