Commit 760133d4 authored by John Harrison's avatar John Harrison
Browse files

drm/i915/uc: Make unexpected firmware versions an error in debug builds



If the DEBUG_GEM config option is set then escalate the 'unexpected
firmware version' message from a notice to an error. This will ensure
that the CI system treats such occurences as a failure and logs a bug
about it (or fails the pre-merge testing).

Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230502234007.1762014-7-John.C.Harrison@Intel.com
parent bef550c9
Loading
Loading
Loading
Loading
+20 −14
Original line number Diff line number Diff line
@@ -17,6 +17,12 @@
#include "i915_drv.h"
#include "i915_reg.h"

#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)
#define UNEXPECTED	gt_err
#else
#define UNEXPECTED	gt_notice
#endif

static inline struct intel_gt *
____uc_fw_to_gt(struct intel_uc_fw *uc_fw, enum intel_uc_fw_type type)
{
@@ -833,7 +839,7 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw)
	if (uc_fw->file_wanted.ver.major && uc_fw->file_selected.ver.major) {
		/* Check the file's major version was as it claimed */
		if (uc_fw->file_selected.ver.major != uc_fw->file_wanted.ver.major) {
			gt_notice(gt, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
			UNEXPECTED(gt, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
				   intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path,
				   uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor,
				   uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor);
@@ -854,7 +860,7 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw)
		/* Preserve the version that was really wanted */
		memcpy(&uc_fw->file_wanted, &file_ideal, sizeof(uc_fw->file_wanted));

		gt_notice(gt, "%s firmware %s (%d.%d.%d) is recommended, but only %s (%d.%d.%d) was found\n",
		UNEXPECTED(gt, "%s firmware %s (%d.%d.%d) is recommended, but only %s (%d.%d.%d) was found\n",
			   intel_uc_fw_type_repr(uc_fw->type),
			   uc_fw->file_wanted.path,
			   uc_fw->file_wanted.ver.major,