From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Shawn Guo <shawnguo@kernel.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Liviu Dudau <liviu.dudau@arm.com>,
Daniel Vetter <daniel.vetter@intel.com>,
Marek Vasut <marex@denx.de>,
Alexey Brodkin <abrodkin@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Xinliang Liu <z.liuxinliang@hisilicon.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Mali DP Maintainers <malidp@foss.arm.com>,
Ben Skeggs <bskeggs@redhat.com>, Jyri Sarha <jsarha@ti.com>,
dri-devel@lists.freedesktop.org,
Maxime Ripard <maxime.ripard@free-electrons.com>
Subject: Re: [PATCH v3 03/23] drm: unexport function drm_vblank_no_hw_counter()
Date: Tue, 07 Feb 2017 12:56:45 +0200 [thread overview]
Message-ID: <9066527.8Qm9u7e96Q@avalon> (raw)
In-Reply-To: <1486458995-31018-4-git-send-email-shawnguo@kernel.org>
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,
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-02-07 10:56 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-07 9:16 [PATCH v3 00/23] Add vblank hooks to struct drm_crtc_funcs Shawn Guo
2017-02-07 9:16 ` [PATCH v3 01/23] drm: add " Shawn Guo
2017-02-07 10:38 ` Andrzej Hajda
2017-02-07 10:52 ` Daniel Vetter
2017-02-07 11:50 ` Thierry Reding
2017-02-07 11:04 ` Thierry Reding
2017-02-07 14:01 ` Laurent Pinchart
2017-02-07 9:16 ` [PATCH v3 02/23] drm: remove drm_vblank_no_hw_counter assignment from driver code Shawn Guo
2017-02-07 9:27 ` Maxime Ripard
2017-02-07 9:46 ` Boris Brezillon
2017-02-07 10:09 ` Neil Armstrong
2017-02-07 10:22 ` Russell King - ARM Linux
2017-02-07 10:42 ` Laurent Pinchart
2017-02-07 10:44 ` Russell King - ARM Linux
2017-02-07 10:58 ` Laurent Pinchart
2017-02-07 11:01 ` Thierry Reding
2017-02-07 11:54 ` Alexey Brodkin
2017-02-07 15:21 ` Liviu Dudau
2017-02-08 19:58 ` Eric Anholt
2017-02-07 9:16 ` [PATCH v3 03/23] drm: unexport function drm_vblank_no_hw_counter() Shawn Guo
2017-02-07 10:56 ` Laurent Pinchart [this message]
2017-02-07 9:16 ` [PATCH v3 04/23] drm: hdlcd: use vblank hooks in struct drm_crtc_funcs Shawn Guo
2017-02-07 9:16 ` [PATCH v3 05/23] drm: malidp: " Shawn Guo
2017-02-07 15:22 ` Liviu Dudau
2017-02-07 9:16 ` [PATCH v3 06/23] drm: armada: " Shawn Guo
2017-02-07 10:23 ` Russell King - ARM Linux
2017-02-07 9:16 ` [PATCH v3 07/23] drm: atmel: " Shawn Guo
2017-02-07 9:46 ` Boris Brezillon
2017-02-07 9:16 ` [PATCH v3 08/23] drm: exynos: " Shawn Guo
2017-02-07 10:47 ` Andrzej Hajda
2017-02-07 9:16 ` [PATCH v3 09/23] drm: fsl-dcu: " Shawn Guo
2017-02-08 5:01 ` Stefan Agner
2017-02-08 12:04 ` Daniel Vetter
2017-02-07 9:16 ` [PATCH v3 10/23] drm: hibmc: " Shawn Guo
2017-02-08 15:39 ` Sean Paul
2017-02-16 3:28 ` Xinliang Liu
2017-02-07 9:16 ` [PATCH v3 11/23] drm: kirin: " Shawn Guo
2017-02-16 3:23 ` Xinliang Liu
2017-02-21 16:20 ` Sean Paul
2017-02-07 9:16 ` [PATCH v3 12/23] drm: imx: remove struct imx_drm_crtc and imx_drm_crtc_helper_funcs Shawn Guo
2017-02-07 10:10 ` Philipp Zabel
2017-02-07 9:16 ` [PATCH v3 13/23] drm: mediatek: use vblank hooks in struct drm_crtc_funcs Shawn Guo
2017-02-21 16:21 ` Sean Paul
2017-02-07 9:16 ` [PATCH v3 14/23] drm: meson: " Shawn Guo
2017-02-07 10:09 ` Neil Armstrong
2017-02-07 9:16 ` [PATCH v3 15/23] drm: qxl: " Shawn Guo
2017-02-21 16:21 ` Sean Paul
2017-02-07 9:16 ` [PATCH v3 16/23] drm: rcar-du: " Shawn Guo
2017-02-07 14:03 ` Laurent Pinchart
2017-02-07 9:16 ` [PATCH v3 17/23] drm: rockchip: remove struct rockchip_crtc_funcs Shawn Guo
2017-02-07 15:35 ` Sean Paul
2017-02-07 9:16 ` [PATCH v3 18/23] drm: shmobile: use vblank hooks in struct drm_crtc_funcs Shawn Guo
2017-02-07 14:05 ` Laurent Pinchart
2017-02-07 9:16 ` [PATCH v3 19/23] drm: sun4i: " Shawn Guo
2017-02-07 9:28 ` Maxime Ripard
2017-02-07 9:16 ` [PATCH v3 20/23] drm: tegra: " Shawn Guo
2017-02-07 11:02 ` Thierry Reding
2017-02-07 9:16 ` [PATCH v3 21/23] drm: tilcdc: " Shawn Guo
2017-02-07 9:38 ` Jyri Sarha
2017-02-07 9:16 ` [PATCH v3 22/23] drm: vc4: " Shawn Guo
2017-02-08 19:56 ` Eric Anholt
2017-02-07 9:16 ` [PATCH v3 23/23] drm: zte: " Shawn Guo
2017-02-07 15:34 ` Sean Paul
2017-02-08 11:30 ` [PATCH v3 00/23] Add vblank hooks to " Tomi Valkeinen
2017-02-08 18:10 ` Laurent Pinchart
2017-02-08 18:24 ` Daniel Vetter
2017-02-08 15:49 ` Sean Paul
2017-02-09 8:36 ` Shawn Guo
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=9066527.8Qm9u7e96Q@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=abrodkin@synopsys.com \
--cc=bskeggs@redhat.com \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=linux@armlinux.org.uk \
--cc=liviu.dudau@arm.com \
--cc=malidp@foss.arm.com \
--cc=marex@denx.de \
--cc=maxime.ripard@free-electrons.com \
--cc=narmstrong@baylibre.com \
--cc=shawnguo@kernel.org \
--cc=tomi.valkeinen@ti.com \
--cc=z.liuxinliang@hisilicon.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.