From: Tvrtko Ursulin <tursulin@ursulin.net>
To: Intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags
Date: Wed, 29 Nov 2017 08:24:09 +0000 [thread overview]
Message-ID: <20171129082409.18189-1-tvrtko.ursulin@linux.intel.com> (raw)
In-Reply-To: <20171124112121.31855-1-tvrtko.ursulin@linux.intel.com>
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Will be adding a new per-engine flags shortly so it makes sense
to consolidate.
v2: Keep the original code flow in intel_engine_cleanup_cmd_parser.
(Joonas Lahtinen)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
drivers/gpu/drm/i915/i915_cmd_parser.c | 7 ++++---
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
drivers/gpu/drm/i915/intel_ringbuffer.h | 8 +++++++-
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c
index b11629beeb63..ccb5ba043b63 100644
--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
@@ -26,6 +26,7 @@
*/
#include "i915_drv.h"
+#include "intel_ringbuffer.h"
/**
* DOC: batch buffer command parser
@@ -940,7 +941,7 @@ void intel_engine_init_cmd_parser(struct intel_engine_cs *engine)
return;
}
- engine->needs_cmd_parser = true;
+ engine->flags |= I915_ENGINE_NEEDS_CMD_PARSER;
}
/**
@@ -952,7 +953,7 @@ void intel_engine_init_cmd_parser(struct intel_engine_cs *engine)
*/
void intel_engine_cleanup_cmd_parser(struct intel_engine_cs *engine)
{
- if (!engine->needs_cmd_parser)
+ if (!intel_engine_needs_cmd_parser(engine))
return;
fini_hash_table(engine);
@@ -1350,7 +1351,7 @@ int i915_cmd_parser_get_version(struct drm_i915_private *dev_priv)
/* If the command parser is not enabled, report 0 - unsupported */
for_each_engine(engine, dev_priv, id) {
- if (engine->needs_cmd_parser) {
+ if (intel_engine_needs_cmd_parser(engine)) {
active = true;
break;
}
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 14d9e61a1e06..70ccd63cbf8e 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -271,7 +271,7 @@ static inline u64 gen8_noncanonical_addr(u64 address)
static inline bool eb_use_cmdparser(const struct i915_execbuffer *eb)
{
- return eb->engine->needs_cmd_parser && eb->batch_len;
+ return intel_engine_needs_cmd_parser(eb->engine) && eb->batch_len;
}
static int eb_create(struct i915_execbuffer *eb)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index 0f38d7b43f31..a91ce63b88b6 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -539,7 +539,8 @@ struct intel_engine_cs {
struct intel_engine_hangcheck hangcheck;
- bool needs_cmd_parser;
+#define I915_ENGINE_NEEDS_CMD_PARSER BIT(0)
+ unsigned int flags;
/*
* Table of commands the command parser needs to know about
@@ -598,6 +599,11 @@ struct intel_engine_cs {
} stats;
};
+static inline bool intel_engine_needs_cmd_parser(struct intel_engine_cs *engine)
+{
+ return engine->flags & I915_ENGINE_NEEDS_CMD_PARSER;
+}
+
static inline void
execlists_set_active(struct intel_engine_execlists *execlists,
unsigned int bit)
--
2.14.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-11-29 8:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-24 11:21 [PATCH 1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags Tvrtko Ursulin
2017-11-24 11:21 ` [PATCH 2/2] drm/i915: Consolidate checks for engine stats availability Tvrtko Ursulin
2017-11-24 11:44 ` Chris Wilson
2017-11-29 8:24 ` [PATCH v5 " Tvrtko Ursulin
2017-11-29 8:32 ` Joonas Lahtinen
2017-11-29 9:27 ` [PATCH v6 " Tvrtko Ursulin
2017-11-29 9:33 ` Sagar Arun Kamble
2017-11-29 10:24 ` Chris Wilson
2017-11-29 10:28 ` [PATCH v7 " Tvrtko Ursulin
2017-11-24 11:54 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags Patchwork
2017-11-24 14:54 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-27 6:12 ` [PATCH 1/2] " Sagar Arun Kamble
2017-11-27 10:18 ` Joonas Lahtinen
2017-11-29 8:24 ` Tvrtko Ursulin [this message]
2017-11-29 9:59 ` ✓ Fi.CI.BAT: success for series starting with [v2,1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags (rev4) Patchwork
2017-11-29 10:58 ` ✓ Fi.CI.BAT: success for series starting with [v2,1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags (rev5) Patchwork
2017-11-29 12:30 ` Tvrtko Ursulin
2017-11-29 12:19 ` ✓ Fi.CI.IGT: success for series starting with [v2,1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags (rev4) Patchwork
2017-11-29 12:23 ` ✓ Fi.CI.IGT: success for series starting with [v2,1/2] drm/i915: Move engine->needs_cmd_parser to engine->flags (rev5) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171129082409.18189-1-tvrtko.ursulin@linux.intel.com \
--to=tursulin@ursulin.net \
--cc=Intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.