[Intel-gfx] [PATCH] drm/i915: move i915_fence_{context_, }timeout() to i915_sw_fence.[ch]
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Sep 15 07:47:28 UTC 2022
On 14/09/2022 17:59, Jani Nikula wrote:
> Maybe there was a grand plan with i915_fence_timeout() and
> i915_fence_context_timeout() and i915_config.c, but that seems to have
> been lost a bit.
>
> Just move the functions to i915_sw_fence.[ch] from i915_drv.h and
> i915_config.c, and remove the latter.
Sorry this does not fit - i915_sw_fence is a low level agnostic code
which should have no connection to fence timeouts as defined by higher
levels. How about i915_config.h? Even if only as a temporary solution
which requires least thinking. Because I am not coming with any obvious
new homes among the existing headers..
Regards,
Tvrtko
> Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/Makefile | 1 -
> drivers/gpu/drm/i915/i915_config.c | 15 ---------------
> drivers/gpu/drm/i915/i915_drv.h | 9 ---------
> drivers/gpu/drm/i915/i915_sw_fence.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/i915_sw_fence.h | 5 +++++
> 5 files changed, 20 insertions(+), 25 deletions(-)
> delete mode 100644 drivers/gpu/drm/i915/i915_config.c
>
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index a26edcdadc21..0221682d3a0f 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -34,7 +34,6 @@ subdir-ccflags-y += -I$(srctree)/$(src)
> # core driver code
> i915-y += i915_driver.o \
> i915_drm_client.o \
> - i915_config.o \
> i915_getparam.o \
> i915_ioctl.o \
> i915_irq.o \
> diff --git a/drivers/gpu/drm/i915/i915_config.c b/drivers/gpu/drm/i915/i915_config.c
> deleted file mode 100644
> index afb828dab53b..000000000000
> --- a/drivers/gpu/drm/i915/i915_config.c
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -// SPDX-License-Identifier: MIT
> -/*
> - * Copyright © 2020 Intel Corporation
> - */
> -
> -#include "i915_drv.h"
> -
> -unsigned long
> -i915_fence_context_timeout(const struct drm_i915_private *i915, u64 context)
> -{
> - if (CONFIG_DRM_I915_FENCE_TIMEOUT && context)
> - return msecs_to_jiffies_timeout(CONFIG_DRM_I915_FENCE_TIMEOUT);
> -
> - return 0;
> -}
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 524b5ee495be..02956385d32d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -167,15 +167,6 @@ struct i915_gem_mm {
>
> #define I915_IDLE_ENGINES_TIMEOUT (200) /* in ms */
>
> -unsigned long i915_fence_context_timeout(const struct drm_i915_private *i915,
> - u64 context);
> -
> -static inline unsigned long
> -i915_fence_timeout(const struct drm_i915_private *i915)
> -{
> - return i915_fence_context_timeout(i915, U64_MAX);
> -}
> -
> #define HAS_HW_SAGV_WM(i915) (DISPLAY_VER(i915) >= 13 && !IS_DGFX(i915))
>
> struct i915_virtual_gpu {
> diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
> index 6fc0d1b89690..2a90987799e7 100644
> --- a/drivers/gpu/drm/i915/i915_sw_fence.c
> +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
> @@ -11,6 +11,7 @@
>
> #include "i915_sw_fence.h"
> #include "i915_selftest.h"
> +#include "i915_utils.h"
>
> #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
> #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
> @@ -471,6 +472,20 @@ static void irq_i915_sw_fence_work(struct irq_work *wrk)
> kfree_rcu(cb, rcu);
> }
>
> +unsigned long i915_fence_context_timeout(const struct drm_i915_private *i915,
> + u64 context)
> +{
> + if (CONFIG_DRM_I915_FENCE_TIMEOUT && context)
> + return msecs_to_jiffies_timeout(CONFIG_DRM_I915_FENCE_TIMEOUT);
> +
> + return 0;
> +}
> +
> +unsigned long i915_fence_timeout(const struct drm_i915_private *i915)
> +{
> + return i915_fence_context_timeout(i915, U64_MAX);
> +}
> +
> int i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence,
> struct dma_fence *dma,
> unsigned long timeout,
> diff --git a/drivers/gpu/drm/i915/i915_sw_fence.h b/drivers/gpu/drm/i915/i915_sw_fence.h
> index 619fc5a22f0c..cdef7dabafbd 100644
> --- a/drivers/gpu/drm/i915/i915_sw_fence.h
> +++ b/drivers/gpu/drm/i915/i915_sw_fence.h
> @@ -17,6 +17,7 @@
>
> struct completion;
> struct dma_resv;
> +struct drm_i915_private;
> struct i915_sw_fence;
>
> enum i915_sw_fence_notify {
> @@ -81,6 +82,10 @@ struct i915_sw_dma_fence_cb {
> struct i915_sw_fence *fence;
> };
>
> +unsigned long i915_fence_context_timeout(const struct drm_i915_private *i915,
> + u64 context);
> +unsigned long i915_fence_timeout(const struct drm_i915_private *i915);
> +
> int __i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence,
> struct dma_fence *dma,
> struct i915_sw_dma_fence_cb *cb);
More information about the Intel-gfx
mailing list