Commit 4d99877d authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman

mei: enable async event notifications only from hbm version 2.0

Only FW version 2.0 and newer support the async event
notification. For backward compatibility block the feature
if the FW version is older then 2.0
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 965ae37a
...@@ -158,6 +158,8 @@ static ssize_t mei_dbgfs_read_devstate(struct file *fp, char __user *ubuf, ...@@ -158,6 +158,8 @@ static ssize_t mei_dbgfs_read_devstate(struct file *fp, char __user *ubuf,
dev->hbm_f_dc_supported); dev->hbm_f_dc_supported);
pos += scnprintf(buf + pos, bufsz - pos, "\tDOT: %01d\n", pos += scnprintf(buf + pos, bufsz - pos, "\tDOT: %01d\n",
dev->hbm_f_dot_supported); dev->hbm_f_dot_supported);
pos += scnprintf(buf + pos, bufsz - pos, "\tEV: %01d\n",
dev->hbm_f_ev_supported);
} }
pos += scnprintf(buf + pos, bufsz - pos, "pg: %s, %s\n", pos += scnprintf(buf + pos, bufsz - pos, "pg: %s, %s\n",
......
...@@ -903,6 +903,10 @@ static void mei_hbm_config_features(struct mei_device *dev) ...@@ -903,6 +903,10 @@ static void mei_hbm_config_features(struct mei_device *dev)
/* disconnect on connect timeout instead of link reset */ /* disconnect on connect timeout instead of link reset */
if (dev->version.major_version >= HBM_MAJOR_VERSION_DOT) if (dev->version.major_version >= HBM_MAJOR_VERSION_DOT)
dev->hbm_f_dot_supported = 1; dev->hbm_f_dot_supported = 1;
/* Notification Event Support */
if (dev->version.major_version >= HBM_MAJOR_VERSION_EV)
dev->hbm_f_ev_supported = 1;
} }
/** /**
......
...@@ -58,6 +58,12 @@ ...@@ -58,6 +58,12 @@
#define HBM_MINOR_VERSION_DOT 0 #define HBM_MINOR_VERSION_DOT 0
#define HBM_MAJOR_VERSION_DOT 2 #define HBM_MAJOR_VERSION_DOT 2
/*
* MEI version with notifcation support
*/
#define HBM_MINOR_VERSION_EV 0
#define HBM_MAJOR_VERSION_EV 2
/* Host bus message command opcode */ /* Host bus message command opcode */
#define MEI_HBM_CMD_OP_MSK 0x7f #define MEI_HBM_CMD_OP_MSK 0x7f
/* Host bus message command RESPONSE */ /* Host bus message command RESPONSE */
......
...@@ -419,6 +419,7 @@ const char *mei_pg_state_str(enum mei_pg_state state); ...@@ -419,6 +419,7 @@ const char *mei_pg_state_str(enum mei_pg_state state);
* @hbm_f_pg_supported : hbm feature pgi protocol * @hbm_f_pg_supported : hbm feature pgi protocol
* @hbm_f_dc_supported : hbm feature dynamic clients * @hbm_f_dc_supported : hbm feature dynamic clients
* @hbm_f_dot_supported : hbm feature disconnect on timeout * @hbm_f_dot_supported : hbm feature disconnect on timeout
* @hbm_f_ev_supported : hbm feature event notification
* *
* @me_clients_rwsem: rw lock over me_clients list * @me_clients_rwsem: rw lock over me_clients list
* @me_clients : list of FW clients * @me_clients : list of FW clients
...@@ -514,6 +515,7 @@ struct mei_device { ...@@ -514,6 +515,7 @@ struct mei_device {
unsigned int hbm_f_pg_supported:1; unsigned int hbm_f_pg_supported:1;
unsigned int hbm_f_dc_supported:1; unsigned int hbm_f_dc_supported:1;
unsigned int hbm_f_dot_supported:1; unsigned int hbm_f_dot_supported:1;
unsigned int hbm_f_ev_supported:1;
struct rw_semaphore me_clients_rwsem; struct rw_semaphore me_clients_rwsem;
struct list_head me_clients; struct list_head me_clients;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment