Lines Matching refs:lport
84 struct fc_lport *lport; in fc_disc_recv_rscn_req() local
97 lport = fc_disc_lport(disc); in fc_disc_recv_rscn_req()
139 dp->lp = lport; in fc_disc_recv_rscn_req()
163 redisc = fc_disc_single(lport, dp); in fc_disc_recv_rscn_req()
172 redisc, lport->state, disc->pending); in fc_disc_recv_rscn_req()
193 static void fc_disc_recv_req(struct fc_lport *lport, struct fc_frame *fp) in fc_disc_recv_req() argument
196 struct fc_disc *disc = &lport->disc; in fc_disc_recv_req()
247 struct fc_lport *lport) in fc_disc_start() argument
249 struct fc_disc *disc = &lport->disc; in fc_disc_start()
269 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_done() local
302 disc->disc_callback(lport, event); in fc_disc_done()
313 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_error() local
330 delay = msecs_to_jiffies(lport->e_d_tov); in fc_disc_error()
357 struct fc_lport *lport = fc_disc_lport(disc); in fc_disc_gpn_ft_req() local
361 WARN_ON(!fc_lport_test_ready(lport)); in fc_disc_gpn_ft_req()
368 fp = fc_frame_alloc(lport, in fc_disc_gpn_ft_req()
374 if (lport->tt.elsct_send(lport, 0, fp, in fc_disc_gpn_ft_req()
377 disc, 3 * lport->r_a_tov)) in fc_disc_gpn_ft_req()
393 struct fc_lport *lport; in fc_disc_gpn_ft_parse() local
402 lport = fc_disc_lport(disc); in fc_disc_gpn_ft_parse()
446 if (ids.port_id != lport->port_id && in fc_disc_gpn_ft_parse()
447 ids.port_name != lport->wwpn) { in fc_disc_gpn_ft_parse()
448 rdata = fc_rport_create(lport, ids.port_id); in fc_disc_gpn_ft_parse()
585 struct fc_lport *lport; in fc_disc_gpn_id_resp() local
591 lport = rdata->local_port; in fc_disc_gpn_id_resp()
592 disc = &lport->disc; in fc_disc_gpn_id_resp()
617 mutex_lock(&lport->disc.disc_mutex); in fc_disc_gpn_id_resp()
618 new_rdata = fc_rport_create(lport, rdata->ids.port_id); in fc_disc_gpn_id_resp()
619 mutex_unlock(&lport->disc.disc_mutex); in fc_disc_gpn_id_resp()
652 static int fc_disc_gpn_id_req(struct fc_lport *lport, in fc_disc_gpn_id_req() argument
657 lockdep_assert_held(&lport->disc.disc_mutex); in fc_disc_gpn_id_req()
658 fp = fc_frame_alloc(lport, sizeof(struct fc_ct_hdr) + in fc_disc_gpn_id_req()
662 if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, in fc_disc_gpn_id_req()
664 3 * lport->r_a_tov)) in fc_disc_gpn_id_req()
675 static int fc_disc_single(struct fc_lport *lport, struct fc_disc_port *dp) in fc_disc_single() argument
679 lockdep_assert_held(&lport->disc.disc_mutex); in fc_disc_single()
681 rdata = fc_rport_create(lport, dp->port_id); in fc_disc_single()
685 return fc_disc_gpn_id_req(lport, rdata); in fc_disc_single()
692 static void fc_disc_stop(struct fc_lport *lport) in fc_disc_stop() argument
694 struct fc_disc *disc = &lport->disc; in fc_disc_stop()
710 static void fc_disc_stop_final(struct fc_lport *lport) in fc_disc_stop_final() argument
712 fc_disc_stop(lport); in fc_disc_stop_final()
721 void fc_disc_config(struct fc_lport *lport, void *priv) in fc_disc_config() argument
725 if (!lport->tt.disc_start) in fc_disc_config()
726 lport->tt.disc_start = fc_disc_start; in fc_disc_config()
728 if (!lport->tt.disc_stop) in fc_disc_config()
729 lport->tt.disc_stop = fc_disc_stop; in fc_disc_config()
731 if (!lport->tt.disc_stop_final) in fc_disc_config()
732 lport->tt.disc_stop_final = fc_disc_stop_final; in fc_disc_config()
734 if (!lport->tt.disc_recv_req) in fc_disc_config()
735 lport->tt.disc_recv_req = fc_disc_recv_req; in fc_disc_config()
737 disc = &lport->disc; in fc_disc_config()
747 void fc_disc_init(struct fc_lport *lport) in fc_disc_init() argument
749 struct fc_disc *disc = &lport->disc; in fc_disc_init()