From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 02/14] drm/i915: New structure to contain GuC logging related fields
Date: Thu, 7 Jul 2016 14:51:24 +0100 [thread overview]
Message-ID: <577E5E5C.9040509@linux.intel.com> (raw)
In-Reply-To: <1467485491-17247-3-git-send-email-akash.goel@intel.com>
On 02/07/16 19:51, akash.goel@intel.com wrote:
> From: Akash Goel <akash.goel@intel.com>
>
> So far there were 2 fields related to GuC logs in 'intel_guc' structure.
> For the support of capturing GuC logs & storing them in a local buffer,
> multiple new fields would have to be added. This warrants a separate
> structure to contain the fields related to GuC logging state.
> Added a new structure 'intel_guc_log' and instance of it inside
> 'intel_guc' structure.
>
> Signed-off-by: Akash Goel <akash.goel@intel.com>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
> drivers/gpu/drm/i915/i915_guc_submission.c | 10 +++++-----
> drivers/gpu/drm/i915/intel_guc.h | 8 ++++++--
> drivers/gpu/drm/i915/intel_guc_loader.c | 2 +-
> 4 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 5185e02..de197535 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2625,7 +2625,7 @@ static int i915_guc_log_dump(struct seq_file *m, void *data)
> struct drm_info_node *node = m->private;
> struct drm_device *dev = node->minor->dev;
> struct drm_i915_private *dev_priv = dev->dev_private;
> - struct drm_i915_gem_object *log_obj = dev_priv->guc.log_obj;
> + struct drm_i915_gem_object *log_obj = dev_priv->guc.log.obj;
> u32 *log;
> int i = 0, pg;
>
> diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
> index 28a810f..fedf82b 100644
> --- a/drivers/gpu/drm/i915/i915_guc_submission.c
> +++ b/drivers/gpu/drm/i915/i915_guc_submission.c
> @@ -835,7 +835,7 @@ static void guc_create_log(struct intel_guc *guc)
> GUC_LOG_ISR_PAGES + 1 +
> GUC_LOG_CRASH_PAGES + 1) << PAGE_SHIFT;
>
> - obj = guc->log_obj;
> + obj = guc->log.obj;
> if (!obj) {
> obj = gem_allocate_guc_obj(dev_priv, size);
> if (!obj) {
> @@ -844,7 +844,7 @@ static void guc_create_log(struct intel_guc *guc)
> return;
> }
>
> - guc->log_obj = obj;
> + guc->log.obj = obj;
> }
>
> /* each allocated unit is a page */
> @@ -854,7 +854,7 @@ static void guc_create_log(struct intel_guc *guc)
> (GUC_LOG_CRASH_PAGES << GUC_LOG_CRASH_SHIFT);
>
> offset = i915_gem_obj_ggtt_offset(obj) >> PAGE_SHIFT; /* in pages */
> - guc->log_flags = (offset << GUC_LOG_BUF_ADDR_SHIFT) | flags;
> + guc->log.flags = (offset << GUC_LOG_BUF_ADDR_SHIFT) | flags;
> }
>
> static void init_guc_policies(struct guc_policies *policies)
> @@ -1015,8 +1015,8 @@ void i915_guc_submission_fini(struct drm_i915_private *dev_priv)
> gem_release_guc_obj(dev_priv->guc.ads_obj);
> guc->ads_obj = NULL;
>
> - gem_release_guc_obj(dev_priv->guc.log_obj);
> - guc->log_obj = NULL;
> + gem_release_guc_obj(dev_priv->guc.log.obj);
> + guc->log.obj = NULL;
>
> if (guc->ctx_pool_obj)
> ida_destroy(&guc->ctx_ids);
> diff --git a/drivers/gpu/drm/i915/intel_guc.h b/drivers/gpu/drm/i915/intel_guc.h
> index 3e3e743..d52eca3 100644
> --- a/drivers/gpu/drm/i915/intel_guc.h
> +++ b/drivers/gpu/drm/i915/intel_guc.h
> @@ -122,10 +122,14 @@ struct intel_guc_fw {
> uint32_t ucode_offset;
> };
>
> +struct intel_guc_log {
> + uint32_t flags;
> + struct drm_i915_gem_object *obj;
> +};
> +
> struct intel_guc {
> struct intel_guc_fw guc_fw;
> - uint32_t log_flags;
> - struct drm_i915_gem_object *log_obj;
> + struct intel_guc_log log;
>
> struct drm_i915_gem_object *ads_obj;
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c b/drivers/gpu/drm/i915/intel_guc_loader.c
> index db3c897..8ef9b7f 100644
> --- a/drivers/gpu/drm/i915/intel_guc_loader.c
> +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
> @@ -173,7 +173,7 @@ static void set_guc_init_params(struct drm_i915_private *dev_priv)
> params[GUC_CTL_FEATURE] |= GUC_CTL_DISABLE_SCHEDULER |
> GUC_CTL_VCS2_ENABLED;
>
> - params[GUC_CTL_LOG_PARAMS] = guc->log_flags;
> + params[GUC_CTL_LOG_PARAMS] = guc->log.flags;
>
> if (i915.guc_log_level >= 0)
> params[GUC_CTL_DEBUG] =
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-07-07 13:51 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-02 18:51 [PATCH v3 00/14] Support for sustained capturing of GuC firmware logs akash.goel
2016-07-02 18:51 ` [PATCH 01/14] drm/i915: Add GuC ukernel logging related fields to fw interface file akash.goel
2016-07-07 13:49 ` Tvrtko Ursulin
2016-07-02 18:51 ` [PATCH 02/14] drm/i915: New structure to contain GuC logging related fields akash.goel
2016-07-07 13:51 ` Tvrtko Ursulin [this message]
2016-07-02 18:51 ` [PATCH 03/14] drm/i915: Add low level set of routines for programming PM IER/IIR/IMR register set akash.goel
2016-07-03 9:38 ` Chris Wilson
2016-07-03 13:07 ` Goel, Akash
2016-07-02 18:51 ` [PATCH 04/14] drm/i915: Support for GuC interrupts akash.goel
2016-07-03 9:23 ` Chris Wilson
2016-07-02 18:51 ` [PATCH 05/14] drm/i915: Handle log buffer flush interrupt event from GuC akash.goel
2016-07-03 9:15 ` Chris Wilson
2016-07-03 12:21 ` Goel, Akash
2016-07-03 12:25 ` Goel, Akash
2016-07-03 13:01 ` Chris Wilson
2016-07-03 13:01 ` Chris Wilson
2016-07-02 18:51 ` [PATCH 06/14] drm/i915: Add a relay backed debugfs interface for capturing GuC logs akash.goel
2016-07-02 18:51 ` [PATCH 07/14] drm/i915: Forcefully flush GuC log buffer on reset akash.goel
2016-07-02 18:51 ` [PATCH 08/14] drm/i915: Debugfs support for GuC logging control akash.goel
2016-07-02 18:51 ` [PATCH 09/14] drm/i915: New module param to control the size of buffer used for storing GuC firmware logs akash.goel
2016-07-02 18:51 ` [PATCH 10/14] drm/i915: Support to create write combined type vmaps akash.goel
2016-07-02 18:51 ` [PATCH 11/14] drm/i915: Use uncached(WC) mapping for acessing the GuC log buffer akash.goel
2016-07-02 18:51 ` [PATCH 12/14] drm/i915: New lock to serialize the Host2GuC actions akash.goel
2016-07-02 18:51 ` [PATCH 13/14] drm/i915: Add stats for GuC log buffer flush interrupts akash.goel
2016-07-03 9:44 ` Chris Wilson
2016-07-03 12:36 ` Goel, Akash
2016-07-02 18:51 ` [PATCH 14/14] drm/i915: Optimization to reduce the sampling time of GuC log buffer akash.goel
2016-07-03 5:21 ` ✗ Ro.CI.BAT: failure for Support for sustained capturing of GuC firmware logs (rev4) 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=577E5E5C.9040509@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=akash.goel@intel.com \
--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.