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
51 * @LPORT_ST_RFF_ID: Register FC-4 Features by ID (RFF_ID) sent
59 * @LPORT_ST_LOGO: Local port logout (LOGO) sent
60 * @LPORT_ST_RESET: Local port reset
89 * enum fc_rport_state - Remote port states
91 * @RPORT_ST_FLOGI: Waiting for FLOGI completion for point-to-multipoint
92 * @RPORT_ST_PLOGI_WAIT: Waiting for peer to login for point-to-multipoint
113 * struct fc_disc_port - temporary discovery port to hold rport identifiers
127 * enum fc_rport_event - Remote port events
145 * struct fc_rport_operations - Operations for a remote port
154 * struct fc_rport_libfc_priv - libfc internal information about a remote port
155 * @local_port: The associated local port
174 * struct fc_rport_priv - libfc remote port and discovery info
175 * @local_port: The associated local port
193 * @rcu: Structure used for freeing in an RCU-safe manner
226 * struct fc_stats - fc stats structure
274 * struct fc_seq_els_data - ELS data used for passing ELS specific responses
286 * struct fc_fcp_pkt - FCP request structure (one for each scsi_cmnd request)
287 * @lp: The associated local port
294 * @timer: The command timer
297 * @timer_delay: FCP packet timer delay in jiffies
352 struct timer_list timer; member
383 * struct fc_seq - FC sequence
387 * @rec_data: FC-4 value for REC
401 * struct fc_exch - Fibre Channel Exchange
410 * @lp: The local port that this exchange is on
419 * @encaps: encapsulation information for lower-level driver
426 * task that has been interrupted to execute the soft-IRQ
523 * If s_id is non-zero, reset only exchanges originating from that FID.
524 * If d_id is non-zero, reset only exchanges sending to that FID.
531 * Set the local port FC_ID.
534 * notified when the local port is assigned a FC-ID.
536 * The frame, if non-NULL, is the incoming frame with the
541 * If FC_ID is non-zero, r_a_tov and e_d_tov must be valid.
543 * Note: this is called with the local port mutex held.
579 * Abort all I/O on a local port
593 * Start discovery for a local port.
602 * Stop discovery for a given lport. This will remove
610 * Stop discovery for a given lport. This will block
620 * struct fc_disc - Discovery context
654 * Local port notifier and events.
663 * struct fc_lport - Local port
664 * @host: The SCSI host associated with a local port
677 * @boot_time: Timestamp indicating when the local port came online
679 * @stats: FC local port stats (TODO separate libfc LLD stats)
700 * @fcts: FC-4 type mask
701 * @lp_mutex: Mutex to protect the local port
703 * @retry_work: Handle to local port for delayed retry context
704 * @prov: Pointers available for use by passive FC-4 providers
705 * @lport_list: Linkage on module-wide list of local ports
769 * struct fc4_prov - FC-4 provider registration
785 * Register FC-4 provider with libfc.
795 * fc_lport_test_ready() - Determine if a local port is in the READY state
796 * @lport: The local port to test
798 * Returns: %true if local port is in the READY state, %false otherwise
802 return lport->state == LPORT_ST_READY; in fc_lport_test_ready()
806 * fc_set_wwnn() - Set the World Wide Node Name of a local port
807 * @lport: The local port whose WWNN is to be set
812 lport->wwnn = wwnn; in fc_set_wwnn()
816 * fc_set_wwpn() - Set the World Wide Port Name of a local port
817 * @lport: The local port whose WWPN is to be set
822 lport->wwpn = wwpn; in fc_set_wwpn()
826 * fc_lport_state_enter() - Change a local port's state
827 * @lport: The local port whose state is to change
833 if (state != lport->state) in fc_lport_state_enter()
834 lport->retry_count = 0; in fc_lport_state_enter()
835 lport->state = state; in fc_lport_state_enter()
839 * fc_lport_init_stats() - Allocate per-CPU statistics for a local port
840 * @lport: The local port whose statistics are to be initialized
842 * Returns: %0 on success, %-ENOMEM on failure
846 lport->stats = alloc_percpu(struct fc_stats); in fc_lport_init_stats()
847 if (!lport->stats) in fc_lport_init_stats()
848 return -ENOMEM; in fc_lport_init_stats()
853 * fc_lport_free_stats() - Free memory for a local port's statistics
854 * @lport: The local port whose statistics are to be freed
858 free_percpu(lport->stats); in fc_lport_free_stats()
862 * lport_priv() - Return the private data from a local port
863 * @lport: The local port whose private data is to be retrieved
865 * Returns: the local port's private data pointer
873 * libfc_host_alloc() - Allocate a Scsi_Host with room for a local port and
890 lport->host = shost; in libfc_host_alloc()
891 INIT_LIST_HEAD(&lport->ema_list); in libfc_host_alloc()
892 INIT_LIST_HEAD(&lport->vports); in libfc_host_alloc()
901 if (fsp && fsp->cmd) in fc_fcp_is_read()
902 return fsp->cmd->sc_data_direction == DMA_FROM_DEVICE; in fc_fcp_is_read()
907 * LOCAL PORT LAYER