Lines Matching defs:cdx
34 static void cdx_mcdi_cancel_cmd(struct cdx_mcdi *cdx, struct cdx_mcdi_cmd *cmd);
35 static void cdx_mcdi_wait_for_cleanup(struct cdx_mcdi *cdx);
36 static int cdx_mcdi_rpc_async_internal(struct cdx_mcdi *cdx,
52 static void cdx_mcdi_mode_fail(struct cdx_mcdi *cdx, struct list_head *cleanup_list);
53 static void _cdx_mcdi_display_error(struct cdx_mcdi *cdx, unsigned int cmd,
98 static unsigned long cdx_mcdi_rpc_timeout(struct cdx_mcdi *cdx, unsigned int cmd)
100 if (!cdx->mcdi_ops->mcdi_rpc_timeout)
103 return cdx->mcdi_ops->mcdi_rpc_timeout(cdx, cmd);
106 int cdx_mcdi_init(struct cdx_mcdi *cdx)
111 cdx->mcdi = kzalloc(sizeof(*cdx->mcdi), GFP_KERNEL);
112 if (!cdx->mcdi)
115 mcdi = cdx_mcdi_if(cdx);
116 mcdi->cdx = cdx;
130 kfree(cdx->mcdi);
131 cdx->mcdi = NULL;
136 void cdx_mcdi_finish(struct cdx_mcdi *cdx)
140 mcdi = cdx_mcdi_if(cdx);
144 cdx_mcdi_wait_for_cleanup(cdx);
147 kfree(cdx->mcdi);
148 cdx->mcdi = NULL;
163 static void cdx_mcdi_wait_for_cleanup(struct cdx_mcdi *cdx)
165 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
174 int cdx_mcdi_wait_for_quiescence(struct cdx_mcdi *cdx,
177 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
222 static void cdx_mcdi_send_request(struct cdx_mcdi *cdx,
225 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
267 cdx->mcdi_ops->mcdi_request(cdx, hdr, hdr_len, inbuf, inlen);
272 static int cdx_mcdi_errno(struct cdx_mcdi *cdx, unsigned int mcdi_err)
319 static void cdx_mcdi_process_cleanup_list(struct cdx_mcdi *cdx,
322 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
332 cmd->completer(cdx, cmd->cookie, cmd->rc,
379 static void cdx_mcdi_cancel_cmd(struct cdx_mcdi *cdx, struct cdx_mcdi_cmd *cmd)
381 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
390 cdx_mcdi_process_cleanup_list(cdx, &cleanup_list);
408 static void cdx_mcdi_rpc_completer(struct cdx_mcdi *cdx, unsigned long cookie,
426 static int cdx_mcdi_rpc_sync(struct cdx_mcdi *cdx, unsigned int cmd,
465 rc = cdx_mcdi_rpc_async_internal(cdx, cmd_item, &handle);
472 cdx_mcdi_rpc_timeout(cdx, cmd)) &&
477 cdx_mcdi_cancel_cmd(cdx, cmd_item);
502 static int cdx_mcdi_rpc_async_internal(struct cdx_mcdi *cdx,
506 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);
534 struct cdx_mcdi *cdx = mcdi->cdx;
541 cdx_mcdi_send_request(cdx, cmd);
560 void cdx_mcdi_process_cmd(struct cdx_mcdi *cdx, struct cdx_dword *outbuf, int len)
572 mcdi = cdx_mcdi_if(cdx);
595 cdx_mcdi_process_cleanup_list(mcdi->cdx, &cleanup_list);
625 struct cdx_mcdi *cdx = mcdi->cdx;
675 _cdx_mcdi_display_error(cdx, cmd->cmd,
677 cdx_mcdi_errno(cdx, rc));
679 rc = cdx_mcdi_errno(cdx, rc);
720 struct cdx_mcdi *cdx = mcdi->cdx;
729 cdx_mcdi_mode_fail(cdx, cleanup_list);
734 * @cdx: NIC through which to issue the command
756 int cdx_mcdi_rpc(struct cdx_mcdi *cdx, unsigned int cmd,
761 return cdx_mcdi_rpc_sync(cdx, cmd, inbuf, inlen, outbuf, outlen,
767 * @cdx: NIC through which to issue the command
784 cdx_mcdi_rpc_async(struct cdx_mcdi *cdx, unsigned int cmd,
804 return cdx_mcdi_rpc_async_internal(cdx, cmd_item, NULL);
807 static void _cdx_mcdi_display_error(struct cdx_mcdi *cdx, unsigned int cmd,
819 static void cdx_mcdi_mode_fail(struct cdx_mcdi *cdx, struct list_head *cleanup_list)
821 struct cdx_mcdi_iface *mcdi = cdx_mcdi_if(cdx);