Lines Matching refs:cl

146 void mei_hbm_cl_hdr(struct mei_cl *cl, u8 hbm_cmd, void *buf, size_t len)  in mei_hbm_cl_hdr()  argument
153 cmd->host_addr = cl->host_client_id; in mei_hbm_cl_hdr()
154 cmd->me_addr = cl->me_client_id; in mei_hbm_cl_hdr()
169 struct mei_cl *cl, u8 hbm_cmd, size_t len) in mei_hbm_cl_write() argument
174 mei_hbm_cl_hdr(cl, hbm_cmd, dev->wr_msg.data, len); in mei_hbm_cl_write()
189 bool mei_hbm_cl_addr_equal(struct mei_cl *cl, struct mei_hbm_cl_cmd *cmd) in mei_hbm_cl_addr_equal() argument
191 return cl->host_client_id == cmd->host_addr && in mei_hbm_cl_addr_equal()
192 cl->me_client_id == cmd->me_addr; in mei_hbm_cl_addr_equal()
207 struct mei_cl *cl; in mei_hbm_cl_find_by_cmd() local
209 list_for_each_entry(cl, &dev->file_list, link) in mei_hbm_cl_find_by_cmd()
210 if (mei_hbm_cl_addr_equal(cl, cmd)) in mei_hbm_cl_find_by_cmd()
211 return cl; in mei_hbm_cl_find_by_cmd()
458 int mei_hbm_cl_flow_control_req(struct mei_device *dev, struct mei_cl *cl) in mei_hbm_cl_flow_control_req() argument
462 cl_dbg(dev, cl, "sending flow control\n"); in mei_hbm_cl_flow_control_req()
463 return mei_hbm_cl_write(dev, cl, MEI_FLOW_CONTROL_CMD, len); in mei_hbm_cl_flow_control_req()
511 struct mei_cl *cl; in mei_hbm_cl_flow_control_res() local
519 cl = mei_hbm_cl_find_by_cmd(dev, flow_control); in mei_hbm_cl_flow_control_res()
520 if (cl) { in mei_hbm_cl_flow_control_res()
521 cl->mei_flow_ctrl_creds++; in mei_hbm_cl_flow_control_res()
522 cl_dbg(dev, cl, "flow control creds = %d.\n", in mei_hbm_cl_flow_control_res()
523 cl->mei_flow_ctrl_creds); in mei_hbm_cl_flow_control_res()
536 int mei_hbm_cl_disconnect_req(struct mei_device *dev, struct mei_cl *cl) in mei_hbm_cl_disconnect_req() argument
540 return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_REQ_CMD, len); in mei_hbm_cl_disconnect_req()
551 int mei_hbm_cl_disconnect_rsp(struct mei_device *dev, struct mei_cl *cl) in mei_hbm_cl_disconnect_rsp() argument
555 return mei_hbm_cl_write(dev, cl, CLIENT_DISCONNECT_RES_CMD, len); in mei_hbm_cl_disconnect_rsp()
566 static void mei_hbm_cl_disconnect_res(struct mei_device *dev, struct mei_cl *cl, in mei_hbm_cl_disconnect_res() argument
572 cl_dbg(dev, cl, "hbm: disconnect response status=%d\n", rs->status); in mei_hbm_cl_disconnect_res()
575 cl->state = MEI_FILE_DISCONNECTED; in mei_hbm_cl_disconnect_res()
576 cl->status = 0; in mei_hbm_cl_disconnect_res()
587 int mei_hbm_cl_connect_req(struct mei_device *dev, struct mei_cl *cl) in mei_hbm_cl_connect_req() argument
591 return mei_hbm_cl_write(dev, cl, CLIENT_CONNECT_REQ_CMD, len); in mei_hbm_cl_connect_req()
602 static void mei_hbm_cl_connect_res(struct mei_device *dev, struct mei_cl *cl, in mei_hbm_cl_connect_res() argument
608 cl_dbg(dev, cl, "hbm: connect response status=%s\n", in mei_hbm_cl_connect_res()
612 cl->state = MEI_FILE_CONNECTED; in mei_hbm_cl_connect_res()
614 cl->state = MEI_FILE_DISCONNECTED; in mei_hbm_cl_connect_res()
615 cl->status = mei_cl_conn_status_to_errno(rs->status); in mei_hbm_cl_connect_res()
630 struct mei_cl *cl; in mei_hbm_cl_res() local
633 cl = NULL; in mei_hbm_cl_res()
636 cl = cb->cl; in mei_hbm_cl_res()
641 if (mei_hbm_cl_addr_equal(cl, rs)) { in mei_hbm_cl_res()
647 if (!cl) in mei_hbm_cl_res()
652 mei_hbm_cl_connect_res(dev, cl, rs); in mei_hbm_cl_res()
655 mei_hbm_cl_disconnect_res(dev, cl, rs); in mei_hbm_cl_res()
661 cl->timer_count = 0; in mei_hbm_cl_res()
662 wake_up(&cl->wait); in mei_hbm_cl_res()
678 struct mei_cl *cl; in mei_hbm_fw_disconnect_req() local
681 cl = mei_hbm_cl_find_by_cmd(dev, disconnect_req); in mei_hbm_fw_disconnect_req()
682 if (cl) { in mei_hbm_fw_disconnect_req()
683 cl_dbg(dev, cl, "disconnect request received\n"); in mei_hbm_fw_disconnect_req()
684 cl->state = MEI_FILE_DISCONNECTED; in mei_hbm_fw_disconnect_req()
685 cl->timer_count = 0; in mei_hbm_fw_disconnect_req()
687 cb = mei_io_cb_init(cl, MEI_FOP_DISCONNECT_RSP, NULL); in mei_hbm_fw_disconnect_req()
690 cl_dbg(dev, cl, "add disconnect response as first\n"); in mei_hbm_fw_disconnect_req()