105 .length =
sizeof(mkhi),
115 "%u.%u.%u.%u (recovery)\n",
143 .length =
sizeof(mkhi) +
sizeof(rule_id),
147 if (
mei_sendrecv(&mei, &mkhi, &rule_id, &cap,
sizeof(cap)) < 0) {
158 print_cap(
"IntelR Capability Licensing Service (CLS)",
160 print_cap(
"IntelR Power Sharing Technology (MPC)",
179 bool need_reset =
false;
188 printk(
BIOS_DEBUG,
"ME: me_state=%u, me_state_prev=%u\n", me_state, me_state_prev);
192 #if CONFIG(HIDE_MEI_ON_ERROR)
207 if (CONFIG_DEFAULT_CONSOLE_LOGLEVEL >=
BIOS_DEBUG) {
222 printk(
BIOS_ERR,
"ME: failed to enter Soft Temporary Disable mode\n");
257 #if !CONFIG(HIDE_MEI_ON_ERROR)
267 if (me_state !=
CMOS_ME_STATE(me_state_prev) || need_reset) {
286 static const struct pci_driver intel_me
__pci_driver = {
static int acpi_is_wakeup_s3(void)
#define ELOG_TYPE_MANAGEMENT_ENGINE
#define ELOG_TYPE_MANAGEMENT_ENGINE_EXT
#define printk(level,...)
int elog_add_event_raw(u8 event_type, void *data, u8 data_size)
int elog_add_event_byte(u8 event_type, u8 data)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_NOTICE
BIOS_NOTICE - Unexpected but relatively insignificant.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
enum cb_err set_uint_option(const char *name, unsigned int value)
unsigned int get_uint_option(const char *name, const unsigned int fallback)
void pci_dev_enable_resources(struct device *dev)
void pci_dev_read_resources(struct device *dev)
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
void pci_dev_set_resources(struct device *dev)
#define MKHI_GET_FW_VERSION
#define ME_HFS_MODE_NORMAL
#define MKHI_GROUP_ID_FWCAPS
#define ME_HFS_MODE_OVER_MEI
#define ME_HFS_CWS_NORMAL
#define ME_HFS_MODE_OVER_JMPR
#define MKHI_GROUP_ID_GEN
@ ME_FIRMWARE_UPDATE_BIOS_PATH
#define MKHI_FWCAPS_GET_RULE
#define ME_HFS_MODE_DEBUG
void intel_me_status(void)
static struct device_operations device_ops
static const struct pci_driver intel_me __pci_driver
static void print_cap(const char *name, int state)
static int mkhi_get_fwcaps(void)
static int mkhi_get_fw_version(void)
static void intel_me_init(struct device *dev)
static me_bios_path intel_me_path(struct device *dev)
#define CMOS_ME_STATE_CHANGED
void exit_soft_temp_disable(struct device *dev)
#define CMOS_ME_STATE_NORMAL
#define CMOS_ME_STATE_DISABLED
const char *const me_get_bios_path_string(int path)
bool enter_soft_temp_disable(void)
#define CMOS_ME_CHANGED(state)
void exit_soft_temp_disable_wait(struct device *dev)
void enter_soft_temp_disable_wait(void)
#define CMOS_ME_STATE(state)
void set_global_reset(const bool enable)
static void intel_me_hide(struct device *dev)
static int mei_sendrecv(struct mei_header *mei, struct mkhi_header *mkhi, void *req_data, void *rsp_data, int rsp_bytes)
static int intel_mei_setup(struct device *dev)
static int intel_me_extend_valid(struct device *dev)
void(* read_resources)(struct device *dev)
uint8_t current_working_state