On 1/31/20 10:55 AM, Daniele Ceraolo Spurio wrote:


On 1/31/20 2:45 AM, Chris Wilson wrote:
We want to separate the utility functions for controlling the logical
ring context from the execlists submission mechanism (which is an
overgrown scheduler).

This is similar to Daniele's work to split up the files, but being
selfish I wanted to base it after my own changes to intel_lrc.c petered
out.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>

Daniele


Hi Chris,

Are you planning to go ahead with this?

Daniele

---
  drivers/gpu/drm/i915/Makefile                 |  2 +-
  drivers/gpu/drm/i915/gem/i915_gem_context.c   |  1 +
  drivers/gpu/drm/i915/gt/intel_context_sseu.c  |  2 +-
  drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  1 +
  drivers/gpu/drm/i915/gt/intel_engine_pool.c   |  1 +
  ...tel_lrc.c => intel_execlists_submission.c} | 30 ++----------------
  ...tel_lrc.h => intel_execlists_submission.h} | 31 +++----------------
  drivers/gpu/drm/i915/gt/intel_mocs.c          |  2 +-
  .../{selftest_lrc.c => selftest_execlists.c}  |  0
  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c    |  1 +
  .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  1 +
  drivers/gpu/drm/i915/i915_drv.h               |  1 -
  drivers/gpu/drm/i915/i915_perf.c              |  1 +
  13 files changed, 16 insertions(+), 58 deletions(-)
  rename drivers/gpu/drm/i915/gt/{intel_lrc.c => intel_execlists_submission.c} (99%)   rename drivers/gpu/drm/i915/gt/{intel_lrc.h => intel_execlists_submission.h} (56%)   rename drivers/gpu/drm/i915/gt/{selftest_lrc.c => selftest_execlists.c} (100%)

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 7d04db92aae5..f2b5742218a0 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -87,6 +87,7 @@ gt-y += \
      gt/intel_engine_pm.o \
      gt/intel_engine_pool.o \
      gt/intel_engine_user.o \
+    gt/intel_execlists_submission.o \
      gt/intel_ggtt.o \
      gt/intel_gt.o \
      gt/intel_gt_irq.o \
@@ -95,7 +96,6 @@ gt-y += \
      gt/intel_gt_requests.o \
      gt/intel_gtt.o \
      gt/intel_llc.o \
-    gt/intel_lrc.o \
      gt/intel_mocs.o \
      gt/intel_ppgtt.o \
      gt/intel_rc6.o \
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 9130706417c0..cbc1cec9988d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -73,6 +73,7 @@
  #include "gt/intel_context.h"
  #include "gt/intel_engine_heartbeat.h"
  #include "gt/intel_engine_user.h"
+#include "gt/intel_execlists_submission.h" /* virtual_engine */
  #include "gt/intel_ring.h"
  #include "i915_gem_context.h"
diff --git a/drivers/gpu/drm/i915/gt/intel_context_sseu.c b/drivers/gpu/drm/i915/gt/intel_context_sseu.c
index 57a30956c922..ee4ef2559914 100644
--- a/drivers/gpu/drm/i915/gt/intel_context_sseu.c
+++ b/drivers/gpu/drm/i915/gt/intel_context_sseu.c
@@ -8,7 +8,7 @@
  #include "intel_context.h"
  #include "intel_engine_pm.h"
  #include "intel_gpu_commands.h"
-#include "intel_lrc.h"
+#include "intel_execlists_submission.h"
  #include "intel_lrc_reg.h"
  #include "intel_ring.h"
  #include "intel_sseu.h"
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 2aa3bb883cb3..2e8e178ce966 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -33,6 +33,7 @@
  #include "intel_engine_pm.h"
  #include "intel_engine_pool.h"
  #include "intel_engine_user.h"
+#include "intel_execlists_submission.h"
  #include "intel_gt.h"
  #include "intel_gt_requests.h"
  #include "intel_gt_pm.h"
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pool.c b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
index 397186818305..56abd7a068d3 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_pool.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
@@ -9,6 +9,7 @@
  #include "i915_drv.h"
  #include "intel_engine_pm.h"
  #include "intel_engine_pool.h"
+#include "intel_execlists_submission.h" /* intel_virtual_engine*() */
  static struct intel_engine_cs *to_engine(struct intel_engine_pool *pool)
  {
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
similarity index 99%
rename from drivers/gpu/drm/i915/gt/intel_lrc.c
rename to drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index e1ea369bc62d..698276d3c074 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -1,31 +1,6 @@
+// SPDX-License-Identifier: MIT
  /*
   * Copyright © 2014 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Ben Widawsky <b...@bwidawsk.net>
- *    Michel Thierry <michel.thie...@intel.com>
- *    Thomas Daniel <thomas.dan...@intel.com>
- *    Oscar Mateo <oscar.ma...@intel.com>
- *
   */
  /**
@@ -139,6 +114,7 @@
  #include "i915_vgpu.h"
  #include "intel_context.h"
  #include "intel_engine_pm.h"
+#include "intel_execlists_submission.h"
  #include "intel_gt.h"
  #include "intel_gt_pm.h"
  #include "intel_gt_requests.h"
@@ -5317,5 +5293,5 @@ intel_engine_in_execlists_submission_mode(const struct intel_engine_cs *engine)
  }
  #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
-#include "selftest_lrc.c"
+#include "selftest_execlists.c"
  #endif
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.h b/drivers/gpu/drm/i915/gt/intel_execlists_submission.h
similarity index 56%
rename from drivers/gpu/drm/i915/gt/intel_lrc.h
rename to drivers/gpu/drm/i915/gt/intel_execlists_submission.h
index 0e5e820df5f7..d0a48e473007 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.h
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.h
@@ -1,42 +1,19 @@
+/* SPDX-License-Identifier: MIT */
  /*
   * Copyright © 2014 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
   */
-#ifndef _INTEL_LRC_H_
-#define _INTEL_LRC_H_
+#ifndef __INTEL_EXECLISTS_SUBMISSION_H__
+#define __INTEL_EXECLISTS_SUBMISSION_H__
  #include <linux/types.h>
  struct drm_printer;
-struct drm_i915_private;
-struct i915_gem_context;
  struct i915_request;
  struct intel_context;
  struct intel_engine_cs;
-/* Logical Rings */
-void intel_logical_ring_cleanup(struct intel_engine_cs *engine);
-
  int intel_execlists_submission_setup(struct intel_engine_cs *engine);
  /* Logical Ring Contexts */
@@ -82,4 +59,4 @@ intel_virtual_engine_get_sibling(struct intel_engine_cs *engine,
  bool
  intel_engine_in_execlists_submission_mode(const struct intel_engine_cs *engine);
-#endif /* _INTEL_LRC_H_ */
+#endif /* __INTEL_EXECLISTS_SUBMISSION_H__ */
diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c
index 0afc1eb3c20f..249ddcdf013f 100644
--- a/drivers/gpu/drm/i915/gt/intel_mocs.c
+++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
@@ -24,8 +24,8 @@
  #include "intel_engine.h"
  #include "intel_gt.h"
+#include "intel_lrc_reg.h"
  #include "intel_mocs.h"
-#include "intel_lrc.h"
  #include "intel_ring.h"
  /* structures required */
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
similarity index 100%
rename from drivers/gpu/drm/i915/gt/selftest_lrc.c
rename to drivers/gpu/drm/i915/gt/selftest_execlists.c
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
index 101728006ae9..603c2c84315e 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
@@ -3,6 +3,7 @@
   * Copyright © 2014-2019 Intel Corporation
   */
+#include "gt/intel_execlists_submission.h" /* lrc layout */
  #include "gt/intel_gt.h"
  #include "intel_guc_ads.h"
  #include "intel_uc.h"
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 9e42324fdecd..bb2095e71dca 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -8,6 +8,7 @@
  #include "gem/i915_gem_context.h"
  #include "gt/intel_context.h"
  #include "gt/intel_engine_pm.h"
+#include "gt/intel_execlists_submission.h" /* XXX */
  #include "gt/intel_gt.h"
  #include "gt/intel_gt_pm.h"
  #include "gt/intel_lrc_reg.h"
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index a8a08c63278e..7693d37a6d0e 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -77,7 +77,6 @@
  #include "gem/i915_gem_shrinker.h"
  #include "gem/i915_gem_stolen.h"
-#include "gt/intel_lrc.h"
  #include "gt/intel_engine.h"
  #include "gt/intel_gt_types.h"
  #include "gt/intel_workarounds.h"
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 535a12520dba..25091f82789c 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -198,6 +198,7 @@
  #include "gem/i915_gem_context.h"
  #include "gt/intel_engine_pm.h"
  #include "gt/intel_engine_user.h"
+#include "gt/intel_execlists_submission.h"
  #include "gt/intel_gt.h"
  #include "gt/intel_lrc_reg.h"
  #include "gt/intel_ring.h"

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to