Lines Matching refs:mbox_cmd

132 		      struct octeon_mbox_cmd *mbox_cmd)  in octeon_mbox_write()  argument
134 struct octeon_mbox *mbox = oct->mbox[mbox_cmd->q_no]; in octeon_mbox_write()
141 if ((mbox_cmd->msg.s.type == OCTEON_MBOX_RESPONSE) && in octeon_mbox_write()
147 if ((mbox_cmd->msg.s.type == OCTEON_MBOX_REQUEST) && in octeon_mbox_write()
153 if (mbox_cmd->msg.s.type == OCTEON_MBOX_REQUEST) { in octeon_mbox_write()
154 memcpy(&mbox->mbox_resp, mbox_cmd, in octeon_mbox_write()
172 writeq(mbox_cmd->msg.u64, mbox->mbox_write_reg); in octeon_mbox_write()
173 for (i = 0; i < (u32)(mbox_cmd->msg.s.len - 1); i++) { in octeon_mbox_write()
184 writeq(mbox_cmd->data[i], mbox->mbox_write_reg); in octeon_mbox_write()
191 if (mbox_cmd->msg.s.type == OCTEON_MBOX_RESPONSE) { in octeon_mbox_write()
195 if ((!mbox_cmd->msg.s.resp_needed) || in octeon_mbox_write()
237 struct octeon_mbox_cmd *mbox_cmd) in octeon_mbox_process_cmd() argument
241 switch (mbox_cmd->msg.s.cmd) { in octeon_mbox_process_cmd()
244 mbox_cmd->msg.s.type = OCTEON_MBOX_RESPONSE; in octeon_mbox_process_cmd()
245 mbox_cmd->msg.s.resp_needed = 1; in octeon_mbox_process_cmd()
246 mbox_cmd->msg.s.len = 2; in octeon_mbox_process_cmd()
247 mbox_cmd->data[0] = 0; /* VF version is in mbox_cmd->data[0] */ in octeon_mbox_process_cmd()
248 ((struct lio_version *)&mbox_cmd->data[0])->major = in octeon_mbox_process_cmd()
250 ((struct lio_version *)&mbox_cmd->data[0])->minor = in octeon_mbox_process_cmd()
252 ((struct lio_version *)&mbox_cmd->data[0])->micro = in octeon_mbox_process_cmd()
254 memcpy(mbox_cmd->msg.s.params, (uint8_t *)&oct->pfvf_hsword, 6); in octeon_mbox_process_cmd()
256 octeon_mbox_write(oct, mbox_cmd); in octeon_mbox_process_cmd()
269 mbox_cmd->msg.s.params); in octeon_mbox_process_cmd()
274 mbox_cmd->msg.s.type = OCTEON_MBOX_RESPONSE; in octeon_mbox_process_cmd()
275 mbox_cmd->msg.s.resp_needed = 1; in octeon_mbox_process_cmd()
276 mbox_cmd->msg.s.len = 1 + in octeon_mbox_process_cmd()
278 get_vf_stats(oct, (struct oct_vf_stats *)mbox_cmd->data); in octeon_mbox_process_cmd()
279 octeon_mbox_write(oct, mbox_cmd); in octeon_mbox_process_cmd()
295 struct octeon_mbox_cmd mbox_cmd; in octeon_mbox_process_message() local
303 memcpy(&mbox_cmd, &mbox->mbox_resp, in octeon_mbox_process_message()
308 mbox_cmd.recv_status = 1; in octeon_mbox_process_message()
309 if (mbox_cmd.fn) in octeon_mbox_process_message()
310 mbox_cmd.fn(mbox->oct_dev, &mbox_cmd, in octeon_mbox_process_message()
311 mbox_cmd.fn_arg); in octeon_mbox_process_message()
322 memcpy(&mbox_cmd, &mbox->mbox_resp, in octeon_mbox_process_message()
327 mbox_cmd.recv_status = 0; in octeon_mbox_process_message()
328 if (mbox_cmd.fn) in octeon_mbox_process_message()
329 mbox_cmd.fn(mbox->oct_dev, &mbox_cmd, mbox_cmd.fn_arg); in octeon_mbox_process_message()
334 memcpy(&mbox_cmd, &mbox->mbox_req, in octeon_mbox_process_message()
336 if (!mbox_cmd.msg.s.resp_needed) { in octeon_mbox_process_message()
345 octeon_mbox_process_cmd(mbox, &mbox_cmd); in octeon_mbox_process_message()
358 struct octeon_mbox_cmd *mbox_cmd; in octeon_mbox_cancel() local
362 mbox_cmd = &mbox->mbox_resp; in octeon_mbox_cancel()
370 memset(mbox_cmd, 0, sizeof(*mbox_cmd)); in octeon_mbox_cancel()