[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