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

Message ID 1486458995-31018-4-git-send-email-shawnguo@kernel.org
State New
Headers show
Series
  • Add vblank hooks to struct drm_crtc_funcs
Related show

Commit Message

Shawn Guo Feb. 7, 2017, 9:16 a.m.
From: Shawn Guo <shawn.guo@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@linaro.org>
---
 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(-)

Comments

Laurent Pinchart Feb. 7, 2017, 10:56 a.m. | #1
Hi Shawn,

Thank you for the patch.

On Tuesday 07 Feb 2017 17:16:15 Shawn Guo wrote:
> From: Shawn Guo <shawn.guo@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@linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@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,

Patch hide | download patch | download mbox

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,