diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 20 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 |
3 files changed, 6 insertions, 18 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c index 59ea338b554c..126bfd9bb89e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -38,11 +38,11 @@ #include <linux/pci.h> #include <linux/pm_runtime.h> +#include <drm/clients/drm_fbdev_helper.h> #include <drm/drm_crtc_helper.h> #include <drm/drm_damage_helper.h> #include <drm/drm_drv.h> #include <drm/drm_edid.h> -#include <drm/drm_fb_helper.h> #include <drm/drm_gem_framebuffer_helper.h> #include <drm/drm_fourcc.h> #include <drm/drm_modeset_helper.h> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 56eaf05899a8..7fa321c41f63 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -25,7 +25,6 @@ * Alex Deucher * Jerome Glisse */ -#include <linux/ktime.h> #include <linux/module.h> #include <linux/overflow.h> #include <linux/pagemap.h> @@ -40,6 +39,7 @@ #include <drm/drm_gem_ttm_helper.h> #include <drm/ttm/ttm_tt.h> #include <drm/drm_syncobj.h> +#include <drm/drm_timeout.h> #include "amdgpu.h" #include "amdgpu_display.h" @@ -652,23 +652,11 @@ int amdgpu_gem_mmap_ioctl(struct drm_device *dev, void *data, */ unsigned long amdgpu_gem_timeout(uint64_t timeout_ns) { - unsigned long timeout_jiffies; - ktime_t timeout; - - /* clamp timeout if it's to large */ - if (((int64_t)timeout_ns) < 0) + /* Map anything that doesn't fit in a s64 to an infinite wait */ + if (timeout_ns > S64_MAX) return MAX_SCHEDULE_TIMEOUT; - timeout = ktime_sub(ns_to_ktime(timeout_ns), ktime_get()); - if (ktime_to_ns(timeout) < 0) - return 0; - - timeout_jiffies = nsecs_to_jiffies(ktime_to_ns(timeout)); - /* clamp timeout to avoid unsigned-> signed overflow */ - if (timeout_jiffies > MAX_SCHEDULE_TIMEOUT) - return MAX_SCHEDULE_TIMEOUT - 1; - - return timeout_jiffies; + return drm_timeout_abs_to_jiffies(timeout_ns); } int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data, diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index f2f179421c4d..51a7a4091376 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -28,8 +28,8 @@ #include "amdgpu.h" #include <drm/amdgpu_drm.h> +#include <drm/clients/drm_fbdev_helper.h> #include <drm/drm_drv.h> -#include <drm/drm_fb_helper.h> #include "amdgpu_uvd.h" #include "amdgpu_vce.h" #include "atom.h" |
