All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Alex Deucher <alexander.deucher@amd.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/radeon: Update radeon_get_vblank_counter_kms()
Date: Wed, 16 Dec 2015 15:36:45 +0100	[thread overview]
Message-ID: <567176FD.3030502@amd.com> (raw)
In-Reply-To: <1450276307-13032-1-git-send-email-thierry.reding@gmail.com>

On 16.12.2015 15:31, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> Commit 88e72717c2de ("drm/irq: Use unsigned int pipe in public API")
> updated the prototype of this function but not the implementation. This
> wasn't noticed even through compile tests because the prototype is part
> of the source file that uses it and hence the compiler won't know the
> prototype when it compiles the implementation.
>
> The right thing would've been to move the prototype to a header that's
> included in radeon_kms.c so that the implementation signature could be
> checked against it, but the closest thing would've been radeon_drv.h
> and including that results in a lot of build errors, so we'll leave it
> as is for now.

Yeah, that's because of the old UMS mess. We could probably clean that 
up now.

>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Thierry Reding <treding@nvidia.com>

Anyway patch is Reviewed-by: Christian König <christian.koenig@amd.com>

Regards,
Christian.

> ---
> Note that this doesn't really need to go into stable because the
> generated code should be the same.
>
>   drivers/gpu/drm/radeon/radeon_kms.c | 24 ++++++++++++------------
>   1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
> index d290a8a09036..4fab44e0f36b 100644
> --- a/drivers/gpu/drm/radeon/radeon_kms.c
> +++ b/drivers/gpu/drm/radeon/radeon_kms.c
> @@ -748,19 +748,19 @@ void radeon_driver_preclose_kms(struct drm_device *dev,
>    * radeon_get_vblank_counter_kms - get frame count
>    *
>    * @dev: drm dev pointer
> - * @crtc: crtc to get the frame count from
> + * @pipe: crtc to get the frame count from
>    *
>    * Gets the frame count on the requested crtc (all asics).
>    * Returns frame count on success, -EINVAL on failure.
>    */
> -u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc)
> +u32 radeon_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe)
>   {
>   	int vpos, hpos, stat;
>   	u32 count;
>   	struct radeon_device *rdev = dev->dev_private;
>   
> -	if (crtc < 0 || crtc >= rdev->num_crtc) {
> -		DRM_ERROR("Invalid crtc %d\n", crtc);
> +	if (pipe < 0 || pipe >= rdev->num_crtc) {
> +		DRM_ERROR("Invalid crtc %u\n", pipe);
>   		return -EINVAL;
>   	}
>   
> @@ -772,29 +772,29 @@ u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc)
>   	 * and start of vsync, so vpos >= 0 means to bump the hw frame counter
>   	 * result by 1 to give the proper appearance to caller.
>   	 */
> -	if (rdev->mode_info.crtcs[crtc]) {
> +	if (rdev->mode_info.crtcs[pipe]) {
>   		/* Repeat readout if needed to provide stable result if
>   		 * we cross start of vsync during the queries.
>   		 */
>   		do {
> -			count = radeon_get_vblank_counter(rdev, crtc);
> +			count = radeon_get_vblank_counter(rdev, pipe);
>   			/* Ask radeon_get_crtc_scanoutpos to return vpos as
>   			 * distance to start of vblank, instead of regular
>   			 * vertical scanout pos.
>   			 */
>   			stat = radeon_get_crtc_scanoutpos(
> -				dev, crtc, GET_DISTANCE_TO_VBLANKSTART,
> +				dev, pipe, GET_DISTANCE_TO_VBLANKSTART,
>   				&vpos, &hpos, NULL, NULL,
> -				&rdev->mode_info.crtcs[crtc]->base.hwmode);
> -		} while (count != radeon_get_vblank_counter(rdev, crtc));
> +				&rdev->mode_info.crtcs[pipe]->base.hwmode);
> +		} while (count != radeon_get_vblank_counter(rdev, pipe));
>   
>   		if (((stat & (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE)) !=
>   		    (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE))) {
>   			DRM_DEBUG_VBL("Query failed! stat %d\n", stat);
>   		}
>   		else {
> -			DRM_DEBUG_VBL("crtc %d: dist from vblank start %d\n",
> -				      crtc, vpos);
> +			DRM_DEBUG_VBL("crtc %u: dist from vblank start %d\n",
> +				      pipe, vpos);
>   
>   			/* Bump counter if we are at >= leading edge of vblank,
>   			 * but before vsync where vpos would turn negative and
> @@ -806,7 +806,7 @@ u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc)
>   	}
>   	else {
>   	    /* Fallback to use value as is. */
> -	    count = radeon_get_vblank_counter(rdev, crtc);
> +	    count = radeon_get_vblank_counter(rdev, pipe);
>   	    DRM_DEBUG_VBL("NULL mode info! Returned count may be wrong.\n");
>   	}
>   

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-12-16 14:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-16 14:31 [PATCH] drm/radeon: Update radeon_get_vblank_counter_kms() Thierry Reding
2015-12-16 14:36 ` Christian König [this message]
2015-12-17  6:35 ` Michel Dänzer
2016-01-04 11:28   ` Thierry Reding
  -- strict thread matches above, loose matches on Subject: below --
2016-01-04 15:44 Thierry Reding
2016-01-04 16:45 ` Alex Deucher
2016-01-04 17:19   ` Thierry Reding

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=567176FD.3030502@amd.com \
    --to=christian.koenig@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=thierry.reding@gmail.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.