Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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.com


Reviewed-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
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -734,6 +734,10 @@ struct intel_uncore {
#define for_each_fw_domain(domain__, 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 {
	FW_UNINITIALIZED = 0,
	FW_LOADED,
@@ -744,6 +748,7 @@ struct intel_csr {
	const char *fw_path;
	uint32_t *dmc_payload;
	uint32_t dmc_fw_size;
	uint32_t version;
	uint32_t mmio_count;
	uint32_t mmioaddr[8];
	uint32_t mmiodata[8];
+8 −1
Original line number Diff line number Diff line
@@ -321,6 +321,9 @@ static void finish_csr_load(const struct firmware *fw, void *context)
			(css_header->header_len * 4));
		goto out;
	}

	csr->version = css_header->version;

	readcount += sizeof(struct intel_css_header);

	/* Extract Package Header information*/
@@ -402,7 +405,11 @@ static void finish_csr_load(const struct firmware *fw, void *context)
	intel_csr_load_program(dev);
	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:
	if (fw_loaded)
		intel_runtime_pm_put(dev_priv);