drm/radeon: Update radeon_get_vblank_counter_kms()
authorThierry Reding <treding@nvidia.com>
Wed, 16 Dec 2015 14:31:47 +0000 (15:31 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 18 Dec 2015 22:29:47 +0000 (17:29 -0500)
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.

Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_kms.c

index d290a8a09036e9d28aa78332f7f2d22ee46ec0e2..4fab44e0f36baff7e160e8c747c29d25f45d50b4 100644 (file)
@@ -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");
        }