Re: [PATCH] drm/i915: move i915_fence_{context_, }timeout() to i915_sw_fence.[ch]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxxxxx>
Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
---
  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);



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux