From: Tvrtko Ursulin <[email protected]>

This aligns better with the rest of restructuring.

Signed-off-by: Tvrtko Ursulin <[email protected]>
Suggested-by: Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c  |  5 +++--
 drivers/gpu/drm/i915/gem/i915_gem_phys.c        |  3 ++-
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c |  4 +++-
 drivers/gpu/drm/i915/gt/intel_gt.c              |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt.h              | 10 ++++++++--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c    | 12 ++++++++----
 drivers/gpu/drm/i915/gt/selftest_workarounds.c  |  5 +++--
 drivers/gpu/drm/i915/i915_drv.h                 |  8 --------
 drivers/gpu/drm/i915/i915_gem.c                 |  2 +-
 drivers/gpu/drm/i915/selftests/i915_request.c   | 10 ++++++----
 drivers/gpu/drm/i915/selftests/igt_spinner.c    |  7 +++++--
 drivers/gpu/drm/i915/selftests/igt_spinner.h    |  3 +++
 12 files changed, 43 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 
b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 528eea44dccf..4ae25515e63c 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -14,6 +14,7 @@
 
 #include "gem/i915_gem_ioctls.h"
 #include "gt/intel_context.h"
+#include "gt/intel_gt.h"
 #include "gt/intel_gt_pm.h"
 
 #include "i915_gem_ioctls.h"
@@ -993,7 +994,7 @@ static void reloc_gpu_flush(struct reloc_cache *cache)
        __i915_gem_object_flush_map(cache->rq->batch->obj, 0, cache->rq_size);
        i915_gem_object_unpin_map(cache->rq->batch->obj);
 
-       i915_gem_chipset_flush(cache->rq->i915);
+       intel_gt_chipset_flush(cache->rq->engine->gt);
 
        i915_request_add(cache->rq);
        cache->rq = NULL;
@@ -1953,7 +1954,7 @@ static int eb_move_to_gpu(struct i915_execbuffer *eb)
        eb->exec = NULL;
 
        /* Unconditionally flush any chipset caches (for streaming writes). */
-       i915_gem_chipset_flush(eb->i915);
+       intel_gt_chipset_flush(eb->engine->gt);
        return 0;
 
 err_skip:
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_phys.c 
b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
index 2deac933cf59..7b900ee4ed8d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_phys.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
@@ -13,6 +13,7 @@
 #include <drm/drm_legacy.h> /* for drm_pci.h! */
 #include <drm/drm_pci.h>
 
+#include "gt/intel_gt.h"
 #include "i915_drv.h"
 #include "i915_gem_object.h"
 #include "i915_scatterlist.h"
@@ -60,7 +61,7 @@ static int i915_gem_object_get_pages_phys(struct 
drm_i915_gem_object *obj)
                vaddr += PAGE_SIZE;
        }
 
-       i915_gem_chipset_flush(to_i915(obj->base.dev));
+       intel_gt_chipset_flush(&to_i915(obj->base.dev)->gt);
 
        st = kmalloc(sizeof(*st), GFP_KERNEL);
        if (!st) {
diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c 
b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
index 73e667b31cc4..5aa52ed514b7 100644
--- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
@@ -10,6 +10,8 @@
 
 #include "gem/i915_gem_pm.h"
 
+#include "gt/intel_gt.h"
+
 #include "igt_gem_utils.h"
 #include "mock_context.h"
 
@@ -926,7 +928,7 @@ gpu_write_dw(struct i915_vma *vma, u64 offset, u32 val)
        }
 
        *cmd = MI_BATCH_BUFFER_END;
-       i915_gem_chipset_flush(i915);
+       intel_gt_chipset_flush(vma->vm->gt);
 
        i915_gem_object_unpin_map(obj);
 
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index 955503504944..5bc460d68c8b 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -177,7 +177,7 @@ void intel_gt_flush_ggtt_writes(struct intel_gt *gt)
        if (INTEL_INFO(i915)->has_coherent_ggtt)
                return;
 
-       i915_gem_chipset_flush(i915);
+       intel_gt_chipset_flush(gt);
 
        with_intel_runtime_pm(i915, wakeref) {
                struct intel_uncore *uncore = gt->uncore;
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h 
b/drivers/gpu/drm/i915/gt/intel_gt.h
index 051d7069db55..8d84716c3b3b 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt.h
@@ -9,8 +9,7 @@
 
 #include "gt/intel_engine_types.h"
 #include "gt/intel_gt_types.h"
-
-struct drm_i915_private;
+#include "i915_drv.h"
 
 void intel_gt_init(struct intel_gt *gt, struct drm_i915_private *i915);
 
@@ -20,4 +19,11 @@ void intel_gt_clear_error_registers(struct intel_gt *gt,
 
 void intel_gt_flush_ggtt_writes(struct intel_gt *gt);
 
+static inline void intel_gt_chipset_flush(struct intel_gt *gt)
+{
+       wmb();
+       if (INTEL_GEN(gt->i915) < 6)
+               intel_gtt_chipset_flush();
+}
+
 #endif /* __INTEL_GT_H__ */
diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c 
b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
index 45379a63e013..e5edad74257e 100644
--- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
+++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
@@ -25,6 +25,7 @@
 #include <linux/kthread.h>
 
 #include "gem/i915_gem_context.h"
+#include "gt/intel_gt.h"
 #include "intel_engine_pm.h"
 
 #include "i915_selftest.h"
@@ -43,6 +44,7 @@
 
 struct hang {
        struct drm_i915_private *i915;
+       struct intel_gt *gt;
        struct drm_i915_gem_object *hws;
        struct drm_i915_gem_object *obj;
        struct i915_gem_context *ctx;
@@ -135,6 +137,8 @@ hang_create_request(struct hang *h, struct intel_engine_cs 
*engine)
        u32 *batch;
        int err;
 
+       h->gt = engine->gt;
+
        if (i915_gem_object_is_active(h->obj)) {
                struct drm_i915_gem_object *obj;
                void *vaddr;
@@ -242,7 +246,7 @@ hang_create_request(struct hang *h, struct intel_engine_cs 
*engine)
                *batch++ = lower_32_bits(vma->node.start);
        }
        *batch++ = MI_BATCH_BUFFER_END; /* not reached */
-       i915_gem_chipset_flush(h->i915);
+       intel_gt_chipset_flush(engine->gt);
 
        if (rq->engine->emit_init_breadcrumb) {
                err = rq->engine->emit_init_breadcrumb(rq);
@@ -276,7 +280,7 @@ static u32 hws_seqno(const struct hang *h, const struct 
i915_request *rq)
 static void hang_fini(struct hang *h)
 {
        *h->batch = MI_BATCH_BUFFER_END;
-       i915_gem_chipset_flush(h->i915);
+       intel_gt_chipset_flush(h->gt);
 
        i915_gem_object_unpin_map(h->obj);
        i915_gem_object_put(h->obj);
@@ -333,7 +337,7 @@ static int igt_hang_sanitycheck(void *arg)
                i915_request_get(rq);
 
                *h.batch = MI_BATCH_BUFFER_END;
-               i915_gem_chipset_flush(i915);
+               intel_gt_chipset_flush(engine->gt);
 
                i915_request_add(rq);
 
@@ -1510,7 +1514,7 @@ static int igt_reset_queue(void *arg)
                pr_info("%s: Completed %d resets\n", engine->name, count);
 
                *h.batch = MI_BATCH_BUFFER_END;
-               i915_gem_chipset_flush(i915);
+               intel_gt_chipset_flush(engine->gt);
 
                i915_request_put(prev);
 
diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c 
b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
index 93e9579b8a4f..f9813d21fe9d 100644
--- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
@@ -5,6 +5,7 @@
  */
 
 #include "gem/i915_gem_pm.h"
+#include "gt/intel_gt.h"
 #include "i915_selftest.h"
 #include "intel_reset.h"
 
@@ -516,7 +517,7 @@ static int check_dirty_whitelist(struct i915_gem_context 
*ctx,
 
                i915_gem_object_flush_map(batch->obj);
                i915_gem_object_unpin_map(batch->obj);
-               i915_gem_chipset_flush(ctx->i915);
+               intel_gt_chipset_flush(engine->gt);
 
                rq = igt_request_alloc(ctx, engine);
                if (IS_ERR(rq)) {
@@ -771,7 +772,7 @@ static int scrub_whitelisted_registers(struct 
i915_gem_context *ctx,
        *cs++ = MI_BATCH_BUFFER_END;
 
        i915_gem_object_flush_map(batch->obj);
-       i915_gem_chipset_flush(ctx->i915);
+       intel_gt_chipset_flush(engine->gt);
 
        rq = igt_request_alloc(ctx, engine);
        if (IS_ERR(rq)) {
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4987a048b3d3..cd5f7ba28f87 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2648,14 +2648,6 @@ int __must_check i915_gem_evict_for_node(struct 
i915_address_space *vm,
                                         unsigned int flags);
 int i915_gem_evict_vm(struct i915_address_space *vm);
 
-/* belongs in i915_gem_gtt.h */
-static inline void i915_gem_chipset_flush(struct drm_i915_private *dev_priv)
-{
-       wmb();
-       if (INTEL_GEN(dev_priv) < 6)
-               intel_gtt_chipset_flush();
-}
-
 /* i915_gem_stolen.c */
 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
                                struct drm_mm_node *node, u64 size,
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 4f9aac62a8a4..b0cfcda67984 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -142,7 +142,7 @@ i915_gem_phys_pwrite(struct drm_i915_gem_object *obj,
                return -EFAULT;
 
        drm_clflush_virt_range(vaddr, args->size);
-       i915_gem_chipset_flush(to_i915(obj->base.dev));
+       intel_gt_chipset_flush(&to_i915(obj->base.dev)->gt);
 
        intel_fb_obj_flush(obj, ORIGIN_CPU);
        return 0;
diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c 
b/drivers/gpu/drm/i915/selftests/i915_request.c
index 11278bac3a24..158e927a8fce 100644
--- a/drivers/gpu/drm/i915/selftests/i915_request.c
+++ b/drivers/gpu/drm/i915/selftests/i915_request.c
@@ -27,6 +27,8 @@
 #include "gem/i915_gem_pm.h"
 #include "gem/selftests/mock_context.h"
 
+#include "gt/intel_gt.h"
+
 #include "i915_random.h"
 #include "i915_selftest.h"
 #include "igt_live_test.h"
@@ -624,7 +626,7 @@ static struct i915_vma *empty_batch(struct drm_i915_private 
*i915)
        __i915_gem_object_flush_map(obj, 0, 64);
        i915_gem_object_unpin_map(obj);
 
-       i915_gem_chipset_flush(i915);
+       intel_gt_chipset_flush(&i915->gt);
 
        vma = i915_vma_instance(obj, &i915->ggtt.vm, NULL);
        if (IS_ERR(vma)) {
@@ -797,7 +799,7 @@ static struct i915_vma *recursive_batch(struct 
drm_i915_private *i915)
        __i915_gem_object_flush_map(obj, 0, 64);
        i915_gem_object_unpin_map(obj);
 
-       i915_gem_chipset_flush(i915);
+       intel_gt_chipset_flush(&i915->gt);
 
        return vma;
 
@@ -815,7 +817,7 @@ static int recursive_batch_resolve(struct i915_vma *batch)
                return PTR_ERR(cmd);
 
        *cmd = MI_BATCH_BUFFER_END;
-       i915_gem_chipset_flush(batch->vm->i915);
+       intel_gt_chipset_flush(batch->vm->gt);
 
        i915_gem_object_unpin_map(batch->obj);
 
@@ -1039,7 +1041,7 @@ static int live_sequential_engines(void *arg)
                                              I915_MAP_WC);
                if (!IS_ERR(cmd)) {
                        *cmd = MI_BATCH_BUFFER_END;
-                       i915_gem_chipset_flush(i915);
+                       intel_gt_chipset_flush(engine->gt);
 
                        i915_gem_object_unpin_map(request[id]->batch->obj);
                }
diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c 
b/drivers/gpu/drm/i915/selftests/igt_spinner.c
index 1e59b543cf27..0c1f65262a63 100644
--- a/drivers/gpu/drm/i915/selftests/igt_spinner.c
+++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c
@@ -3,6 +3,7 @@
  *
  * Copyright © 2018 Intel Corporation
  */
+#include "gt/intel_gt.h"
 
 #include "gem/selftests/igt_gem_utils.h"
 
@@ -94,6 +95,8 @@ igt_spinner_create_request(struct igt_spinner *spin,
        u32 *batch;
        int err;
 
+       spin->gt = engine->gt;
+
        vma = i915_vma_instance(spin->obj, ctx->vm, NULL);
        if (IS_ERR(vma))
                return ERR_CAST(vma);
@@ -138,7 +141,7 @@ igt_spinner_create_request(struct igt_spinner *spin,
        *batch++ = upper_32_bits(vma->node.start);
        *batch++ = MI_BATCH_BUFFER_END; /* not reached */
 
-       i915_gem_chipset_flush(spin->i915);
+       intel_gt_chipset_flush(engine->gt);
 
        if (engine->emit_init_breadcrumb &&
            rq->timeline->has_initial_breadcrumb) {
@@ -172,7 +175,7 @@ hws_seqno(const struct igt_spinner *spin, const struct 
i915_request *rq)
 void igt_spinner_end(struct igt_spinner *spin)
 {
        *spin->batch = MI_BATCH_BUFFER_END;
-       i915_gem_chipset_flush(spin->i915);
+       intel_gt_chipset_flush(spin->gt);
 }
 
 void igt_spinner_fini(struct igt_spinner *spin)
diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.h 
b/drivers/gpu/drm/i915/selftests/igt_spinner.h
index 34a88ac9b47a..1bfc39efa773 100644
--- a/drivers/gpu/drm/i915/selftests/igt_spinner.h
+++ b/drivers/gpu/drm/i915/selftests/igt_spinner.h
@@ -14,8 +14,11 @@
 #include "i915_request.h"
 #include "i915_selftest.h"
 
+struct intel_gt;
+
 struct igt_spinner {
        struct drm_i915_private *i915;
+       struct intel_gt *gt;
        struct drm_i915_gem_object *hws;
        struct drm_i915_gem_object *obj;
        u32 *batch;
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to