Skip to content

Commit

Permalink
drm/i915: Rename i915_gem_timeline.next_seqno to .seqno
Browse files Browse the repository at this point in the history
Rename i915_gem_timeline member 'next_seqno' into 'seqno' as
the variable is pre-increment. We've already had two bugs due
to the confusing name, second is fixed as follow-up patch.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20161124144750.2610-1-chris@chris-wilson.co.uk
  • Loading branch information
Joonas Lahtinen authored and Chris Wilson committed Nov 25, 2016
1 parent 60abfbb commit 4c266ed
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/i915_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
seq_printf(m, "Flip queued on %s at seqno %x, next seqno %x [current breadcrumb %x], completed? %d\n",
engine->name,
work->flip_queued_req->global_seqno,
atomic_read(&dev_priv->gt.global_timeline.next_seqno),
atomic_read(&dev_priv->gt.global_timeline.seqno),
intel_engine_get_seqno(engine),
i915_gem_request_completed(work->flip_queued_req));
} else
Expand Down Expand Up @@ -1026,7 +1026,7 @@ i915_next_seqno_get(void *data, u64 *val)
{
struct drm_i915_private *dev_priv = data;

*val = 1 + atomic_read(&dev_priv->gt.global_timeline.next_seqno);
*val = 1 + atomic_read(&dev_priv->gt.global_timeline.seqno);
return 0;
}

Expand Down
14 changes: 7 additions & 7 deletions drivers/gpu/drm/i915/i915_gem_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,11 +330,11 @@ static int i915_gem_init_global_seqno(struct drm_i915_private *i915, u32 seqno)
GEM_BUG_ON(i915->gt.active_requests > 1);

/* If the seqno wraps around, we need to clear the breadcrumb rbtree */
if (!i915_seqno_passed(seqno, atomic_read(&timeline->next_seqno))) {
if (!i915_seqno_passed(seqno, atomic_read(&timeline->seqno))) {
while (intel_breadcrumbs_busy(i915))
cond_resched(); /* spin until threads are complete */
}
atomic_set(&timeline->next_seqno, seqno);
atomic_set(&timeline->seqno, seqno);

/* Finally reset hw state */
for_each_engine(engine, i915, id)
Expand Down Expand Up @@ -369,11 +369,11 @@ int i915_gem_set_global_seqno(struct drm_device *dev, u32 seqno)
static int reserve_global_seqno(struct drm_i915_private *i915)
{
u32 active_requests = ++i915->gt.active_requests;
u32 next_seqno = atomic_read(&i915->gt.global_timeline.next_seqno);
u32 seqno = atomic_read(&i915->gt.global_timeline.seqno);
int ret;

/* Reservation is fine until we need to wrap around */
if (likely(next_seqno + active_requests > next_seqno))
if (likely(seqno + active_requests > seqno))
return 0;

ret = i915_gem_init_global_seqno(i915, 0);
Expand All @@ -387,13 +387,13 @@ static int reserve_global_seqno(struct drm_i915_private *i915)

static u32 __timeline_get_seqno(struct i915_gem_timeline *tl)
{
/* next_seqno only incremented under a mutex */
return ++tl->next_seqno.counter;
/* seqno only incremented under a mutex */
return ++tl->seqno.counter;
}

static u32 timeline_get_seqno(struct i915_gem_timeline *tl)
{
return atomic_inc_return(&tl->next_seqno);
return atomic_inc_return(&tl->seqno);
}

void __i915_gem_request_submit(struct drm_i915_gem_request *request)
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/i915_gem_timeline.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ struct intel_timeline {

struct i915_gem_timeline {
struct list_head link;
atomic_t next_seqno;
atomic_t seqno;

struct drm_i915_private *i915;
const char *name;
Expand Down

0 comments on commit 4c266ed

Please sign in to comment.