Commit b6e7d894 authored by Damien Lespiau's avatar Damien Lespiau Committed by Ville Syrjälä

drm/i915/skl: Store and print the DMC firmware version we load

That can be handy later on to tell which DMC firmware version the user
has, by just looking at the dmesg.

v2: use DRM_DEBUG_DRIVER (Chris)
v3: use DRM_INFO (Marc Herbert)

Cc: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> (v1)
Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1445950025-5793-1-git-send-email-mika.kuoppala@intel.comReviewed-by: default avatarImre Deak <imre.deak@intel.com>
Tested-by: Daniel Stone <daniels@collabora.com> # SKL
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
parent 51f1385b
...@@ -734,6 +734,10 @@ struct intel_uncore { ...@@ -734,6 +734,10 @@ struct intel_uncore {
#define for_each_fw_domain(domain__, dev_priv__, i__) \ #define for_each_fw_domain(domain__, dev_priv__, i__) \
for_each_fw_domain_mask(domain__, FORCEWAKE_ALL, dev_priv__, i__) for_each_fw_domain_mask(domain__, FORCEWAKE_ALL, dev_priv__, i__)
#define CSR_VERSION(major, minor) ((major) << 16 | (minor))
#define CSR_VERSION_MAJOR(version) ((version) >> 16)
#define CSR_VERSION_MINOR(version) ((version) & 0xffff)
enum csr_state { enum csr_state {
FW_UNINITIALIZED = 0, FW_UNINITIALIZED = 0,
FW_LOADED, FW_LOADED,
...@@ -744,6 +748,7 @@ struct intel_csr { ...@@ -744,6 +748,7 @@ struct intel_csr {
const char *fw_path; const char *fw_path;
uint32_t *dmc_payload; uint32_t *dmc_payload;
uint32_t dmc_fw_size; uint32_t dmc_fw_size;
uint32_t version;
uint32_t mmio_count; uint32_t mmio_count;
uint32_t mmioaddr[8]; uint32_t mmioaddr[8];
uint32_t mmiodata[8]; uint32_t mmiodata[8];
......
...@@ -321,6 +321,9 @@ static void finish_csr_load(const struct firmware *fw, void *context) ...@@ -321,6 +321,9 @@ static void finish_csr_load(const struct firmware *fw, void *context)
(css_header->header_len * 4)); (css_header->header_len * 4));
goto out; goto out;
} }
csr->version = css_header->version;
readcount += sizeof(struct intel_css_header); readcount += sizeof(struct intel_css_header);
/* Extract Package Header information*/ /* Extract Package Header information*/
...@@ -402,7 +405,11 @@ static void finish_csr_load(const struct firmware *fw, void *context) ...@@ -402,7 +405,11 @@ static void finish_csr_load(const struct firmware *fw, void *context)
intel_csr_load_program(dev); intel_csr_load_program(dev);
fw_loaded = true; fw_loaded = true;
DRM_DEBUG_KMS("Finished loading %s\n", dev_priv->csr.fw_path); DRM_INFO("Finished loading %s (v%u.%u)\n",
dev_priv->csr.fw_path,
CSR_VERSION_MAJOR(csr->version),
CSR_VERSION_MINOR(csr->version));
out: out:
if (fw_loaded) if (fw_loaded)
intel_runtime_pm_put(dev_priv); intel_runtime_pm_put(dev_priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment