diff options
| -rw-r--r-- | drivers/misc/mei/bus-fixup.c | 3 | ||||
| -rw-r--r-- | drivers/misc/mei/debugfs.c | 2 | ||||
| -rw-r--r-- | drivers/misc/mei/hbm.c | 4 | ||||
| -rw-r--r-- | drivers/misc/mei/hw.h | 6 | ||||
| -rw-r--r-- | drivers/misc/mei/mei_dev.h | 2 |
5 files changed, 17 insertions, 0 deletions
diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c index 18e05ca7584f..3600c9993a98 100644 --- a/drivers/misc/mei/bus-fixup.c +++ b/drivers/misc/mei/bus-fixup.c | |||
| @@ -152,6 +152,9 @@ static void mei_mkhi_fix(struct mei_cl_device *cldev) | |||
| 152 | { | 152 | { |
| 153 | int ret; | 153 | int ret; |
| 154 | 154 | ||
| 155 | if (!cldev->bus->hbm_f_os_supported) | ||
| 156 | return; | ||
| 157 | |||
| 155 | ret = mei_cldev_enable(cldev); | 158 | ret = mei_cldev_enable(cldev); |
| 156 | if (ret) | 159 | if (ret) |
| 157 | return; | 160 | return; |
diff --git a/drivers/misc/mei/debugfs.c b/drivers/misc/mei/debugfs.c index c6c051b52f55..c6217a4993ad 100644 --- a/drivers/misc/mei/debugfs.c +++ b/drivers/misc/mei/debugfs.c | |||
| @@ -180,6 +180,8 @@ static ssize_t mei_dbgfs_read_devstate(struct file *fp, char __user *ubuf, | |||
| 180 | dev->hbm_f_ev_supported); | 180 | dev->hbm_f_ev_supported); |
| 181 | pos += scnprintf(buf + pos, bufsz - pos, "\tFA: %01d\n", | 181 | pos += scnprintf(buf + pos, bufsz - pos, "\tFA: %01d\n", |
| 182 | dev->hbm_f_fa_supported); | 182 | dev->hbm_f_fa_supported); |
| 183 | pos += scnprintf(buf + pos, bufsz - pos, "\tOS: %01d\n", | ||
| 184 | dev->hbm_f_os_supported); | ||
| 183 | } | 185 | } |
| 184 | 186 | ||
| 185 | pos += scnprintf(buf + pos, bufsz - pos, "pg: %s, %s\n", | 187 | pos += scnprintf(buf + pos, bufsz - pos, "pg: %s, %s\n", |
diff --git a/drivers/misc/mei/hbm.c b/drivers/misc/mei/hbm.c index dd7f15a65eed..25b4a1ba522d 100644 --- a/drivers/misc/mei/hbm.c +++ b/drivers/misc/mei/hbm.c | |||
| @@ -989,6 +989,10 @@ static void mei_hbm_config_features(struct mei_device *dev) | |||
| 989 | /* Fixed Address Client Support */ | 989 | /* Fixed Address Client Support */ |
| 990 | if (dev->version.major_version >= HBM_MAJOR_VERSION_FA) | 990 | if (dev->version.major_version >= HBM_MAJOR_VERSION_FA) |
| 991 | dev->hbm_f_fa_supported = 1; | 991 | dev->hbm_f_fa_supported = 1; |
| 992 | |||
| 993 | /* OS ver message Support */ | ||
| 994 | if (dev->version.major_version >= HBM_MAJOR_VERSION_OS) | ||
| 995 | dev->hbm_f_os_supported = 1; | ||
| 992 | } | 996 | } |
| 993 | 997 | ||
| 994 | /** | 998 | /** |
diff --git a/drivers/misc/mei/hw.h b/drivers/misc/mei/hw.h index 9daf3f9aed25..e1e4d47d4d7d 100644 --- a/drivers/misc/mei/hw.h +++ b/drivers/misc/mei/hw.h | |||
| @@ -76,6 +76,12 @@ | |||
| 76 | #define HBM_MINOR_VERSION_FA 0 | 76 | #define HBM_MINOR_VERSION_FA 0 |
| 77 | #define HBM_MAJOR_VERSION_FA 2 | 77 | #define HBM_MAJOR_VERSION_FA 2 |
| 78 | 78 | ||
| 79 | /* | ||
| 80 | * MEI version with OS ver message support | ||
| 81 | */ | ||
| 82 | #define HBM_MINOR_VERSION_OS 0 | ||
| 83 | #define HBM_MAJOR_VERSION_OS 2 | ||
| 84 | |||
| 79 | /* Host bus message command opcode */ | 85 | /* Host bus message command opcode */ |
| 80 | #define MEI_HBM_CMD_OP_MSK 0x7f | 86 | #define MEI_HBM_CMD_OP_MSK 0x7f |
| 81 | /* Host bus message command RESPONSE */ | 87 | /* Host bus message command RESPONSE */ |
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h index 699693cd8c59..8dadb98662a9 100644 --- a/drivers/misc/mei/mei_dev.h +++ b/drivers/misc/mei/mei_dev.h | |||
| @@ -406,6 +406,7 @@ const char *mei_pg_state_str(enum mei_pg_state state); | |||
| 406 | * @hbm_f_ev_supported : hbm feature event notification | 406 | * @hbm_f_ev_supported : hbm feature event notification |
| 407 | * @hbm_f_fa_supported : hbm feature fixed address client | 407 | * @hbm_f_fa_supported : hbm feature fixed address client |
| 408 | * @hbm_f_ie_supported : hbm feature immediate reply to enum request | 408 | * @hbm_f_ie_supported : hbm feature immediate reply to enum request |
| 409 | * @hbm_f_os_supported : hbm feature support OS ver message | ||
| 409 | * | 410 | * |
| 410 | * @me_clients_rwsem: rw lock over me_clients list | 411 | * @me_clients_rwsem: rw lock over me_clients list |
| 411 | * @me_clients : list of FW clients | 412 | * @me_clients : list of FW clients |
| @@ -487,6 +488,7 @@ struct mei_device { | |||
| 487 | unsigned int hbm_f_ev_supported:1; | 488 | unsigned int hbm_f_ev_supported:1; |
| 488 | unsigned int hbm_f_fa_supported:1; | 489 | unsigned int hbm_f_fa_supported:1; |
| 489 | unsigned int hbm_f_ie_supported:1; | 490 | unsigned int hbm_f_ie_supported:1; |
| 491 | unsigned int hbm_f_os_supported:1; | ||
| 490 | 492 | ||
| 491 | struct rw_semaphore me_clients_rwsem; | 493 | struct rw_semaphore me_clients_rwsem; |
| 492 | struct list_head me_clients; | 494 | struct list_head me_clients; |
