On Wed, 19 Jun 2019, Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > We have long been slighlty annoyed by the anonymous i915->gt. > > Promote it to a separate structure and give it its own header. > > This is a first step towards cleaning up the separation between i915 and gt. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/intel_gt_types.h | 53 ++++++++++++++++++++++++ > drivers/gpu/drm/i915/i915_drv.h | 34 +-------------- > 2 files changed, 55 insertions(+), 32 deletions(-) > create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_types.h > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h b/drivers/gpu/drm/i915/gt/intel_gt_types.h > new file mode 100644 > index 000000000000..dcdb18e0dd84 > --- /dev/null > +++ b/drivers/gpu/drm/i915/gt/intel_gt_types.h > @@ -0,0 +1,53 @@ > +/* > + * SPDX-License-Identifier: MIT > + * > + * Copyright © 2019 Intel Corporation > + */ http://patchwork.freedesktop.org/patch/msgid/20190615043142.GA1890@nishad BR, Jani. > + > +#ifndef __INTEL_GT_TYPES__ > +#define __INTEL_GT_TYPES__ > + > +#include <linux/ktime.h> > +#include <linux/list.h> > +#include <linux/mutex.h> > +#include <linux/notifier.h> > +#include <linux/spinlock.h> > +#include <linux/types.h> > + > +#include "i915_vma.h" > +#include "intel_wakeref.h" > + > +struct intel_gt { > + struct i915_gt_timelines { > + struct mutex mutex; /* protects list, tainted by GPU */ > + struct list_head active_list; > + > + /* Pack multiple timelines' seqnos into the same page */ > + spinlock_t hwsp_lock; > + struct list_head hwsp_free_list; > + } timelines; > + > + struct list_head active_rings; > + > + struct intel_wakeref wakeref; > + > + struct list_head closed_vma; > + spinlock_t closed_lock; /* guards the list of closed_vma */ > + > + /** > + * Is the GPU currently considered idle, or busy executing > + * userspace requests? Whilst idle, we allow runtime power > + * management to power down the hardware and display clocks. > + * In order to reduce the effect on performance, there > + * is a slight delay before we do so. > + */ > + intel_wakeref_t awake; > + > + struct blocking_notifier_head pm_notifications; > + > + ktime_t last_init_time; > + > + struct i915_vma *scratch; > +}; > + > +#endif /* __INTEL_GT_TYPES_H__ */ > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index bc909ec5d9c3..be433894ea28 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -72,6 +72,7 @@ > > #include "gt/intel_lrc.h" > #include "gt/intel_engine.h" > +#include "gt/intel_gt_types.h" > #include "gt/intel_workarounds.h" > > #include "intel_device_info.h" > @@ -1824,38 +1825,7 @@ struct drm_i915_private { > } perf; > > /* Abstract the submission mechanism (legacy ringbuffer or execlists) away */ > - struct { > - struct i915_gt_timelines { > - struct mutex mutex; /* protects list, tainted by GPU */ > - struct list_head active_list; > - > - /* Pack multiple timelines' seqnos into the same page */ > - spinlock_t hwsp_lock; > - struct list_head hwsp_free_list; > - } timelines; > - > - struct list_head active_rings; > - > - struct intel_wakeref wakeref; > - > - struct list_head closed_vma; > - spinlock_t closed_lock; /* guards the list of closed_vma */ > - > - /** > - * Is the GPU currently considered idle, or busy executing > - * userspace requests? Whilst idle, we allow runtime power > - * management to power down the hardware and display clocks. > - * In order to reduce the effect on performance, there > - * is a slight delay before we do so. > - */ > - intel_wakeref_t awake; > - > - struct blocking_notifier_head pm_notifications; > - > - ktime_t last_init_time; > - > - struct i915_vma *scratch; > - } gt; > + struct intel_gt gt; > > struct { > struct notifier_block pm_notifier; -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx