[PATCH v3 03/23] drm: unexport function drm_vblank_no_hw_counter()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Feb 7 10:56:45 UTC 2017


Hi Shawn,

Thank you for the patch.

On Tuesday 07 Feb 2017 17:16:15 Shawn Guo wrote:
> From: Shawn Guo <shawn.guo at linaro.org>
> 
> The function drm_vblank_no_hw_counter() is now only used in core vblank
> wrapper code.  Let's unexport it by making it a static function.
> 
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_irq.c | 28 ++++++++++------------------
>  include/drm/drm_drv.h     |  7 +++----
>  include/drm/drm_irq.h     |  1 -
>  3 files changed, 13 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index 646b3e57b9ad..1906723af389 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -89,6 +89,16 @@ static void store_vblank(struct drm_device *dev, unsigned
> int pipe, write_sequnlock(&vblank->seqlock);
>  }
> 
> +/*
> + * "No hw counter" fallback implementation of .get_vblank_counter() hook,
> + * if there is no useable hardware frame counter available.
> + */
> +static u32 drm_vblank_no_hw_counter(struct drm_device *dev, unsigned int
> pipe) +{
> +	WARN_ON_ONCE(dev->max_vblank_count != 0);
> +	return 0;
> +}
> +
>  static u32 __get_vblank_counter(struct drm_device *dev, unsigned int pipe)
>  {
>  	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
> @@ -1748,21 +1758,3 @@ bool drm_crtc_handle_vblank(struct drm_crtc *crtc)
>  	return drm_handle_vblank(crtc->dev, drm_crtc_index(crtc));
>  }
>  EXPORT_SYMBOL(drm_crtc_handle_vblank);
> -
> -/**
> - * drm_vblank_no_hw_counter - "No hw counter" implementation of
> .get_vblank_counter() - * @dev: DRM device
> - * @pipe: CRTC for which to read the counter
> - *
> - * Drivers can plug this into the .get_vblank_counter() function if
> - * there is no useable hardware frame counter available.
> - *
> - * Returns:
> - * 0
> - */
> -u32 drm_vblank_no_hw_counter(struct drm_device *dev, unsigned int pipe)
> -{
> -	WARN_ON_ONCE(dev->max_vblank_count != 0);
> -	return 0;
> -}
> -EXPORT_SYMBOL(drm_vblank_no_hw_counter);
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index 40ae89106594..661ca24a4c97 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -120,10 +120,9 @@ struct drm_driver {
>  	 *
>  	 * Driver callback for fetching a raw hardware vblank counter for the
>  	 * CRTC specified with the pipe argument.  If a device doesn't have a
> -	 * hardware counter, the driver can simply use
> -	 * drm_vblank_no_hw_counter() function. The DRM core will account for
> -	 * missed vblank events while interrupts where disabled based on 
system
> -	 * timestamps.
> +	 * hardware counter, the driver can simply leave the hook as NULL.
> +	 * The DRM core will account for missed vblank events while interrupts
> +	 * where disabled based on system timestamps.
>  	 *
>  	 * Wraparound handling and loss of events due to modesetting is dealt
>  	 * with in the DRM core code, as long as drivers call
> diff --git a/include/drm/drm_irq.h b/include/drm/drm_irq.h
> index 2fb880462a57..cf0be6594c8c 100644
> --- a/include/drm/drm_irq.h
> +++ b/include/drm/drm_irq.h
> @@ -152,7 +152,6 @@ void drm_crtc_arm_vblank_event(struct drm_crtc *crtc,
>  void drm_crtc_vblank_on(struct drm_crtc *crtc);
>  void drm_vblank_cleanup(struct drm_device *dev);
>  u32 drm_accurate_vblank_count(struct drm_crtc *crtc);
> -u32 drm_vblank_no_hw_counter(struct drm_device *dev, unsigned int pipe);
> 
>  int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
>  					  unsigned int pipe, int *max_error,

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list