hr_cmd 231 drivers/infiniband/hw/hns/hns_roce_cmd.c struct hns_roce_cmdq *hr_cmd = &hr_dev->cmd; hr_cmd 234 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->context = kmalloc_array(hr_cmd->max_cmds, hr_cmd 235 drivers/infiniband/hw/hns/hns_roce_cmd.c sizeof(*hr_cmd->context), hr_cmd 237 drivers/infiniband/hw/hns/hns_roce_cmd.c if (!hr_cmd->context) hr_cmd 240 drivers/infiniband/hw/hns/hns_roce_cmd.c for (i = 0; i < hr_cmd->max_cmds; ++i) { hr_cmd 241 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->context[i].token = i; hr_cmd 242 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->context[i].next = i + 1; hr_cmd 245 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->context[hr_cmd->max_cmds - 1].next = -1; hr_cmd 246 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->free_head = 0; hr_cmd 248 drivers/infiniband/hw/hns/hns_roce_cmd.c sema_init(&hr_cmd->event_sem, hr_cmd->max_cmds); hr_cmd 249 drivers/infiniband/hw/hns/hns_roce_cmd.c spin_lock_init(&hr_cmd->context_lock); hr_cmd 251 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->token_mask = CMD_TOKEN_MASK; hr_cmd 252 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->use_events = 1; hr_cmd 259 drivers/infiniband/hw/hns/hns_roce_cmd.c struct hns_roce_cmdq *hr_cmd = &hr_dev->cmd; hr_cmd 261 drivers/infiniband/hw/hns/hns_roce_cmd.c kfree(hr_cmd->context); hr_cmd 262 drivers/infiniband/hw/hns/hns_roce_cmd.c hr_cmd->use_events = 0;