mcdi              514 drivers/net/ethernet/sfc/ef10.c 		       ((efx->mcdi->fn_flags) &
mcdi              526 drivers/net/ethernet/sfc/ef10.c 		       ((efx->mcdi->fn_flags) &
mcdi             1799 drivers/net/ethernet/sfc/ef10.c 	if (!(efx->mcdi->fn_flags &
mcdi             2531 drivers/net/ethernet/sfc/efx.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             2533 drivers/net/ethernet/sfc/efx.c 	return scnprintf(buf, PAGE_SIZE, "%d\n", mcdi->logging_enabled);
mcdi             2539 drivers/net/ethernet/sfc/efx.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             2542 drivers/net/ethernet/sfc/efx.c 	mcdi->logging_enabled = enable;
mcdi               63 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi;
mcdi               67 drivers/net/ethernet/sfc/mcdi.c 	efx->mcdi = kzalloc(sizeof(*efx->mcdi), GFP_KERNEL);
mcdi               68 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi               71 drivers/net/ethernet/sfc/mcdi.c 	mcdi = efx_mcdi(efx);
mcdi               72 drivers/net/ethernet/sfc/mcdi.c 	mcdi->efx = efx;
mcdi               75 drivers/net/ethernet/sfc/mcdi.c 	mcdi->logging_buffer = (char *)__get_free_page(GFP_KERNEL);
mcdi               76 drivers/net/ethernet/sfc/mcdi.c 	if (!mcdi->logging_buffer)
mcdi               78 drivers/net/ethernet/sfc/mcdi.c 	mcdi->logging_enabled = mcdi_logging_default;
mcdi               80 drivers/net/ethernet/sfc/mcdi.c 	init_waitqueue_head(&mcdi->wq);
mcdi               81 drivers/net/ethernet/sfc/mcdi.c 	init_waitqueue_head(&mcdi->proxy_rx_wq);
mcdi               82 drivers/net/ethernet/sfc/mcdi.c 	spin_lock_init(&mcdi->iface_lock);
mcdi               83 drivers/net/ethernet/sfc/mcdi.c 	mcdi->state = MCDI_STATE_QUIESCENT;
mcdi               84 drivers/net/ethernet/sfc/mcdi.c 	mcdi->mode = MCDI_MODE_POLL;
mcdi               85 drivers/net/ethernet/sfc/mcdi.c 	spin_lock_init(&mcdi->async_lock);
mcdi               86 drivers/net/ethernet/sfc/mcdi.c 	INIT_LIST_HEAD(&mcdi->async_list);
mcdi               87 drivers/net/ethernet/sfc/mcdi.c 	timer_setup(&mcdi->async_timer, efx_mcdi_timeout_async, 0);
mcdi               90 drivers/net/ethernet/sfc/mcdi.c 	mcdi->new_epoch = true;
mcdi              111 drivers/net/ethernet/sfc/mcdi.c 	if (efx->mcdi->fn_flags &
mcdi              118 drivers/net/ethernet/sfc/mcdi.c 	free_page((unsigned long)mcdi->logging_buffer);
mcdi              121 drivers/net/ethernet/sfc/mcdi.c 	kfree(efx->mcdi);
mcdi              122 drivers/net/ethernet/sfc/mcdi.c 	efx->mcdi = NULL;
mcdi              129 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi              132 drivers/net/ethernet/sfc/mcdi.c 	BUG_ON(efx->mcdi->iface.state != MCDI_STATE_QUIESCENT);
mcdi              140 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi              144 drivers/net/ethernet/sfc/mcdi.c 	free_page((unsigned long)efx->mcdi->iface.logging_buffer);
mcdi              147 drivers/net/ethernet/sfc/mcdi.c 	kfree(efx->mcdi);
mcdi              153 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              155 drivers/net/ethernet/sfc/mcdi.c 	char *buf = mcdi->logging_buffer; /* page-sized */
mcdi              161 drivers/net/ethernet/sfc/mcdi.c 	BUG_ON(mcdi->state == MCDI_STATE_QUIESCENT);
mcdi              164 drivers/net/ethernet/sfc/mcdi.c 	spin_lock_bh(&mcdi->iface_lock);
mcdi              165 drivers/net/ethernet/sfc/mcdi.c 	++mcdi->seqno;
mcdi              166 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock_bh(&mcdi->iface_lock);
mcdi              168 drivers/net/ethernet/sfc/mcdi.c 	seqno = mcdi->seqno & SEQ_MASK;
mcdi              170 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_EVENTS)
mcdi              182 drivers/net/ethernet/sfc/mcdi.c 				     MCDI_HEADER_NOT_EPOCH, !mcdi->new_epoch);
mcdi              194 drivers/net/ethernet/sfc/mcdi.c 				     MCDI_HEADER_NOT_EPOCH, !mcdi->new_epoch);
mcdi              202 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->logging_enabled && !WARN_ON_ONCE(!buf)) {
mcdi              228 drivers/net/ethernet/sfc/mcdi.c 	mcdi->new_epoch = false;
mcdi              265 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              268 drivers/net/ethernet/sfc/mcdi.c 	char *buf = mcdi->logging_buffer; /* page-sized */
mcdi              278 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_hdr_len = 4;
mcdi              279 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_data_len = EFX_DWORD_FIELD(hdr, MCDI_HEADER_DATALEN);
mcdi              282 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_hdr_len = 8;
mcdi              283 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_data_len =
mcdi              288 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->logging_enabled && !WARN_ON_ONCE(!buf)) {
mcdi              293 drivers/net/ethernet/sfc/mcdi.c 		WARN_ON_ONCE(mcdi->resp_hdr_len % 4);
mcdi              294 drivers/net/ethernet/sfc/mcdi.c 		hdr_len = mcdi->resp_hdr_len / 4;
mcdi              298 drivers/net/ethernet/sfc/mcdi.c 		data_len = DIV_ROUND_UP(mcdi->resp_data_len, 4);
mcdi              311 drivers/net/ethernet/sfc/mcdi.c 					mcdi->resp_hdr_len + (i * 4), 4);
mcdi              320 drivers/net/ethernet/sfc/mcdi.c 	mcdi->resprc_raw = 0;
mcdi              321 drivers/net/ethernet/sfc/mcdi.c 	if (error && mcdi->resp_data_len == 0) {
mcdi              323 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc = -EIO;
mcdi              324 drivers/net/ethernet/sfc/mcdi.c 	} else if ((respseq ^ mcdi->seqno) & SEQ_MASK) {
mcdi              327 drivers/net/ethernet/sfc/mcdi.c 			  respseq, mcdi->seqno);
mcdi              328 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc = -EIO;
mcdi              330 drivers/net/ethernet/sfc/mcdi.c 		efx->type->mcdi_read_response(efx, &hdr, mcdi->resp_hdr_len, 4);
mcdi              331 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc_raw = EFX_DWORD_FIELD(hdr, EFX_DWORD_0);
mcdi              332 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc = efx_mcdi_errno(mcdi->resprc_raw);
mcdi              334 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc = 0;
mcdi              340 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              346 drivers/net/ethernet/sfc/mcdi.c 	spin_lock_bh(&mcdi->iface_lock);
mcdi              348 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock_bh(&mcdi->iface_lock);
mcdi              355 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              363 drivers/net/ethernet/sfc/mcdi.c 		spin_lock_bh(&mcdi->iface_lock);
mcdi              364 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resprc = rc;
mcdi              365 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_hdr_len = 0;
mcdi              366 drivers/net/ethernet/sfc/mcdi.c 		mcdi->resp_data_len = 0;
mcdi              367 drivers/net/ethernet/sfc/mcdi.c 		spin_unlock_bh(&mcdi->iface_lock);
mcdi              404 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi              410 drivers/net/ethernet/sfc/mcdi.c static bool efx_mcdi_acquire_async(struct efx_mcdi_iface *mcdi)
mcdi              412 drivers/net/ethernet/sfc/mcdi.c 	return cmpxchg(&mcdi->state,
mcdi              417 drivers/net/ethernet/sfc/mcdi.c static void efx_mcdi_acquire_sync(struct efx_mcdi_iface *mcdi)
mcdi              422 drivers/net/ethernet/sfc/mcdi.c 	wait_event(mcdi->wq,
mcdi              423 drivers/net/ethernet/sfc/mcdi.c 		   cmpxchg(&mcdi->state,
mcdi              430 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              432 drivers/net/ethernet/sfc/mcdi.c 	if (wait_event_timeout(mcdi->wq, mcdi->state == MCDI_STATE_COMPLETED,
mcdi              444 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_POLL)
mcdi              453 drivers/net/ethernet/sfc/mcdi.c static bool efx_mcdi_complete_sync(struct efx_mcdi_iface *mcdi)
mcdi              455 drivers/net/ethernet/sfc/mcdi.c 	if (cmpxchg(&mcdi->state,
mcdi              458 drivers/net/ethernet/sfc/mcdi.c 		wake_up(&mcdi->wq);
mcdi              465 drivers/net/ethernet/sfc/mcdi.c static void efx_mcdi_release(struct efx_mcdi_iface *mcdi)
mcdi              467 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_EVENTS) {
mcdi              469 drivers/net/ethernet/sfc/mcdi.c 		struct efx_nic *efx = mcdi->efx;
mcdi              472 drivers/net/ethernet/sfc/mcdi.c 		spin_lock_bh(&mcdi->async_lock);
mcdi              474 drivers/net/ethernet/sfc/mcdi.c 			&mcdi->async_list, struct efx_mcdi_async_param, list);
mcdi              476 drivers/net/ethernet/sfc/mcdi.c 			mcdi->state = MCDI_STATE_RUNNING_ASYNC;
mcdi              480 drivers/net/ethernet/sfc/mcdi.c 			mod_timer(&mcdi->async_timer,
mcdi              483 drivers/net/ethernet/sfc/mcdi.c 		spin_unlock_bh(&mcdi->async_lock);
mcdi              489 drivers/net/ethernet/sfc/mcdi.c 	mcdi->state = MCDI_STATE_QUIESCENT;
mcdi              490 drivers/net/ethernet/sfc/mcdi.c 	wake_up(&mcdi->wq);
mcdi              498 drivers/net/ethernet/sfc/mcdi.c static bool efx_mcdi_complete_async(struct efx_mcdi_iface *mcdi, bool timeout)
mcdi              500 drivers/net/ethernet/sfc/mcdi.c 	struct efx_nic *efx = mcdi->efx;
mcdi              507 drivers/net/ethernet/sfc/mcdi.c 	if (cmpxchg(&mcdi->state,
mcdi              512 drivers/net/ethernet/sfc/mcdi.c 	spin_lock(&mcdi->iface_lock);
mcdi              517 drivers/net/ethernet/sfc/mcdi.c 		++mcdi->seqno;
mcdi              518 drivers/net/ethernet/sfc/mcdi.c 		++mcdi->credits;
mcdi              523 drivers/net/ethernet/sfc/mcdi.c 		rc = mcdi->resprc;
mcdi              524 drivers/net/ethernet/sfc/mcdi.c 		hdr_len = mcdi->resp_hdr_len;
mcdi              525 drivers/net/ethernet/sfc/mcdi.c 		data_len = mcdi->resp_data_len;
mcdi              527 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock(&mcdi->iface_lock);
mcdi              534 drivers/net/ethernet/sfc/mcdi.c 		del_timer_sync(&mcdi->async_timer);
mcdi              536 drivers/net/ethernet/sfc/mcdi.c 	spin_lock(&mcdi->async_lock);
mcdi              537 drivers/net/ethernet/sfc/mcdi.c 	async = list_first_entry(&mcdi->async_list,
mcdi              540 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock(&mcdi->async_lock);
mcdi              558 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_release(mcdi);
mcdi              566 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              569 drivers/net/ethernet/sfc/mcdi.c 	spin_lock(&mcdi->iface_lock);
mcdi              571 drivers/net/ethernet/sfc/mcdi.c 	if ((seqno ^ mcdi->seqno) & SEQ_MASK) {
mcdi              572 drivers/net/ethernet/sfc/mcdi.c 		if (mcdi->credits)
mcdi              574 drivers/net/ethernet/sfc/mcdi.c 			--mcdi->credits;
mcdi              578 drivers/net/ethernet/sfc/mcdi.c 				  "seq 0x%x\n", seqno, mcdi->seqno);
mcdi              584 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resprc = efx_mcdi_errno(mcdi_err);
mcdi              585 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_hdr_len = 4;
mcdi              586 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_data_len = datalen;
mcdi              592 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock(&mcdi->iface_lock);
mcdi              595 drivers/net/ethernet/sfc/mcdi.c 		if (!efx_mcdi_complete_async(mcdi, false))
mcdi              596 drivers/net/ethernet/sfc/mcdi.c 			(void) efx_mcdi_complete_sync(mcdi);
mcdi              609 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = from_timer(mcdi, t, async_timer);
mcdi              611 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_complete_async(mcdi, true);
mcdi              655 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              659 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_POLL)
mcdi              667 drivers/net/ethernet/sfc/mcdi.c 			  cmd, (int)inlen, mcdi->mode);
mcdi              669 drivers/net/ethernet/sfc/mcdi.c 		if (mcdi->mode == MCDI_MODE_EVENTS && efx_mcdi_poll_once(efx)) {
mcdi              681 drivers/net/ethernet/sfc/mcdi.c 		spin_lock_bh(&mcdi->iface_lock);
mcdi              682 drivers/net/ethernet/sfc/mcdi.c 		++mcdi->seqno;
mcdi              683 drivers/net/ethernet/sfc/mcdi.c 		++mcdi->credits;
mcdi              684 drivers/net/ethernet/sfc/mcdi.c 		spin_unlock_bh(&mcdi->iface_lock);
mcdi              700 drivers/net/ethernet/sfc/mcdi.c 		spin_lock_bh(&mcdi->iface_lock);
mcdi              701 drivers/net/ethernet/sfc/mcdi.c 		rc = mcdi->resprc;
mcdi              703 drivers/net/ethernet/sfc/mcdi.c 			*raw_rc = mcdi->resprc_raw;
mcdi              704 drivers/net/ethernet/sfc/mcdi.c 		hdr_len = mcdi->resp_hdr_len;
mcdi              705 drivers/net/ethernet/sfc/mcdi.c 		data_len = mcdi->resp_data_len;
mcdi              707 drivers/net/ethernet/sfc/mcdi.c 		spin_unlock_bh(&mcdi->iface_lock);
mcdi              730 drivers/net/ethernet/sfc/mcdi.c 			mcdi->proxy_rx_status = 0;
mcdi              731 drivers/net/ethernet/sfc/mcdi.c 			mcdi->proxy_rx_handle = 0;
mcdi              732 drivers/net/ethernet/sfc/mcdi.c 			mcdi->state = MCDI_STATE_PROXY_WAIT;
mcdi              741 drivers/net/ethernet/sfc/mcdi.c 			mcdi->new_epoch = true;
mcdi              746 drivers/net/ethernet/sfc/mcdi.c 		efx_mcdi_release(mcdi);
mcdi              750 drivers/net/ethernet/sfc/mcdi.c static void efx_mcdi_proxy_abort(struct efx_mcdi_iface *mcdi)
mcdi              752 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->state == MCDI_STATE_PROXY_WAIT) {
mcdi              754 drivers/net/ethernet/sfc/mcdi.c 		mcdi->proxy_rx_status = -EINTR;
mcdi              755 drivers/net/ethernet/sfc/mcdi.c 		wake_up(&mcdi->proxy_rx_wq);
mcdi              762 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              764 drivers/net/ethernet/sfc/mcdi.c 	WARN_ON(mcdi->state != MCDI_STATE_PROXY_WAIT);
mcdi              766 drivers/net/ethernet/sfc/mcdi.c 	mcdi->proxy_rx_status = efx_mcdi_errno(status);
mcdi              771 drivers/net/ethernet/sfc/mcdi.c 	mcdi->proxy_rx_handle = handle;
mcdi              772 drivers/net/ethernet/sfc/mcdi.c 	wake_up(&mcdi->proxy_rx_wq);
mcdi              777 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              781 drivers/net/ethernet/sfc/mcdi.c 	rc = wait_event_timeout(mcdi->proxy_rx_wq,
mcdi              782 drivers/net/ethernet/sfc/mcdi.c 				mcdi->proxy_rx_handle != 0 ||
mcdi              783 drivers/net/ethernet/sfc/mcdi.c 				mcdi->proxy_rx_status == -EINTR,
mcdi              790 drivers/net/ethernet/sfc/mcdi.c 	} else if (mcdi->proxy_rx_handle != handle) {
mcdi              793 drivers/net/ethernet/sfc/mcdi.c 			   mcdi->proxy_rx_handle, handle);
mcdi              797 drivers/net/ethernet/sfc/mcdi.c 	return mcdi->proxy_rx_status;
mcdi              826 drivers/net/ethernet/sfc/mcdi.c 		struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              838 drivers/net/ethernet/sfc/mcdi.c 			mcdi->state = MCDI_STATE_RUNNING_SYNC;
mcdi              851 drivers/net/ethernet/sfc/mcdi.c 			efx_mcdi_release(mcdi);
mcdi              954 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi              964 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_FAIL)
mcdi              967 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_acquire_sync(mcdi);
mcdi              978 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             1002 drivers/net/ethernet/sfc/mcdi.c 	spin_lock_bh(&mcdi->async_lock);
mcdi             1004 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_EVENTS) {
mcdi             1005 drivers/net/ethernet/sfc/mcdi.c 		list_add_tail(&async->list, &mcdi->async_list);
mcdi             1010 drivers/net/ethernet/sfc/mcdi.c 		if (mcdi->async_list.next == &async->list &&
mcdi             1011 drivers/net/ethernet/sfc/mcdi.c 		    efx_mcdi_acquire_async(mcdi)) {
mcdi             1013 drivers/net/ethernet/sfc/mcdi.c 			mod_timer(&mcdi->async_timer,
mcdi             1021 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock_bh(&mcdi->async_lock);
mcdi             1101 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi;
mcdi             1103 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi             1106 drivers/net/ethernet/sfc/mcdi.c 	mcdi = efx_mcdi(efx);
mcdi             1111 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_POLL || mcdi->mode == MCDI_MODE_FAIL)
mcdi             1122 drivers/net/ethernet/sfc/mcdi.c 	mcdi->mode = MCDI_MODE_POLL;
mcdi             1124 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_complete_sync(mcdi);
mcdi             1133 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi;
mcdi             1135 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi             1138 drivers/net/ethernet/sfc/mcdi.c 	mcdi = efx_mcdi(efx);
mcdi             1141 drivers/net/ethernet/sfc/mcdi.c 	BUG_ON(mcdi->mode == MCDI_MODE_EVENTS);
mcdi             1143 drivers/net/ethernet/sfc/mcdi.c 	del_timer_sync(&mcdi->async_timer);
mcdi             1149 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->state == MCDI_STATE_RUNNING_ASYNC) {
mcdi             1151 drivers/net/ethernet/sfc/mcdi.c 		mcdi->state = MCDI_STATE_QUIESCENT;
mcdi             1159 drivers/net/ethernet/sfc/mcdi.c 	list_for_each_entry_safe(async, next, &mcdi->async_list, list) {
mcdi             1169 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi;
mcdi             1171 drivers/net/ethernet/sfc/mcdi.c 	if (!efx->mcdi)
mcdi             1174 drivers/net/ethernet/sfc/mcdi.c 	mcdi = efx_mcdi(efx);
mcdi             1179 drivers/net/ethernet/sfc/mcdi.c 	if (mcdi->mode == MCDI_MODE_EVENTS || mcdi->mode == MCDI_MODE_FAIL)
mcdi             1189 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_acquire_sync(mcdi);
mcdi             1190 drivers/net/ethernet/sfc/mcdi.c 	mcdi->mode = MCDI_MODE_EVENTS;
mcdi             1191 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_release(mcdi);
mcdi             1196 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             1222 drivers/net/ethernet/sfc/mcdi.c 	spin_lock(&mcdi->iface_lock);
mcdi             1223 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_proxy_abort(mcdi);
mcdi             1225 drivers/net/ethernet/sfc/mcdi.c 	if (efx_mcdi_complete_sync(mcdi)) {
mcdi             1226 drivers/net/ethernet/sfc/mcdi.c 		if (mcdi->mode == MCDI_MODE_EVENTS) {
mcdi             1227 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resprc = rc;
mcdi             1228 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_hdr_len = 0;
mcdi             1229 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_data_len = 0;
mcdi             1230 drivers/net/ethernet/sfc/mcdi.c 			++mcdi->credits;
mcdi             1252 drivers/net/ethernet/sfc/mcdi.c 		mcdi->new_epoch = true;
mcdi             1258 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock(&mcdi->iface_lock);
mcdi             1268 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             1270 drivers/net/ethernet/sfc/mcdi.c 	spin_lock(&mcdi->iface_lock);
mcdi             1272 drivers/net/ethernet/sfc/mcdi.c 	efx_mcdi_proxy_abort(mcdi);
mcdi             1274 drivers/net/ethernet/sfc/mcdi.c 	if (efx_mcdi_complete_sync(mcdi)) {
mcdi             1275 drivers/net/ethernet/sfc/mcdi.c 		if (mcdi->mode == MCDI_MODE_EVENTS) {
mcdi             1276 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resprc = -EIO;
mcdi             1277 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_hdr_len = 0;
mcdi             1278 drivers/net/ethernet/sfc/mcdi.c 			mcdi->resp_data_len = 0;
mcdi             1279 drivers/net/ethernet/sfc/mcdi.c 			++mcdi->credits;
mcdi             1282 drivers/net/ethernet/sfc/mcdi.c 	mcdi->new_epoch = true;
mcdi             1284 drivers/net/ethernet/sfc/mcdi.c 	spin_unlock(&mcdi->iface_lock);
mcdi             1292 drivers/net/ethernet/sfc/mcdi.c 	struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             1294 drivers/net/ethernet/sfc/mcdi.c 	if (xchg(&mcdi->mode, MCDI_MODE_FAIL) == MCDI_MODE_FAIL)
mcdi             1489 drivers/net/ethernet/sfc/mcdi.c 			efx->mcdi->fn_flags =
mcdi             1494 drivers/net/ethernet/sfc/mcdi.c 			efx->mcdi->fn_flags =
mcdi             1866 drivers/net/ethernet/sfc/mcdi.c 		if (efx->mcdi) {
mcdi             1867 drivers/net/ethernet/sfc/mcdi.c 			struct efx_mcdi_iface *mcdi = efx_mcdi(efx);
mcdi             1868 drivers/net/ethernet/sfc/mcdi.c 			mcdi->mode = MCDI_MODE_POLL;
mcdi              129 drivers/net/ethernet/sfc/mcdi.h 	EFX_WARN_ON_PARANOID(!efx->mcdi);
mcdi              130 drivers/net/ethernet/sfc/mcdi.h 	return &efx->mcdi->iface;
mcdi              136 drivers/net/ethernet/sfc/mcdi.h 	EFX_WARN_ON_PARANOID(!efx->mcdi);
mcdi              137 drivers/net/ethernet/sfc/mcdi.h 	return &efx->mcdi->hwmon;
mcdi             1016 drivers/net/ethernet/sfc/net_driver.h 	struct efx_mcdi_data *mcdi;
mcdi             1497 drivers/net/ethernet/sfc/ptp.c 	if (efx->mcdi->fn_flags &