From: Animesh Manna <animesh.manna@intel.com>
To: Mika Kuoppala <mika.kuoppala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Cc: miku@iki.fi
Subject: Re: [PATCH 5/5] drm/i915: Add dmc firmware debugfs status entry
Date: Thu, 8 Oct 2015 15:38:38 +0530 [thread overview]
Message-ID: <561640A6.4020801@intel.com> (raw)
In-Reply-To: <1442589429-27813-5-git-send-email-mika.kuoppala@intel.com>
On 9/18/2015 8:47 PM, Mika Kuoppala wrote:
> Add debugfs entry for csr/dmc fw to inspect firmware
> loading status and version.
>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 32 ++++++++++++++++++++++++++++++++
> drivers/gpu/drm/i915/i915_reg.h | 5 +++++
> drivers/gpu/drm/i915/intel_csr.c | 3 ---
> 3 files changed, 37 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 72ae347..4a798a6 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2509,6 +2509,37 @@ static int i915_guc_log_dump(struct seq_file *m, void *data)
> return 0;
> }
>
> +static int i915_dmc_load_status_info(struct seq_file *m, void *data)
> +{
> + struct drm_info_node *node = m->private;
> + struct drm_i915_private *dev_priv = node->minor->dev->dev_private;
> + struct intel_csr *csr = &dev_priv->csr;
> + uint32_t state;
> + const char * const state_str[] = { "uninitialized",
> + "loaded",
> + "failed",
> + "unknown" };
> +
> + seq_puts(m, "DMC firmware status:\n");
> +
> + mutex_lock(&dev_priv->csr_lock);
DMC-redesign series is floated for review where csr_lock is removed completely, not sure do we need mutex lock here.
> +
> + seq_printf(m, "\tpath: %s\n", csr->fw_path);
> + seq_printf(m, "\tfw_ver: %u.%u\n", csr->dmc_ver_major,
> + csr->dmc_ver_minor);
> + seq_printf(m, "\tsize: %u bytes\n", csr->dmc_fw_size * 4);
> + state = (uint32_t)csr->state <= 3 ? csr->state : 3;
> + seq_printf(m, "\tstate: %s\n", state_str[state]);
> +
> + seq_printf(m, "\tprogram base: 0x%08x\n", I915_READ(CSR_PROGRAM_BASE));
> + seq_printf(m, "\tssp base: 0x%08x\n", I915_READ(CSR_SSP_BASE));
> + seq_printf(m, "\thtp: 0x%08x\n", I915_READ(CSR_HTP_SKL));
Better print dmc firmware loading related info if firmware is loaded successfully.
In failure case, only firmware not loaded msg with path I feel is sufficient.
-Animesh
> +
> + mutex_unlock(&dev_priv->csr_lock);
> +
> + return 0;
> +}
> +
> static int i915_edp_psr_status(struct seq_file *m, void *data)
> {
> struct drm_info_node *node = m->private;
> @@ -5173,6 +5204,7 @@ static const struct drm_info_list i915_debugfs_list[] = {
> {"i915_guc_info", i915_guc_info, 0},
> {"i915_guc_load_status", i915_guc_load_status_info, 0},
> {"i915_guc_log_dump", i915_guc_log_dump, 0},
> + {"i915_dmc_load_status", i915_dmc_load_status_info, 0},
> {"i915_frequency_info", i915_frequency_info, 0},
> {"i915_hangcheck_info", i915_hangcheck_info, 0},
> {"i915_drpc_info", i915_drpc_info, 0},
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 67bf205..cd040ff 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7977,4 +7977,9 @@ enum skl_disp_power_wells {
> #define GEN9_VEBOX_MOCS_0 0xcb00 /* Video MOCS base register*/
> #define GEN9_BLT_MOCS_0 0xcc00 /* Blitter MOCS base register*/
>
> +/* DMC/CSR firmware */
> +#define CSR_PROGRAM_BASE 0x80000
> +#define CSR_SSP_BASE 0x8F074
> +#define CSR_HTP_SKL 0x8F004
> +
> #endif /* _I915_REG_H_ */
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index 73807c3..876c839 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -51,11 +51,8 @@ MODULE_FIRMWARE(I915_CSR_SKL);
> /*
> * SKL CSR registers for DC5 and DC6
> */
> -#define CSR_PROGRAM_BASE 0x80000
> #define CSR_SSP_BASE_ADDR_GEN9 0x00002FC0
> #define CSR_HTP_ADDR_SKL 0x00500034
> -#define CSR_SSP_BASE 0x8F074
> -#define CSR_HTP_SKL 0x8F004
> #define CSR_LAST_WRITE 0x8F034
> #define CSR_LAST_WRITE_VALUE 0xc003b400
> /* MMIO address range for CSR program (0x80000 - 0x82FFF) */
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-10-08 10:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-18 15:17 [PATCH 1/5] drm/i915: Store and print dmc firmware version Mika Kuoppala
2015-09-18 15:17 ` [PATCH 2/5] drm/i915: Notify user about outdated dmc firmware Mika Kuoppala
2015-09-21 7:30 ` Jani Nikula
2015-09-21 8:30 ` Mika Kuoppala
2015-10-08 9:41 ` Animesh Manna
2015-10-08 12:23 ` Mika Kuoppala
2015-10-08 14:45 ` Animesh Manna
2015-10-13 12:30 ` Dave Gordon
2015-10-22 0:48 ` Marc Herbert
2015-09-23 10:09 ` [PATCH 2/5] drm/i915/skl: Refuse to load " Mika Kuoppala
2015-09-18 15:17 ` [PATCH 3/5] drm/i915: Add dmc firmware version to error state Mika Kuoppala
2015-09-18 15:17 ` [PATCH 4/5] drm/i915: Add pci device revision " Mika Kuoppala
2015-09-18 15:17 ` [PATCH 5/5] drm/i915: Add dmc firmware debugfs status entry Mika Kuoppala
2015-10-08 10:08 ` Animesh Manna [this message]
2015-10-21 12:14 ` Mika Kuoppala
2015-10-08 9:56 ` [PATCH 1/5] drm/i915: Store and print dmc firmware version Animesh Manna
2015-10-08 11:03 ` Damien Lespiau
2015-10-08 15:04 ` Damien Lespiau
2015-10-21 13:46 ` Mika Kuoppala
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=561640A6.4020801@intel.com \
--to=animesh.manna@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mika.kuoppala@linux.intel.com \
--cc=miku@iki.fi \
/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.