Lines Matching +full:local +full:- +full:timer +full:- +full:stop

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Maintained at www.Open-FCoE.org
11 #include <linux/timer.h>
43 * enum fc_lport_state - Local port states
49 * @LPORT_ST_RFF_ID: Register FC-4 Features by ID (RFF_ID) sent
54 * @LPORT_ST_LOGO: Local port logout (LOGO) sent
55 * @LPORT_ST_RESET: Local port reset
84 * enum fc_rport_state - Remote port states
86 * @RPORT_ST_FLOGI: Waiting for FLOGI completion for point-to-multipoint
87 * @RPORT_ST_PLOGI_WAIT: Waiting for peer to login for point-to-multipoint
108 * struct fc_disc_port - temporary discovery port to hold rport identifiers
122 * enum fc_rport_event - Remote port events
140 * struct fc_rport_operations - Operations for a remote port
149 * struct fc_rport_libfc_priv - libfc internal information about a remote port
150 * @local_port: The associated local port
169 * struct fc_rport_priv - libfc remote port and discovery info
170 * @local_port: The associated local port
188 * @rcu: Structure used for freeing in an RCU-safe manner
221 * struct fc_stats - fc stats structure
269 * struct fc_seq_els_data - ELS data used for passing ELS specific responses
281 * struct fc_fcp_pkt - FCP request structure (one for each scsi_cmnd request)
282 * @lp: The associated local port
289 * @timer: The command timer
346 struct timer_list timer; member
368 * struct fc_seq - FC sequence
372 * @rec_data: FC-4 value for REC
386 * struct fc_exch - Fibre Channel Exchange
395 * @lp: The local port that this exchange is on
404 * @encaps: encapsulation information for lower-level driver
411 * task that has been interrupted to execute the soft-IRQ
508 * If s_id is non-zero, reset only exchanges originating from that FID.
509 * If d_id is non-zero, reset only exchanges sending to that FID.
516 * Set the local port FC_ID.
519 * notified when the local port is assigned a FC-ID.
521 * The frame, if non-NULL, is the incoming frame with the
526 * If FC_ID is non-zero, r_a_tov and e_d_tov must be valid.
528 * Note: this is called with the local port mutex held.
564 * Abort all I/O on a local port
578 * Start discovery for a local port.
587 * Stop discovery for a given lport. This will remove
595 * Stop discovery for a given lport. This will block
605 * struct fc_disc - Discovery context
639 * Local port notifier and events.
648 * struct fc_lport - Local port
649 * @host: The SCSI host associated with a local port
662 * @boot_time: Timestamp indicating when the local port came online
664 * @stats: FC local port stats (TODO separate libfc LLD stats)
685 * @fcts: FC-4 type mask
686 * @lp_mutex: Mutex to protect the local port
688 * @retry_work: Handle to local port for delayed retry context
689 * @prov: Pointers available for use by passive FC-4 providers
690 * @lport_list: Linkage on module-wide list of local ports
754 * struct fc4_prov - FC-4 provider registration
770 * Register FC-4 provider with libfc.
780 * fc_lport_test_ready() - Determine if a local port is in the READY state
781 * @lport: The local port to test
785 return lport->state == LPORT_ST_READY; in fc_lport_test_ready()
789 * fc_set_wwnn() - Set the World Wide Node Name of a local port
790 * @lport: The local port whose WWNN is to be set
795 lport->wwnn = wwnn; in fc_set_wwnn()
799 * fc_set_wwpn() - Set the World Wide Port Name of a local port
800 * @lport: The local port whose WWPN is to be set
805 lport->wwpn = wwpn; in fc_set_wwpn()
809 * fc_lport_state_enter() - Change a local port's state
810 * @lport: The local port whose state is to change
816 if (state != lport->state) in fc_lport_state_enter()
817 lport->retry_count = 0; in fc_lport_state_enter()
818 lport->state = state; in fc_lport_state_enter()
822 * fc_lport_init_stats() - Allocate per-CPU statistics for a local port
823 * @lport: The local port whose statistics are to be initialized
827 lport->stats = alloc_percpu(struct fc_stats); in fc_lport_init_stats()
828 if (!lport->stats) in fc_lport_init_stats()
829 return -ENOMEM; in fc_lport_init_stats()
834 * fc_lport_free_stats() - Free memory for a local port's statistics
835 * @lport: The local port whose statistics are to be freed
839 free_percpu(lport->stats); in fc_lport_free_stats()
843 * lport_priv() - Return the private data from a local port
844 * @lport: The local port whose private data is to be retreived
852 * libfc_host_alloc() - Allocate a Scsi_Host with room for a local port and
869 lport->host = shost; in libfc_host_alloc()
870 INIT_LIST_HEAD(&lport->ema_list); in libfc_host_alloc()
871 INIT_LIST_HEAD(&lport->vports); in libfc_host_alloc()
880 if (fsp && fsp->cmd) in fc_fcp_is_read()
881 return fsp->cmd->sc_data_direction == DMA_FROM_DEVICE; in fc_fcp_is_read()
886 * LOCAL PORT LAYER