From: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

We need an easy way to get back to i915 and uncore.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursu...@intel.com>
Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_gt.c               | 7 ++++++-
 drivers/gpu/drm/i915/gt/intel_gt.h               | 4 +++-
 drivers/gpu/drm/i915/gt/intel_gt_types.h         | 6 ++++++
 drivers/gpu/drm/i915/i915_drv.c                  | 2 +-
 drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +-
 5 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
b/drivers/gpu/drm/i915/gt/intel_gt.c
index 29a0f0a32549..6b7e857ca240 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -4,10 +4,15 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include "i915_drv.h"
+
 #include "intel_gt.h"
 
-void intel_gt_init_early(struct intel_gt *gt)
+void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
 {
+       gt->i915 = i915;
+       gt->uncore = &i915->uncore;
+
        INIT_LIST_HEAD(&gt->active_rings);
        INIT_LIST_HEAD(&gt->closed_vma);
 
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h 
b/drivers/gpu/drm/i915/gt/intel_gt.h
index d153e7fb4c08..7a6f8178d2e5 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt.h
@@ -9,6 +9,8 @@
 
 #include "gt/intel_gt_types.h"
 
-void intel_gt_init_early(struct intel_gt *gt);
+struct drm_i915_private;
+
+void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915);
 
 #endif /* __INTEL_GT_H__ */
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h 
b/drivers/gpu/drm/i915/gt/intel_gt_types.h
index dcdb18e0dd84..d96df4f68741 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt_types.h
@@ -17,7 +17,13 @@
 #include "i915_vma.h"
 #include "intel_wakeref.h"
 
+struct drm_i915_private;
+struct intel_uncore;
+
 struct intel_gt {
+       struct drm_i915_private *i915;
+       struct intel_uncore *uncore;
+
        struct i915_gt_timelines {
                struct mutex mutex; /* protects list, tainted by GPU */
                struct list_head active_list;
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index ff175d1f2aad..50ab46ab8fcd 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -916,7 +916,7 @@ static int i915_driver_init_early(struct drm_i915_private 
*dev_priv)
        if (ret < 0)
                goto err_engines;
 
-       intel_gt_init_early(&dev_priv->gt);
+       intel_gt_init_early(&dev_priv->gt, dev_priv);
 
        ret = i915_gem_init_early(dev_priv);
        if (ret < 0)
diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c 
b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 8dc9296892e6..2b87200477f6 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -180,7 +180,7 @@ struct drm_i915_private *mock_gem_device(void)
 
        mock_uncore_init(&i915->uncore);
        i915_gem_init__mm(i915);
-       intel_gt_init_early(&i915->gt);
+       intel_gt_init_early(&i915->gt, i915);
        intel_gt_pm_init(i915);
        atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */
 
-- 
2.20.1

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

Reply via email to