|
@@ -95,6 +95,20 @@ static int mei_cl_conn_status_to_errno(enum mei_cl_connect_status status)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * mei_hbm_write_message - wrapper for sending hbm messages.
|
|
|
+ *
|
|
|
+ * @dev: mei device
|
|
|
+ * @hdr: mei header
|
|
|
+ * @data: payload
|
|
|
+ */
|
|
|
+static inline int mei_hbm_write_message(struct mei_device *dev,
|
|
|
+ struct mei_msg_hdr *hdr,
|
|
|
+ const void *data)
|
|
|
+{
|
|
|
+ return mei_write_message(dev, hdr, sizeof(*hdr), data, hdr->length);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* mei_hbm_idle - set hbm to idle state
|
|
|
*
|
|
@@ -174,7 +188,7 @@ static inline int mei_hbm_cl_write(struct mei_device *dev, struct mei_cl *cl,
|
|
|
mei_hbm_hdr(&mei_hdr, len);
|
|
|
mei_hbm_cl_hdr(cl, hbm_cmd, buf, len);
|
|
|
|
|
|
- return mei_write_message(dev, &mei_hdr, buf);
|
|
|
+ return mei_hbm_write_message(dev, &mei_hdr, buf);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -267,7 +281,7 @@ int mei_hbm_start_req(struct mei_device *dev)
|
|
|
start_req.host_version.minor_version = HBM_MINOR_VERSION;
|
|
|
|
|
|
dev->hbm_state = MEI_HBM_IDLE;
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &start_req);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &start_req);
|
|
|
if (ret) {
|
|
|
dev_err(dev->dev, "version message write failed: ret = %d\n",
|
|
|
ret);
|
|
@@ -304,7 +318,7 @@ static int mei_hbm_enum_clients_req(struct mei_device *dev)
|
|
|
enum_req.flags |= dev->hbm_f_ie_supported ?
|
|
|
MEI_HBM_ENUM_F_IMMEDIATE_ENUM : 0;
|
|
|
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &enum_req);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &enum_req);
|
|
|
if (ret) {
|
|
|
dev_err(dev->dev, "enumeration request write failed: ret = %d.\n",
|
|
|
ret);
|
|
@@ -373,7 +387,7 @@ static int mei_hbm_add_cl_resp(struct mei_device *dev, u8 addr, u8 status)
|
|
|
resp.me_addr = addr;
|
|
|
resp.status = status;
|
|
|
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &resp);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &resp);
|
|
|
if (ret)
|
|
|
dev_err(dev->dev, "add client response write failed: ret = %d\n",
|
|
|
ret);
|
|
@@ -430,7 +444,7 @@ int mei_hbm_cl_notify_req(struct mei_device *dev,
|
|
|
|
|
|
req.start = start;
|
|
|
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &req);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &req);
|
|
|
if (ret)
|
|
|
dev_err(dev->dev, "notify request failed: ret = %d\n", ret);
|
|
|
|
|
@@ -555,7 +569,7 @@ static int mei_hbm_prop_req(struct mei_device *dev, unsigned long start_idx)
|
|
|
prop_req.hbm_cmd = HOST_CLIENT_PROPERTIES_REQ_CMD;
|
|
|
prop_req.me_addr = addr;
|
|
|
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &prop_req);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &prop_req);
|
|
|
if (ret) {
|
|
|
dev_err(dev->dev, "properties request write failed: ret = %d\n",
|
|
|
ret);
|
|
@@ -592,7 +606,7 @@ int mei_hbm_pg(struct mei_device *dev, u8 pg_cmd)
|
|
|
memset(&req, 0, len);
|
|
|
req.hbm_cmd = pg_cmd;
|
|
|
|
|
|
- ret = mei_write_message(dev, &mei_hdr, &req);
|
|
|
+ ret = mei_hbm_write_message(dev, &mei_hdr, &req);
|
|
|
if (ret)
|
|
|
dev_err(dev->dev, "power gate command write failed.\n");
|
|
|
return ret;
|
|
@@ -618,7 +632,7 @@ static int mei_hbm_stop_req(struct mei_device *dev)
|
|
|
req.hbm_cmd = HOST_STOP_REQ_CMD;
|
|
|
req.reason = DRIVER_STOP_REQUEST;
|
|
|
|
|
|
- return mei_write_message(dev, &mei_hdr, &req);
|
|
|
+ return mei_hbm_write_message(dev, &mei_hdr, &req);
|
|
|
}
|
|
|
|
|
|
/**
|