drm/i915: Introduce intel_cpu_info.c for CPU IDs
authorRaag Jadav <raag.jadav@intel.com>
Wed, 11 Dec 2024 11:59:51 +0000 (17:29 +0530)
committerAndi Shyti <andi.shyti@linux.intel.com>
Wed, 11 Dec 2024 22:45:09 +0000 (23:45 +0100)
Having similar naming convention in intel-family.h and intel_device_info.h
results in redefinition of a few platforms. Define CPU IDs in its own file
to avoid this.

v3: Move file out of gt directory, add kernel doc (Riana)
    Rephrase file description (Jani)

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241211115952.1659287-4-raag.jadav@intel.com
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/intel_cpu_info.c [new file with mode: 0644]
drivers/gpu/drm/i915/intel_cpu_info.h [new file with mode: 0644]

index e465828d748f7c4661ab9274a3f698af4aadf987..97816c473770d0e9758347351d90c85bbe03d1f4 100644 (file)
@@ -34,6 +34,7 @@ i915-y += \
        i915_sysfs.o \
        i915_utils.o \
        intel_clock_gating.o \
+       intel_cpu_info.o \
        intel_device_info.o \
        intel_memory_region.o \
        intel_pcode.o \
diff --git a/drivers/gpu/drm/i915/intel_cpu_info.c b/drivers/gpu/drm/i915/intel_cpu_info.c
new file mode 100644 (file)
index 0000000..e52d0ac
--- /dev/null
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ *
+ * Avoid INTEL_<PLATFORM> name collisions between asm/intel-family.h and
+ * intel_device_info.h by having a separate file.
+ */
+
+#include "intel_cpu_info.h"
+
+#ifdef CONFIG_X86
+#include <asm/cpu_device_id.h>
+#include <asm/intel-family.h>
+
+static const struct x86_cpu_id g8_cpu_ids[] = {
+       X86_MATCH_VFM(INTEL_ALDERLAKE,          NULL),
+       X86_MATCH_VFM(INTEL_ALDERLAKE_L,        NULL),
+       X86_MATCH_VFM(INTEL_COMETLAKE,          NULL),
+       X86_MATCH_VFM(INTEL_KABYLAKE,           NULL),
+       X86_MATCH_VFM(INTEL_KABYLAKE_L,         NULL),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE,         NULL),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE_P,       NULL),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE_S,       NULL),
+       X86_MATCH_VFM(INTEL_ROCKETLAKE,         NULL),
+       {}
+};
+
+/**
+ * intel_match_g8_cpu - match current CPU against g8_cpu_ids
+ *
+ * This matches current CPU against g8_cpu_ids, which are applicable
+ * for G8 workaround.
+ *
+ * Returns: %true if matches, %false otherwise.
+ */
+bool intel_match_g8_cpu(void)
+{
+       return x86_match_cpu(g8_cpu_ids);
+}
+#else /* CONFIG_X86 */
+
+bool intel_match_g8_cpu(void) { return false; }
+
+#endif /* CONFIG_X86 */
diff --git a/drivers/gpu/drm/i915/intel_cpu_info.h b/drivers/gpu/drm/i915/intel_cpu_info.h
new file mode 100644 (file)
index 0000000..d898fb4
--- /dev/null
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef _INTEL_CPU_INFO_H_
+#define _INTEL_CPU_INFO_H_
+
+#include <linux/types.h>
+
+bool intel_match_g8_cpu(void);
+
+#endif /* _INTEL_CPU_INFO_H_ */