diff options
| author | Ville Syrjälä <[email protected]> | 2015-09-14 19:43:44 +0000 |
|---|---|---|
| committer | Daniel Vetter <[email protected]> | 2015-09-24 18:14:21 +0000 |
| commit | 3bb403bf421b5b00366a9041a7edc0a1f6494f5e (patch) | |
| tree | d280555ef17c89c2a1e952d03749d230547598c3 /drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | |
| parent | drm: Move timestamping constants into drm_vblank_crtc (diff) | |
| download | kernel-3bb403bf421b5b00366a9041a7edc0a1f6494f5e.tar.gz kernel-3bb403bf421b5b00366a9041a7edc0a1f6494f5e.zip | |
drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps
linedur_ns, and especially pixeldur_ns are becoming rather inaccurate
to be used for the vblank timestamp correction. With 4k@60 the pixel
duration is already below 2ns, so the amount of error due to the
truncation to nanoseconds is introducing quite a bit of error.
We can avoid such problems if we instead calculate the timestamp
delta_ns directly from the dislay timings, avoiding the use of
these intermediate truncated values.
Signed-off-by: Ville Syrjälä <[email protected]>
Reviewed-by: Maarten Lankhorst <[email protected]>
[danvet: Squash in fixup from Thierry Reding for amdgpu.]
Signed-off-by: Daniel Vetter <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h index 64efe5b52e65..2b03425f9740 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h @@ -543,7 +543,8 @@ void amdgpu_encoder_set_active_device(struct drm_encoder *encoder); int amdgpu_get_crtc_scanoutpos(struct drm_device *dev, int crtc, unsigned int flags, int *vpos, int *hpos, ktime_t *stime, - ktime_t *etime); + ktime_t *etime, + const struct drm_display_mode *mode); int amdgpu_framebuffer_init(struct drm_device *dev, struct amdgpu_framebuffer *rfb, |
