Commit f69aed49 authored by Bogdan Purcareata's avatar Bogdan Purcareata Committed by Greg Kroah-Hartman

staging: fsl-mc: Cleanup dprc and dpmcp header files

A lot of API and associated structures are not used by current code, so
remove them.
Signed-off-by: default avatarBogdan Purcareata <bogdan.purcareata@nxp.com>
Reviewed-by: default avatarLaurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e3675875
......@@ -45,8 +45,6 @@
/* Command IDs */
#define DPMCP_CMDID_CLOSE DPMCP_CMD(0x800)
#define DPMCP_CMDID_OPEN DPMCP_CMD(0x80b)
#define DPMCP_CMDID_GET_API_VERSION DPMCP_CMD(0xa0b)
#define DPMCP_CMDID_RESET DPMCP_CMD(0x005)
struct dpmcp_cmd_open {
......
......@@ -124,35 +124,3 @@ int dpmcp_reset(struct fsl_mc_io *mc_io,
/* send command to mc*/
return mc_send_command(mc_io, &cmd);
}
/**
* dpmcp_get_api_version - Get Data Path Management Command Portal API version
* @mc_io: Pointer to Mc portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @major_ver: Major version of Data Path Management Command Portal API
* @minor_ver: Minor version of Data Path Management Command Portal API
*
* Return: '0' on Success; Error code otherwise.
*/
int dpmcp_get_api_version(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 *major_ver,
u16 *minor_ver)
{
struct mc_command cmd = { 0 };
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPMCP_CMDID_GET_API_VERSION,
cmd_flags, 0);
/* send command to mc */
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
mc_cmd_read_api_version(&cmd, major_ver, minor_ver);
return 0;
}
......@@ -48,11 +48,6 @@ int dpmcp_close(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token);
int dpmcp_get_api_version(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 *major_ver,
u16 *minor_ver);
int dpmcp_reset(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token);
......
......@@ -58,56 +58,21 @@
#define DPRC_CMDID_GET_ATTR DPRC_CMD(0x004)
#define DPRC_CMDID_SET_IRQ DPRC_CMD(0x010)
#define DPRC_CMDID_GET_IRQ DPRC_CMD(0x011)
#define DPRC_CMDID_SET_IRQ_ENABLE DPRC_CMD(0x012)
#define DPRC_CMDID_GET_IRQ_ENABLE DPRC_CMD(0x013)
#define DPRC_CMDID_SET_IRQ_MASK DPRC_CMD(0x014)
#define DPRC_CMDID_GET_IRQ_MASK DPRC_CMD(0x015)
#define DPRC_CMDID_GET_IRQ_STATUS DPRC_CMD(0x016)
#define DPRC_CMDID_CLEAR_IRQ_STATUS DPRC_CMD(0x017)
#define DPRC_CMDID_GET_CONT_ID DPRC_CMD(0x830)
#define DPRC_CMDID_GET_OBJ_COUNT DPRC_CMD(0x159)
#define DPRC_CMDID_GET_OBJ DPRC_CMD(0x15A)
#define DPRC_CMDID_GET_RES_COUNT DPRC_CMD(0x15B)
#define DPRC_CMDID_GET_OBJ_REG DPRC_CMD(0x15E)
#define DPRC_CMDID_SET_OBJ_IRQ DPRC_CMD(0x15F)
#define DPRC_CMDID_GET_OBJ_IRQ DPRC_CMD(0x160)
struct dprc_cmd_open {
__le32 container_id;
};
struct dprc_cmd_create_container {
/* cmd word 0 */
__le32 options;
__le16 icid;
__le16 pad0;
/* cmd word 1 */
__le32 pad1;
__le32 portal_id;
/* cmd words 2-3 */
u8 label[16];
};
struct dprc_rsp_create_container {
/* response word 0 */
__le64 pad0;
/* response word 1 */
__le32 child_container_id;
__le32 pad1;
/* response word 2 */
__le64 child_portal_addr;
};
struct dprc_cmd_destroy_container {
__le32 child_container_id;
};
struct dprc_cmd_reset_container {
__le32 child_container_id;
};
struct dprc_cmd_set_irq {
/* cmd word 0 */
__le32 irq_val;
......@@ -119,22 +84,6 @@ struct dprc_cmd_set_irq {
__le32 irq_num;
};
struct dprc_cmd_get_irq {
__le32 pad;
u8 irq_index;
};
struct dprc_rsp_get_irq {
/* response word 0 */
__le32 irq_val;
__le32 pad;
/* response word 1 */
__le64 irq_addr;
/* response word 2 */
__le32 irq_num;
__le32 type;
};
#define DPRC_ENABLE 0x1
struct dprc_cmd_set_irq_enable {
......@@ -143,29 +92,11 @@ struct dprc_cmd_set_irq_enable {
u8 irq_index;
};
struct dprc_cmd_get_irq_enable {
__le32 pad;
u8 irq_index;
};
struct dprc_rsp_get_irq_enable {
u8 enabled;
};
struct dprc_cmd_set_irq_mask {
__le32 mask;
u8 irq_index;
};
struct dprc_cmd_get_irq_mask {
__le32 pad;
u8 irq_index;
};
struct dprc_rsp_get_irq_mask {
__le32 mask;
};
struct dprc_cmd_get_irq_status {
__le32 status;
u8 irq_index;
......@@ -190,65 +121,6 @@ struct dprc_rsp_get_attributes {
__le32 portal_id;
};
struct dprc_cmd_set_res_quota {
/* cmd word 0 */
__le32 child_container_id;
__le16 quota;
__le16 pad;
/* cmd words 1-2 */
u8 type[16];
};
struct dprc_cmd_get_res_quota {
/* cmd word 0 */
__le32 child_container_id;
__le32 pad;
/* cmd word 1-2 */
u8 type[16];
};
struct dprc_rsp_get_res_quota {
__le32 pad;
__le16 quota;
};
struct dprc_cmd_assign {
/* cmd word 0 */
__le32 container_id;
__le32 options;
/* cmd word 1 */
__le32 num;
__le32 id_base_align;
/* cmd word 2-3 */
u8 type[16];
};
struct dprc_cmd_unassign {
/* cmd word 0 */
__le32 child_container_id;
__le32 options;
/* cmd word 1 */
__le32 num;
__le32 id_base_align;
/* cmd word 2-3 */
u8 type[16];
};
struct dprc_rsp_get_pool_count {
__le32 pool_count;
};
struct dprc_cmd_get_pool {
__le32 pool_index;
};
struct dprc_rsp_get_pool {
/* response word 0 */
__le64 pad;
/* response word 1-2 */
u8 type[16];
};
struct dprc_rsp_get_obj_count {
__le32 pad;
__le32 obj_count;
......@@ -278,67 +150,6 @@ struct dprc_rsp_get_obj {
u8 label[16];
};
struct dprc_cmd_get_obj_desc {
/* cmd word 0 */
__le32 obj_id;
__le32 pad;
/* cmd word 1-2 */
u8 type[16];
};
struct dprc_rsp_get_obj_desc {
/* response word 0 */
__le32 pad0;
__le32 id;
/* response word 1 */
__le16 vendor;
u8 irq_count;
u8 region_count;
__le32 state;
/* response word 2 */
__le16 version_major;
__le16 version_minor;
__le16 flags;
__le16 pad1;
/* response word 3-4 */
u8 type[16];
/* response word 5-6 */
u8 label[16];
};
struct dprc_cmd_get_res_count {
/* cmd word 0 */
__le64 pad;
/* cmd word 1-2 */
u8 type[16];
};
struct dprc_rsp_get_res_count {
__le32 res_count;
};
struct dprc_cmd_get_res_ids {
/* cmd word 0 */
u8 pad0[5];
u8 iter_status;
__le16 pad1;
/* cmd word 1 */
__le32 base_id;
__le32 last_id;
/* cmd word 2-3 */
u8 type[16];
};
struct dprc_rsp_get_res_ids {
/* response word 0 */
u8 pad0[5];
u8 iter_status;
__le16 pad1;
/* response word 1 */
__le32 base_id;
__le32 last_id;
};
struct dprc_cmd_get_obj_region {
/* cmd word 0 */
__le32 obj_id;
......@@ -360,16 +171,6 @@ struct dprc_rsp_get_obj_region {
__le32 size;
};
struct dprc_cmd_set_obj_label {
/* cmd word 0 */
__le32 obj_id;
__le32 pad;
/* cmd word 1-2 */
u8 label[16];
/* cmd word 3-4 */
u8 obj_type[16];
};
struct dprc_cmd_set_obj_irq {
/* cmd word 0 */
__le32 irq_val;
......@@ -384,68 +185,4 @@ struct dprc_cmd_set_obj_irq {
u8 obj_type[16];
};
struct dprc_cmd_get_obj_irq {
/* cmd word 0 */
__le32 obj_id;
u8 irq_index;
u8 pad[3];
/* cmd word 1-2 */
u8 obj_type[16];
};
struct dprc_rsp_get_obj_irq {
/* response word 0 */
__le32 irq_val;
__le32 pad;
/* response word 1 */
__le64 irq_addr;
/* response word 2 */
__le32 irq_num;
__le32 type;
};
struct dprc_cmd_connect {
/* cmd word 0 */
__le32 ep1_id;
__le32 ep1_interface_id;
/* cmd word 1 */
__le32 ep2_id;
__le32 ep2_interface_id;
/* cmd word 2-3 */
u8 ep1_type[16];
/* cmd word 4 */
__le32 max_rate;
__le32 committed_rate;
/* cmd word 5-6 */
u8 ep2_type[16];
};
struct dprc_cmd_disconnect {
/* cmd word 0 */
__le32 id;
__le32 interface_id;
/* cmd word 1-2 */
u8 type[16];
};
struct dprc_cmd_get_connection {
/* cmd word 0 */
__le32 ep1_id;
__le32 ep1_interface_id;
/* cmd word 1-2 */
u8 ep1_type[16];
};
struct dprc_rsp_get_connection {
/* response word 0-2 */
__le64 pad[3];
/* response word 3 */
__le32 ep2_id;
__le32 ep2_interface_id;
/* response word 4-5 */
u8 ep2_type[16];
/* response word 6 */
__le32 state;
};
#endif /* _FSL_DPRC_CMD_H */
......@@ -99,52 +99,6 @@ int dprc_close(struct fsl_mc_io *mc_io,
}
EXPORT_SYMBOL_GPL(dprc_close);
/**
* dprc_get_irq() - Get IRQ information from the DPRC.
* @mc_io: Pointer to MC portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @token: Token of DPRC object
* @irq_index: The interrupt index to configure
* @type: Interrupt type: 0 represents message interrupt
* type (both irq_addr and irq_val are valid)
* @irq_cfg: IRQ attributes
*
* Return: '0' on Success; Error code otherwise.
*/
int dprc_get_irq(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
int *type,
struct dprc_irq_cfg *irq_cfg)
{
struct mc_command cmd = { 0 };
struct dprc_cmd_get_irq *cmd_params;
struct dprc_rsp_get_irq *rsp_params;
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_IRQ,
cmd_flags,
token);
cmd_params = (struct dprc_cmd_get_irq *)cmd.params;
cmd_params->irq_index = irq_index;
/* send command to mc*/
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
rsp_params = (struct dprc_rsp_get_irq *)cmd.params;
irq_cfg->val = le32_to_cpu(rsp_params->irq_val);
irq_cfg->paddr = le64_to_cpu(rsp_params->irq_addr);
irq_cfg->irq_num = le32_to_cpu(rsp_params->irq_num);
*type = le32_to_cpu(rsp_params->type);
return 0;
}
/**
* dprc_set_irq() - Set IRQ information for the DPRC to trigger an interrupt.
* @mc_io: Pointer to MC portal's I/O object
......@@ -178,45 +132,6 @@ int dprc_set_irq(struct fsl_mc_io *mc_io,
return mc_send_command(mc_io, &cmd);
}
/**
* dprc_get_irq_enable() - Get overall interrupt state.
* @mc_io: Pointer to MC portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @token: Token of DPRC object
* @irq_index: The interrupt index to configure
* @en: Returned interrupt state - enable = 1, disable = 0
*
* Return: '0' on Success; Error code otherwise.
*/
int dprc_get_irq_enable(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u8 *en)
{
struct mc_command cmd = { 0 };
struct dprc_cmd_get_irq_enable *cmd_params;
struct dprc_rsp_get_irq_enable *rsp_params;
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_IRQ_ENABLE,
cmd_flags, token);
cmd_params = (struct dprc_cmd_get_irq_enable *)cmd.params;
cmd_params->irq_index = irq_index;
/* send command to mc*/
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
rsp_params = (struct dprc_rsp_get_irq_enable *)cmd.params;
*en = rsp_params->enabled & DPRC_ENABLE;
return 0;
}
/**
* dprc_set_irq_enable() - Set overall interrupt state.
* @mc_io: Pointer to MC portal's I/O object
......@@ -252,48 +167,6 @@ int dprc_set_irq_enable(struct fsl_mc_io *mc_io,
return mc_send_command(mc_io, &cmd);
}
/**
* dprc_get_irq_mask() - Get interrupt mask.
* @mc_io: Pointer to MC portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @token: Token of DPRC object
* @irq_index: The interrupt index to configure
* @mask: Returned event mask to trigger interrupt
*
* Every interrupt can have up to 32 causes and the interrupt model supports
* masking/unmasking each cause independently
*
* Return: '0' on Success; Error code otherwise.
*/
int dprc_get_irq_mask(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u32 *mask)
{
struct mc_command cmd = { 0 };
struct dprc_cmd_get_irq_mask *cmd_params;
struct dprc_rsp_get_irq_mask *rsp_params;
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_IRQ_MASK,
cmd_flags, token);
cmd_params = (struct dprc_cmd_get_irq_mask *)cmd.params;
cmd_params->irq_index = irq_index;
/* send command to mc*/
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
rsp_params = (struct dprc_rsp_get_irq_mask *)cmd.params;
*mask = le32_to_cpu(rsp_params->mask);
return 0;
}
/**
* dprc_set_irq_mask() - Set interrupt mask.
* @mc_io: Pointer to MC portal's I/O object
......@@ -574,103 +447,6 @@ int dprc_set_obj_irq(struct fsl_mc_io *mc_io,
}
EXPORT_SYMBOL_GPL(dprc_set_obj_irq);
/**
* dprc_get_obj_irq() - Get IRQ information from object.
* @mc_io: Pointer to MC portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @token: Token of DPRC object
* @obj_type: Type od the object to get its IRQ
* @obj_id: ID of the object to get its IRQ
* @irq_index: The interrupt index to configure
* @type: Interrupt type: 0 represents message interrupt
* type (both irq_addr and irq_val are valid)
* @irq_cfg: The returned IRQ attributes
*
* Return: '0' on Success; Error code otherwise.
*/
int dprc_get_obj_irq(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
char *obj_type,
int obj_id,
u8 irq_index,
int *type,
struct dprc_irq_cfg *irq_cfg)
{
struct mc_command cmd = { 0 };
struct dprc_cmd_get_obj_irq *cmd_params;
struct dprc_rsp_get_obj_irq *rsp_params;
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_OBJ_IRQ,
cmd_flags,
token);
cmd_params = (struct dprc_cmd_get_obj_irq *)cmd.params;
cmd_params->obj_id = cpu_to_le32(obj_id);
cmd_params->irq_index = irq_index;
strncpy(cmd_params->obj_type, obj_type, 16);
cmd_params->obj_type[15] = '\0';
/* send command to mc*/
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
rsp_params = (struct dprc_rsp_get_obj_irq *)cmd.params;
irq_cfg->val = le32_to_cpu(rsp_params->irq_val);
irq_cfg->paddr = le64_to_cpu(rsp_params->irq_addr);
irq_cfg->irq_num = le32_to_cpu(rsp_params->irq_num);
*type = le32_to_cpu(rsp_params->type);
return 0;
}
EXPORT_SYMBOL_GPL(dprc_get_obj_irq);
/**
* dprc_get_res_count() - Obtains the number of free resources that are assigned
* to this container, by pool type
* @mc_io: Pointer to MC portal's I/O object
* @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_'
* @token: Token of DPRC object
* @type: pool type
* @res_count: Returned number of free resources of the given
* resource type that are assigned to this DPRC
*
* Return: '0' on Success; Error code otherwise.
*/
int dprc_get_res_count(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
char *type,
int *res_count)
{
struct mc_command cmd = { 0 };
struct dprc_cmd_get_res_count *cmd_params;
struct dprc_rsp_get_res_count *rsp_params;
int err;
/* prepare command */
cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_RES_COUNT,
cmd_flags, token);
cmd_params = (struct dprc_cmd_get_res_count *)cmd.params;
strncpy(cmd_params->type, type, 16);
cmd_params->type[15] = '\0';
/* send command to mc*/
err = mc_send_command(mc_io, &cmd);
if (err)
return err;
/* retrieve response parameters */
rsp_params = (struct dprc_rsp_get_res_count *)cmd.params;
*res_count = le32_to_cpu(rsp_params->res_count);
return 0;
}
EXPORT_SYMBOL_GPL(dprc_get_res_count);
/**
* dprc_get_obj_region() - Get region information for a specified object.
* @mc_io: Pointer to MC portal's I/O object
......
......@@ -50,24 +50,12 @@ int dprc_close(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token);
/* IRQ */
/* IRQ index */
#define DPRC_IRQ_INDEX 0
/* Number of dprc's IRQs */
#define DPRC_NUM_OF_IRQS 1
/* DPRC IRQ events */
/* IRQ event - Indicates that a new object added to the container */
#define DPRC_IRQ_EVENT_OBJ_ADDED 0x00000001
/* IRQ event - Indicates that an object was removed from the container */
#define DPRC_IRQ_EVENT_OBJ_REMOVED 0x00000002
/* IRQ event - Indicates that resources added to the container */
#define DPRC_IRQ_EVENT_RES_ADDED 0x00000004
/* IRQ event - Indicates that resources removed from the container */
#define DPRC_IRQ_EVENT_RES_REMOVED 0x00000008
/*
* IRQ event - Indicates that one of the descendant containers that opened by
* this container is destroyed
......@@ -101,37 +89,18 @@ int dprc_set_irq(struct fsl_mc_io *mc_io,
u8 irq_index,
struct dprc_irq_cfg *irq_cfg);
int dprc_get_irq(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
int *type,
struct dprc_irq_cfg *irq_cfg);
int dprc_set_irq_enable(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u8 en);
int dprc_get_irq_enable(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u8 *en);
int dprc_set_irq_mask(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u32 mask);
int dprc_get_irq_mask(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
u8 irq_index,
u32 *mask);
int dprc_get_irq_status(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
......@@ -174,13 +143,6 @@ int dprc_get_obj(struct fsl_mc_io *mc_io,
int obj_index,
struct fsl_mc_obj_desc *obj_desc);
int dprc_get_obj_desc(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
char *obj_type,
int obj_id,
struct fsl_mc_obj_desc *obj_desc);
int dprc_set_obj_irq(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
......@@ -189,33 +151,6 @@ int dprc_set_obj_irq(struct fsl_mc_io *mc_io,
u8 irq_index,
struct dprc_irq_cfg *irq_cfg);
int dprc_get_obj_irq(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
char *obj_type,
int obj_id,
u8 irq_index,
int *type,
struct dprc_irq_cfg *irq_cfg);
int dprc_get_res_count(struct fsl_mc_io *mc_io,
u32 cmd_flags,
u16 token,
char *type,
int *res_count);
/**
* enum dprc_iter_status - Iteration status
* @DPRC_ITER_STATUS_FIRST: Perform first iteration
* @DPRC_ITER_STATUS_MORE: Indicates more/next iteration is needed
* @DPRC_ITER_STATUS_LAST: Indicates last iteration
*/
enum dprc_iter_status {
DPRC_ITER_STATUS_FIRST = 0,
DPRC_ITER_STATUS_MORE = 1,
DPRC_ITER_STATUS_LAST = 2
};
/* Region flags */
/* Cacheable - Indicates that region should be mapped as cacheable */
#define DPRC_REGION_CACHEABLE 0x00000001
......
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