Commit 89778d6e authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman

mei: add hbm commands return status values

HBM uses global list of status values
from which the values of particular commands
are derived
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d880f329
......@@ -25,6 +25,23 @@
#include "hbm.h"
#include "client.h"
static const char *mei_hbm_status_str(enum mei_hbm_status status)
{
#define MEI_HBM_STATUS(status) case MEI_HBMS_##status: return #status
switch (status) {
MEI_HBM_STATUS(SUCCESS);
MEI_HBM_STATUS(CLIENT_NOT_FOUND);
MEI_HBM_STATUS(ALREADY_EXISTS);
MEI_HBM_STATUS(REJECTED);
MEI_HBM_STATUS(INVALID_PARAMETER);
MEI_HBM_STATUS(NOT_ALLOWED);
MEI_HBM_STATUS(ALREADY_STARTED);
MEI_HBM_STATUS(NOT_STARTED);
default: return "unknown";
}
#undef MEI_HBM_STATUS
};
static const char *mei_cl_conn_status_str(enum mei_cl_connect_status status)
{
#define MEI_CL_CS(status) case MEI_CL_CONN_##status: return #status
......@@ -770,8 +787,9 @@ int mei_hbm_dispatch(struct mei_device *dev, struct mei_msg_hdr *hdr)
props_res = (struct hbm_props_response *)mei_msg;
if (props_res->status) {
dev_err(&dev->pdev->dev, "hbm: properties response: wrong status = %d\n",
props_res->status);
dev_err(&dev->pdev->dev, "hbm: properties response: wrong status = %d %s\n",
props_res->status,
mei_hbm_status_str(props_res->status));
return -EPROTO;
}
......
......@@ -97,23 +97,50 @@ enum mei_stop_reason_types {
SYSTEM_S5_ENTRY = 0x08
};
/**
* mei_hbm_status - mei host bus messages return values
*
* @MEI_HBMS_SUCCESS - status success
* @MEI_HBMS_CLIENT_NOT_FOUND - client not found
* @MEI_HBMS_ALREADY_EXISTS - connection already established
* @MEI_HBMS_REJECTED - connection is rejected
* @MEI_HBMS_INVALID_PARAMETER - invalid parameter
* @MEI_HBMS_NOT_ALLOWED - operation not allowed
* @MEI_HBMS_ALREADY_STARTED - system is already started
* @MEI_HBMS_NOT_STARTED - system not started
*/
enum mei_hbm_status {
MEI_HBMS_SUCCESS = 0,
MEI_HBMS_CLIENT_NOT_FOUND = 1,
MEI_HBMS_ALREADY_EXISTS = 2,
MEI_HBMS_REJECTED = 3,
MEI_HBMS_INVALID_PARAMETER = 4,
MEI_HBMS_NOT_ALLOWED = 5,
MEI_HBMS_ALREADY_STARTED = 6,
MEI_HBMS_NOT_STARTED = 7,
MEI_HBMS_MAX
};
/*
* Client Connect Status
* used by hbm_client_connect_response.status
*/
enum mei_cl_connect_status {
MEI_CL_CONN_SUCCESS = 0x00,
MEI_CL_CONN_NOT_FOUND = 0x01,
MEI_CL_CONN_ALREADY_STARTED = 0x02,
MEI_CL_CONN_OUT_OF_RESOURCES = 0x03,
MEI_CL_CONN_MESSAGE_SMALL = 0x04
MEI_CL_CONN_SUCCESS = MEI_HBMS_SUCCESS,
MEI_CL_CONN_NOT_FOUND = MEI_HBMS_CLIENT_NOT_FOUND,
MEI_CL_CONN_ALREADY_STARTED = MEI_HBMS_ALREADY_EXISTS,
MEI_CL_CONN_OUT_OF_RESOURCES = MEI_HBMS_REJECTED,
MEI_CL_CONN_MESSAGE_SMALL = MEI_HBMS_INVALID_PARAMETER,
};
/*
* Client Disconnect Status
*/
enum mei_cl_disconnect_status {
MEI_CL_DISCONN_SUCCESS = 0x00
MEI_CL_DISCONN_SUCCESS = MEI_HBMS_SUCCESS
};
/*
......
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