linuxkpi: Define VFM_*() macros in <asm/cpu_device_id.h>
They use another set of constants and macros in <asm/intel-family.h>. All these macros are defined regardless of the architecture, even though they are specific to x86. Perhaps we should restrict them using #ifdefs. The amdgpu DRM driver started to used `VFM_MODEL()` and the `INTEL_*LAKE*` constants in Linux 6.12.x. Reviewed by: bz, olce Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56585
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*
|
||||
* Copyright (c) 2026 The FreeBSD Foundation
|
||||
*/
|
||||
|
||||
#ifndef _LINUXKPI_ASM_CPU_DEVICE_ID_H_
|
||||
#define _LINUXKPI_ASM_CPU_DEVICE_ID_H_
|
||||
|
||||
#define VFM_MODEL_BIT 0
|
||||
#define VFM_FAMILY_BIT 8
|
||||
#define VFM_VENDOR_BIT 16
|
||||
#define VFM_RSVD_BIT 24
|
||||
|
||||
#define VFM_MODEL_MASK GENMASK(VFM_FAMILY_BIT - 1, VFM_MODEL_BIT)
|
||||
#define VFM_FAMILY_MASK GENMASK(VFM_VENDOR_BIT - 1, VFM_FAMILY_BIT)
|
||||
#define VFM_VENDOR_MASK GENMASK(VFM_RSVD_BIT - 1, VFM_VENDOR_BIT)
|
||||
|
||||
#define VFM_MODEL(vfm) (((vfm) & VFM_MODEL_MASK) >> VFM_MODEL_BIT)
|
||||
#define VFM_FAMILY(vfm) (((vfm) & VFM_FAMILY_MASK) >> VFM_FAMILY_BIT)
|
||||
#define VFM_VENDOR(vfm) (((vfm) & VFM_VENDOR_MASK) >> VFM_VENDOR_BIT)
|
||||
|
||||
#define VFM_MAKE(_vendor, _family, _model) ( \
|
||||
((_model) << VFM_MODEL_BIT) | \
|
||||
((_family) << VFM_FAMILY_BIT) | \
|
||||
((_vendor) << VFM_VENDOR_BIT) \
|
||||
)
|
||||
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <asm/intel-family.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
#endif /* _LINUXKPI_ASM_CPU_DEVICE_ID_H_ */
|
||||
@@ -1,5 +1,14 @@
|
||||
/* Public domain. */
|
||||
|
||||
#define IFM(_fam, _model) VFM_MAKE(X86_VENDOR_INTEL, _fam, _model)
|
||||
|
||||
#define INTEL_ALDERLAKE IFM(6, 0x97)
|
||||
#define INTEL_ALDERLAKE_L IFM(6, 0x9A)
|
||||
|
||||
#define INTEL_RAPTORLAKE IFM(6, 0xB7)
|
||||
#define INTEL_RAPTORLAKE_P IFM(6, 0xBA)
|
||||
#define INTEL_RAPTORLAKE_S IFM(6, 0xBF)
|
||||
|
||||
#define INTEL_FAM6_ALDERLAKE 0x97
|
||||
#define INTEL_FAM6_ALDERLAKE_L 0x9A
|
||||
|
||||
|
||||
Reference in New Issue
Block a user