cmd_info
struct ethosu_validated_cmdstream_info *cmd_info;
cmd_info = to_ethosu_bo(ejob->cmd_bo)->info;
if (!cmd_info) {
(!cmd_info->region_size[i] || (i == ETHOSU_SRAM_REGION && job->sram_size)))
if (job->region_bo_handles[i] && !cmd_info->region_size[i]) {
if (cmd_info->region_size[i] > gem->size) {
i, cmd_info->region_size[i], gem->size);
struct ethosu_validated_cmdstream_info *cmd_info = to_ethosu_bo(job->cmd_bo)->info;
writel_relaxed(cmd_info->cmd_size, dev->regs + NPU_REG_QSIZE);
static const struct ata_port_info cmd_info[7] = {
&cmd_info[id->driver_data],
&cmd_info[id->driver_data],
ppi[0] = &cmd_info[3];
ppi[1] = &cmd_info[3];
ppi[0] = &cmd_info[2];
ppi[1] = &cmd_info[2];
ppi[0] = &cmd_info[4];
ppi[1] = &cmd_info[4];
const struct cmd_info *info;
const struct cmd_info *info;
static const struct cmd_info cmd_info[] = {
const struct cmd_info *info;
info = &cmd_info[mi_noop_index];
for (i = 0; i < ARRAY_SIZE(cmd_info); i++) {
if (!(cmd_info[i].devices & gen_type))
e->info = &cmd_info[i];
if (cmd_info[i].opcode == OP_MI_NOOP)
const struct cmd_info *info;
const struct cmd_info *info;
static inline const struct cmd_info *
static inline const struct cmd_info *
static inline int get_cmd_length(const struct cmd_info *info, u32 cmd)
} cmd_info[] = {
const struct cmd_info *info;
if (cmd >= ARRAY_SIZE(cmd_info)) {
info = &cmd_info[cmd];
static void cmdq_clear_cmd_buf(struct hinic3_cmdq_cmd_info *cmd_info,
if (cmd_info->buf_in) {
hinic3_free_cmd_buf(hwdev, cmd_info->buf_in);
cmd_info->buf_in = NULL;
struct hinic3_cmdq_cmd_info *cmd_info;
cmd_info = &cmdq->cmd_infos[prod_idx];
if (cmd_info->errcode) {
*cmd_info->errcode = CMDQ_WQE_ERRCODE_GET(status_info, VAL);
if (cmd_info->direct_resp)
*cmd_info->direct_resp = wqe_lcmd->completion.resp.direct.val;
struct hinic3_cmdq_cmd_info *cmd_info;
cmd_info = &cmdq->cmd_infos[ci];
switch (cmd_info->cmd_type) {
cmdq_clear_cmd_buf(cmd_info, hwdev);
if (cmd_info->cmd_type == HINIC3_CMD_TYPE_FORCE_STOP) {
cmdq_clear_cmd_buf(cmd_info, hwdev);
static void clear_cmd_info(struct hinic3_cmdq_cmd_info *cmd_info,
if (cmd_info->errcode == saved_cmd_info->errcode)
cmd_info->errcode = NULL;
if (cmd_info->done == saved_cmd_info->done)
cmd_info->done = NULL;
if (cmd_info->direct_resp == saved_cmd_info->direct_resp)
cmd_info->direct_resp = NULL;
struct hinic3_cmdq_cmd_info *cmd_info,
if (cmd_info->cmpt_code == saved_cmd_info->cmpt_code)
cmd_info->cmpt_code = NULL;
if (curr_msg_id == cmd_info->cmdq_msg_id) {
cmd_info->cmd_type = HINIC3_CMD_TYPE_TIMEOUT;
cmd_info->cmd_type = HINIC3_CMD_TYPE_FAKE_TIMEOUT;
clear_cmd_info(cmd_info, saved_cmd_info);
struct hinic3_cmdq_cmd_info *cmd_info, saved_cmd_info;
cmd_info = &cmdq->cmd_infos[curr_prod_idx];
cmd_info->cmd_type = HINIC3_CMD_TYPE_DIRECT_RESP;
cmd_info->done = &done;
cmd_info->errcode = &errcode;
cmd_info->direct_resp = out_param;
cmd_info->cmpt_code = &cmpt_code;
cmd_info->buf_in = buf_in;
saved_cmd_info = *cmd_info;
(cmd_info->cmdq_msg_id)++;
curr_msg_id = cmd_info->cmdq_msg_id;
err = wait_cmdq_sync_cmd_completion(cmdq, cmd_info, &saved_cmd_info,
static void cmdq_flush_sync_cmd(struct hinic3_cmdq_cmd_info *cmd_info)
if (cmd_info->cmd_type != HINIC3_CMD_TYPE_DIRECT_RESP)
cmd_info->cmd_type = HINIC3_CMD_TYPE_FORCE_STOP;
if (cmd_info->cmpt_code &&
*cmd_info->cmpt_code == CMDQ_SEND_CMPT_CODE)
*cmd_info->cmpt_code = CMDQ_FORCE_STOP_CMPT_CODE;
if (cmd_info->done) {
complete(cmd_info->done);
cmd_info->done = NULL;
cmd_info->cmpt_code = NULL;
cmd_info->direct_resp = NULL;
cmd_info->errcode = NULL;
struct hinic3_cmdq_cmd_info *cmd_info;
cmd_info = &cmdq->cmd_infos[ci];
if (cmd_info->cmd_type == HINIC3_CMD_TYPE_DIRECT_RESP)
cmdq_flush_sync_cmd(cmd_info);
static struct mlx4_cmd_info cmd_info[] = {
for (i = 0; i < ARRAY_SIZE(cmd_info); ++i) {
if (vhcr->op == cmd_info[i].opcode) {
cmd = &cmd_info[i];
struct mlx4_cmd_info *cmd_info)
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
struct rocker_tlv *cmd_info;
cmd_info = rocker_tlv_nest_start(desc_info, ROCKER_TLV_CMD_INFO);
if (!cmd_info)
rocker_tlv_nest_end(desc_info, cmd_info);
BUG_ON(cmd_info[cmd->cmd].pre_arg &&
cmd_info[cmd->cmd].post_arg);
if (cmd_info[cmd->cmd].pre_arg) {
if (cmd_info[cmd->cmd].post_arg) {
static const struct eurus_cmd_arg_info cmd_info[GELIC_EURUS_CMD_MAX_INDEX] = {
u8 cmd_info[256];
extern int cmd_info(int argc, const char **argv);
{ "info", cmd_info, 0 },