Commit 724e9564 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin

drm/i915: Store some backpointers in struct intel_gt

We need an easy way to get back to i915 and uncore.
Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190621070811.7006-4-tvrtko.ursulin@linux.intel.com
parent 24635c51
...@@ -3,10 +3,15 @@ ...@@ -3,10 +3,15 @@
* Copyright © 2019 Intel Corporation * Copyright © 2019 Intel Corporation
*/ */
#include "i915_drv.h"
#include "intel_gt.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->active_rings);
INIT_LIST_HEAD(&gt->closed_vma); INIT_LIST_HEAD(&gt->closed_vma);
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
#include "intel_gt_types.h" #include "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__ */ #endif /* __INTEL_GT_H__ */
...@@ -16,7 +16,13 @@ ...@@ -16,7 +16,13 @@
#include "i915_vma.h" #include "i915_vma.h"
#include "intel_wakeref.h" #include "intel_wakeref.h"
struct drm_i915_private;
struct intel_uncore;
struct intel_gt { struct intel_gt {
struct drm_i915_private *i915;
struct intel_uncore *uncore;
struct i915_gt_timelines { struct i915_gt_timelines {
struct mutex mutex; /* protects list, tainted by GPU */ struct mutex mutex; /* protects list, tainted by GPU */
struct list_head active_list; struct list_head active_list;
......
...@@ -923,7 +923,7 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv) ...@@ -923,7 +923,7 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv)
if (ret < 0) if (ret < 0)
goto err_engines; 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); ret = i915_gem_init_early(dev_priv);
if (ret < 0) if (ret < 0)
......
...@@ -180,7 +180,7 @@ struct drm_i915_private *mock_gem_device(void) ...@@ -180,7 +180,7 @@ struct drm_i915_private *mock_gem_device(void)
mock_uncore_init(&i915->uncore); mock_uncore_init(&i915->uncore);
i915_gem_init__mm(i915); i915_gem_init__mm(i915);
intel_gt_init_early(&i915->gt); intel_gt_init_early(&i915->gt, i915);
intel_gt_pm_init(i915); intel_gt_pm_init(i915);
atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */ atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment