qedf 209 drivers/scsi/qedf/qedf.h struct qedf_ctx *qedf; qedf 237 drivers/scsi/qedf/qedf.h struct qedf_ctx *qedf; qedf 244 drivers/scsi/qedf/qedf.h struct qedf_ctx *qedf; qedf 254 drivers/scsi/qedf/qedf.h struct qedf_ctx *qedf; qedf 430 drivers/scsi/qedf/qedf.h struct qedf_ctx *qedf; qedf 451 drivers/scsi/qedf/qedf.h static inline void qedf_stop_all_io(struct qedf_ctx *qedf) qedf 453 drivers/scsi/qedf/qedf.h set_bit(QEDF_DBG_STOP_IO, &qedf->flags); qedf 475 drivers/scsi/qedf/qedf.h extern struct qedf_cmd_mgr *qedf_cmd_mgr_alloc(struct qedf_ctx *qedf); qedf 481 drivers/scsi/qedf/qedf.h extern void qedf_fip_recv(struct qedf_ctx *qedf, struct sk_buff *skb); qedf 482 drivers/scsi/qedf/qedf.h extern void qedf_fcoe_send_vlan_req(struct qedf_ctx *qedf); qedf 483 drivers/scsi/qedf/qedf.h extern void qedf_scsi_completion(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 485 drivers/scsi/qedf/qedf.h extern void qedf_process_warning_compl(struct qedf_ctx *qedf, qedf 487 drivers/scsi/qedf/qedf.h extern void qedf_process_error_detect(struct qedf_ctx *qedf, qedf 493 drivers/scsi/qedf/qedf.h extern void qedf_process_abts_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 499 drivers/scsi/qedf/qedf.h extern void qedf_cmd_timer_set(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, qedf 506 drivers/scsi/qedf/qedf.h extern void qedf_process_els_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 512 drivers/scsi/qedf/qedf.h extern void qedf_process_cleanup_compl(struct qedf_ctx *qedf, qedf 515 drivers/scsi/qedf/qedf.h extern void qedf_process_tmf_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 517 drivers/scsi/qedf/qedf.h extern void qedf_process_cqe(struct qedf_ctx *qedf, struct fcoe_cqe *cqe); qedf 518 drivers/scsi/qedf/qedf.h extern void qedf_scsi_done(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, qedf 520 drivers/scsi/qedf/qedf.h extern void qedf_set_vlan_id(struct qedf_ctx *qedf, int vlan_id); qedf 521 drivers/scsi/qedf/qedf.h extern void qedf_create_sysfs_ctx_attr(struct qedf_ctx *qedf); qedf 522 drivers/scsi/qedf/qedf.h extern void qedf_remove_sysfs_ctx_attr(struct qedf_ctx *qedf); qedf 523 drivers/scsi/qedf/qedf.h extern void qedf_capture_grc_dump(struct qedf_ctx *qedf); qedf 524 drivers/scsi/qedf/qedf.h bool qedf_wait_for_upload(struct qedf_ctx *qedf); qedf 525 drivers/scsi/qedf/qedf.h extern void qedf_process_unsol_compl(struct qedf_ctx *qedf, uint16_t que_idx, qedf 531 drivers/scsi/qedf/qedf.h extern void qedf_process_seq_cleanup_compl(struct qedf_ctx *qedf, qedf 533 drivers/scsi/qedf/qedf.h extern int qedf_send_flogi(struct qedf_ctx *qedf); qedf 8 drivers/scsi/qedf/qedf_attr.c inline bool qedf_is_vport(struct qedf_ctx *qedf) qedf 10 drivers/scsi/qedf/qedf_attr.c return qedf->lport->vport != NULL; qedf 14 drivers/scsi/qedf/qedf_attr.c static struct qedf_ctx *qedf_get_base_qedf(struct qedf_ctx *qedf) qedf 19 drivers/scsi/qedf/qedf_attr.c if (!(qedf_is_vport(qedf))) qedf 22 drivers/scsi/qedf/qedf_attr.c lport = qedf->lport; qedf 50 drivers/scsi/qedf/qedf_attr.c struct qedf_ctx *qedf = lport_priv(lport); qedf 53 drivers/scsi/qedf/qedf_attr.c if (qedf_is_vport(qedf)) qedf 54 drivers/scsi/qedf/qedf_attr.c qedf = qedf_get_base_qedf(qedf); qedf 56 drivers/scsi/qedf/qedf_attr.c if (qedf->ctlr.sel_fcf) qedf 57 drivers/scsi/qedf/qedf_attr.c fka_period = qedf->ctlr.sel_fcf->fka_period; qedf 73 drivers/scsi/qedf/qedf_attr.c void qedf_capture_grc_dump(struct qedf_ctx *qedf) qedf 78 drivers/scsi/qedf/qedf_attr.c if (qedf_is_vport(qedf)) qedf 79 drivers/scsi/qedf/qedf_attr.c base_qedf = qedf_get_base_qedf(qedf); qedf 81 drivers/scsi/qedf/qedf_attr.c base_qedf = qedf; qedf 106 drivers/scsi/qedf/qedf_attr.c struct qedf_ctx *qedf = lport_priv(lport); qedf 108 drivers/scsi/qedf/qedf_attr.c if (test_bit(QEDF_GRCDUMP_CAPTURE, &qedf->flags)) { qedf 110 drivers/scsi/qedf/qedf_attr.c qedf->grcdump, qedf->grcdump_size); qedf 112 drivers/scsi/qedf/qedf_attr.c QEDF_ERR(&(qedf->dbg_ctx), "GRC Dump not captured!\n"); qedf 124 drivers/scsi/qedf/qedf_attr.c struct qedf_ctx *qedf = NULL; qedf 135 drivers/scsi/qedf/qedf_attr.c qedf = lport_priv(lport); qedf 140 drivers/scsi/qedf/qedf_attr.c QEDF_ERR(&(qedf->dbg_ctx), "Invalid input, err(%d)\n", ret); qedf 147 drivers/scsi/qedf/qedf_attr.c memset(qedf->grcdump, 0, qedf->grcdump_size); qedf 148 drivers/scsi/qedf/qedf_attr.c clear_bit(QEDF_GRCDUMP_CAPTURE, &qedf->flags); qedf 151 drivers/scsi/qedf/qedf_attr.c qedf_capture_grc_dump(qedf); qedf 173 drivers/scsi/qedf/qedf_attr.c void qedf_create_sysfs_ctx_attr(struct qedf_ctx *qedf) qedf 175 drivers/scsi/qedf/qedf_attr.c qedf_create_sysfs_attr(qedf->lport->host, bin_file_entries); qedf 178 drivers/scsi/qedf/qedf_attr.c void qedf_remove_sysfs_ctx_attr(struct qedf_ctx *qedf) qedf 180 drivers/scsi/qedf/qedf_attr.c qedf_remove_sysfs_attr(qedf->lport->host, bin_file_entries); qedf 10 drivers/scsi/qedf/qedf_dbg.c qedf_dbg_err(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 21 drivers/scsi/qedf/qedf_dbg.c if (likely(qedf) && likely(qedf->pdev)) qedf 22 drivers/scsi/qedf/qedf_dbg.c pr_err("[%s]:[%s:%d]:%d: %pV", dev_name(&(qedf->pdev->dev)), qedf 23 drivers/scsi/qedf/qedf_dbg.c func, line, qedf->host_no, &vaf); qedf 31 drivers/scsi/qedf/qedf_dbg.c qedf_dbg_warn(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 45 drivers/scsi/qedf/qedf_dbg.c if (likely(qedf) && likely(qedf->pdev)) qedf 46 drivers/scsi/qedf/qedf_dbg.c pr_warn("[%s]:[%s:%d]:%d: %pV", dev_name(&(qedf->pdev->dev)), qedf 47 drivers/scsi/qedf/qedf_dbg.c func, line, qedf->host_no, &vaf); qedf 56 drivers/scsi/qedf/qedf_dbg.c qedf_dbg_notice(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 70 drivers/scsi/qedf/qedf_dbg.c if (likely(qedf) && likely(qedf->pdev)) qedf 72 drivers/scsi/qedf/qedf_dbg.c dev_name(&(qedf->pdev->dev)), func, line, qedf 73 drivers/scsi/qedf/qedf_dbg.c qedf->host_no, &vaf); qedf 82 drivers/scsi/qedf/qedf_dbg.c qedf_dbg_info(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 96 drivers/scsi/qedf/qedf_dbg.c if (likely(qedf) && likely(qedf->pdev)) qedf 97 drivers/scsi/qedf/qedf_dbg.c pr_info("[%s]:[%s:%d]:%d: %pV", dev_name(&(qedf->pdev->dev)), qedf 98 drivers/scsi/qedf/qedf_dbg.c func, line, qedf->host_no, &vaf); qedf 82 drivers/scsi/qedf/qedf_dbg.h void qedf_dbg_err(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 85 drivers/scsi/qedf/qedf_dbg.h void qedf_dbg_warn(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 88 drivers/scsi/qedf/qedf_dbg.h void qedf_dbg_notice(struct qedf_dbg_ctx *qedf, const char *func, qedf 91 drivers/scsi/qedf/qedf_dbg.h void qedf_dbg_info(struct qedf_dbg_ctx *qedf, const char *func, u32 line, qedf 128 drivers/scsi/qedf/qedf_dbg.h ssize_t (*oper_func)(struct qedf_dbg_ctx *qedf); qedf 149 drivers/scsi/qedf/qedf_dbg.h extern void qedf_dbg_host_init(struct qedf_dbg_ctx *qedf, qedf 152 drivers/scsi/qedf/qedf_dbg.h extern void qedf_dbg_host_exit(struct qedf_dbg_ctx *qedf); qedf 22 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_host_init(struct qedf_dbg_ctx *qedf, qedf 28 drivers/scsi/qedf/qedf_debugfs.c QEDF_INFO(qedf, QEDF_LOG_DEBUGFS, "Creating debugfs host node\n"); qedf 30 drivers/scsi/qedf/qedf_debugfs.c sprintf(host_dirname, "host%u", qedf->host_no); qedf 31 drivers/scsi/qedf/qedf_debugfs.c qedf->bdf_dentry = debugfs_create_dir(host_dirname, qedf_dbg_root); qedf 38 drivers/scsi/qedf/qedf_debugfs.c debugfs_create_file(dops->name, 0600, qedf->bdf_dentry, qedf, qedf 108 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, qedf 115 drivers/scsi/qedf/qedf_debugfs.c for (id = 0; id < qedf->num_queues; id++) { qedf 116 drivers/scsi/qedf/qedf_debugfs.c fp = &(qedf->fp_array[id]); qedf 192 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, qedf 197 drivers/scsi/qedf/qedf_debugfs.c qedf->stop_io_on_error ? "true" : "false"); qedf 212 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, struct qedf_ctx, qedf 225 drivers/scsi/qedf/qedf_debugfs.c qedf->stop_io_on_error = false; qedf 227 drivers/scsi/qedf/qedf_debugfs.c qedf->stop_io_on_error = true; qedf 230 drivers/scsi/qedf/qedf_debugfs.c set_bit(QEDF_DBG_STOP_IO, &qedf->flags); qedf 240 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = s->private; qedf 241 drivers/scsi/qedf/qedf_debugfs.c struct qedf_dbg_ctx *qedf_dbg = &qedf->dbg_ctx; qedf 252 drivers/scsi/qedf/qedf_debugfs.c spin_lock_irqsave(&qedf->io_trace_lock, flags); qedf 253 drivers/scsi/qedf/qedf_debugfs.c idx = qedf->io_trace_idx; qedf 255 drivers/scsi/qedf/qedf_debugfs.c io_log = &qedf->io_trace_buf[idx]; qedf 277 drivers/scsi/qedf/qedf_debugfs.c spin_unlock_irqrestore(&qedf->io_trace_lock, flags); qedf 287 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, qedf 290 drivers/scsi/qedf/qedf_debugfs.c return single_open(file, qedf_io_trace_show, qedf); qedf 323 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = s->private; qedf 328 drivers/scsi/qedf/qedf_debugfs.c qedf->wwnn, qedf->wwpn); qedf 329 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "Host NPortID: %06x\n", qedf->lport->port_id); qedf 330 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "Link State: %s\n", atomic_read(&qedf->link_state) ? qedf 332 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "Logical Link State: %s\n", qedf->lport->link_up ? qedf 334 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "FIP state: %s\n", fip_state_names[qedf->ctlr.state]); qedf 335 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "FIP VLAN ID: %d\n", qedf->vlan_id & 0xfff); qedf 336 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "FIP 802.1Q Priority: %d\n", qedf->prio); qedf 337 drivers/scsi/qedf/qedf_debugfs.c if (qedf->ctlr.sel_fcf) { qedf 339 drivers/scsi/qedf/qedf_debugfs.c qedf->ctlr.sel_fcf->switch_name); qedf 340 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "FCF MAC: %pM\n", qedf->ctlr.sel_fcf->fcf_mac); qedf 347 drivers/scsi/qedf/qedf_debugfs.c atomic_read(&qedf->cmd_mgr->free_list_cnt)); qedf 348 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "slow SGEs: %d\n", qedf->slow_sge_ios); qedf 349 drivers/scsi/qedf/qedf_debugfs.c seq_printf(s, "fast SGEs: %d\n\n", qedf->fast_sge_ios); qedf 354 drivers/scsi/qedf/qedf_debugfs.c list_for_each_entry_rcu(fcport, &qedf->fcports, peers) { qedf 374 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, qedf 377 drivers/scsi/qedf/qedf_debugfs.c return single_open(file, qedf_driver_stats_show, qedf); qedf 399 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, struct qedf_ctx, qedf 408 drivers/scsi/qedf/qedf_debugfs.c qedf->slow_sge_ios = 0; qedf 409 drivers/scsi/qedf/qedf_debugfs.c qedf->fast_sge_ios = 0; qedf 417 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = s->private; qedf 422 drivers/scsi/qedf/qedf_debugfs.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate memory for " qedf 428 drivers/scsi/qedf/qedf_debugfs.c qed_ops->get_stats(qedf->cdev, fw_fcoe_stats); qedf 466 drivers/scsi/qedf/qedf_debugfs.c struct qedf_ctx *qedf = container_of(qedf_dbg, qedf 469 drivers/scsi/qedf/qedf_debugfs.c return single_open(file, qedf_offload_stats_show, qedf); qedf 473 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops(qedf, fp_int), qedf 474 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops_seq(qedf, io_trace), qedf 475 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops(qedf, debug), qedf 476 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops(qedf, stop_io_on_error), qedf 477 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops_seq(qedf, driver_stats), qedf 478 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops(qedf, clear_stats), qedf 479 drivers/scsi/qedf/qedf_debugfs.c qedf_dbg_fileops_seq(qedf, offload_stats), qedf 14 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 33 drivers/scsi/qedf/qedf_els.c qedf = fcport->qedf; qedf 34 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 36 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Sending ELS\n"); qedf 40 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "els 0x%x: rport not ready\n", op); qedf 45 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "els 0x%x: link is not ready\n", qedf 52 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "els 0x%x: fcport not ready\n", op); qedf 59 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_ELS, qedf 65 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "initiate_els els_req = " qedf 83 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "ELS MP request init failed\n"); qedf 94 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Invalid ELS op 0x%x\n", op); qedf 124 drivers/scsi/qedf/qedf_els.c task = qedf_get_task_mem(&qedf->tasks, xid); qedf 129 drivers/scsi/qedf/qedf_els.c qedf_cmd_timer_set(qedf, els_req, timer_msec); qedf 132 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Ringing doorbell for ELS " qedf 142 drivers/scsi/qedf/qedf_els.c void qedf_process_els_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 147 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Entered with xid = 0x%x" qedf 172 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 176 drivers/scsi/qedf/qedf_els.c qedf = rrq_req->fcport->qedf; qedf 178 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Entered.\n"); qedf 183 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&qedf->dbg_ctx, qedf 193 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "rrq_compl: orig io = %p," qedf 225 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 253 drivers/scsi/qedf/qedf_els.c if (!fcport->qedf) { qedf 258 drivers/scsi/qedf/qedf_els.c qedf = fcport->qedf; qedf 266 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_ELS, qedf 272 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 276 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Sending RRQ orig " qedf 283 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to allocate cb_arg for " qedf 302 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "RRQ failed - release orig io " qedf 314 drivers/scsi/qedf/qedf_els.c struct fc_lport *lport = fcport->qedf->lport; qedf 365 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "fcport %p already in reset or not offloaded.\n", qedf 382 drivers/scsi/qedf/qedf_els.c lport = fcport->qedf->lport; qedf 384 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), qedf 457 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "resp_len is " qedf 462 drivers/scsi/qedf/qedf_els.c fp = fc_frame_alloc(fcport->qedf->lport, resp_len); qedf 464 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), qedf 477 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(fcport->qedf->dbg_ctx), QEDF_LOG_ELS, qedf 489 drivers/scsi/qedf/qedf_els.c struct fc_lport *lport = fcport->qedf->lport; qedf 491 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 495 drivers/scsi/qedf/qedf_els.c qedf = fcport->qedf; qedf 500 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to allocate cb_arg for " qedf 507 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 517 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "ADISC failed.\n"); qedf 533 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 538 drivers/scsi/qedf/qedf_els.c qedf = srr_req->fcport->qedf; qedf 539 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 555 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Entered: orig_io=%p," qedf 561 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&qedf->dbg_ctx, qedf 574 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), qedf 590 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 594 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_ELS, qedf 611 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 631 drivers/scsi/qedf/qedf_els.c if (!fcport->qedf) { qedf 639 drivers/scsi/qedf/qedf_els.c qedf = fcport->qedf; qedf 640 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 643 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Sending SRR orig_io=%p, " qedf 649 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to allocate cb_arg for " qedf 668 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "SRR failed - release orig_io_req" qedf 692 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(fcport->qedf->dbg_ctx), QEDF_LOG_ELS, qedf 698 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "Unable to allocate cb_arg " qedf 711 drivers/scsi/qedf/qedf_els.c qedf_cmd_timer_set(fcport->qedf, orig_io_req, qedf 728 drivers/scsi/qedf/qedf_els.c void qedf_process_seq_cleanup_compl(struct qedf_ctx *qedf, qedf 738 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&qedf->dbg_ctx, qedf 748 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to send SRR, I/O will " qedf 769 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "sc_cmd is NULL for " qedf 776 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "Could not allocate new " qedf 796 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(fcport->qedf->dbg_ctx), "Unable to post io_req\n"); qedf 800 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(fcport->qedf->dbg_ctx), QEDF_LOG_ELS, qedf 828 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 839 drivers/scsi/qedf/qedf_els.c qedf = rec_req->fcport->qedf; qedf 840 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 854 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Entered: orig_io=%p," qedf 860 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&qedf->dbg_ctx, qedf 874 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), qedf 890 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 902 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 909 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 913 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 919 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 927 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 933 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 943 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 949 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 983 drivers/scsi/qedf/qedf_els.c struct qedf_ctx *qedf; qedf 1001 drivers/scsi/qedf/qedf_els.c if (!fcport->qedf) { qedf 1009 drivers/scsi/qedf/qedf_els.c qedf = fcport->qedf; qedf 1010 drivers/scsi/qedf/qedf_els.c lport = qedf->lport; qedf 1018 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to allocate cb_arg for " qedf 1032 drivers/scsi/qedf/qedf_els.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Sending REC orig_io=%p, " qedf 1040 drivers/scsi/qedf/qedf_els.c QEDF_ERR(&(qedf->dbg_ctx), "REC failed - release orig_io_req" qedf 15 drivers/scsi/qedf/qedf_fip.c void qedf_fcoe_send_vlan_req(struct qedf_ctx *qedf) qedf 27 drivers/scsi/qedf/qedf_fip.c QEDF_ERR(&qedf->dbg_ctx, qedf 36 drivers/scsi/qedf/qedf_fip.c ether_addr_copy(vlan->eth.h_source, qedf->mac); qedf 47 drivers/scsi/qedf/qedf_fip.c ether_addr_copy(vlan->desc.mac.fd_mac, qedf->mac); qedf 51 drivers/scsi/qedf/qedf_fip.c put_unaligned_be64(qedf->lport->wwnn, &vlan->desc.wwnn.fd_wwn); qedf 58 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "Sending FIP VLAN " qedf 61 drivers/scsi/qedf/qedf_fip.c if (atomic_read(&qedf->link_state) != QEDF_LINK_UP) { qedf 62 drivers/scsi/qedf/qedf_fip.c QEDF_WARN(&(qedf->dbg_ctx), "Cannot send vlan request " qedf 70 drivers/scsi/qedf/qedf_fip.c rc = qed_ops->ll2->start_xmit(qedf->cdev, skb, flags); qedf 72 drivers/scsi/qedf/qedf_fip.c QEDF_ERR(&qedf->dbg_ctx, "start_xmit failed rc = %d.\n", rc); qedf 79 drivers/scsi/qedf/qedf_fip.c static void qedf_fcoe_process_vlan_resp(struct qedf_ctx *qedf, qedf 103 drivers/scsi/qedf/qedf_fip.c if (atomic_read(&qedf->link_state) == QEDF_LINK_DOWN) { qedf 104 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 109 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "VLAN response, " qedf 112 drivers/scsi/qedf/qedf_fip.c if (vid > 0 && qedf->vlan_id != vid) { qedf 113 drivers/scsi/qedf/qedf_fip.c qedf_set_vlan_id(qedf, vid); qedf 116 drivers/scsi/qedf/qedf_fip.c if (!completion_done(&qedf->fipvlan_compl)) qedf 117 drivers/scsi/qedf/qedf_fip.c complete(&qedf->fipvlan_compl); qedf 123 drivers/scsi/qedf/qedf_fip.c struct qedf_ctx *qedf = container_of(fip, struct qedf_ctx, ctlr); qedf 130 drivers/scsi/qedf/qedf_fip.c if (!test_bit(QEDF_LL2_STARTED, &qedf->flags)) { qedf 131 drivers/scsi/qedf/qedf_fip.c QEDF_WARN(&(qedf->dbg_ctx), "LL2 not started\n"); qedf 145 drivers/scsi/qedf/qedf_fip.c __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), qedf->vlan_id); qedf 150 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, "FIP frame send: " qedf 157 drivers/scsi/qedf/qedf_fip.c rc = qed_ops->ll2->start_xmit(qedf->cdev, skb, 0); qedf 159 drivers/scsi/qedf/qedf_fip.c QEDF_ERR(&qedf->dbg_ctx, "start_xmit failed rc = %d.\n", rc); qedf 168 drivers/scsi/qedf/qedf_fip.c void qedf_fip_recv(struct qedf_ctx *qedf, struct sk_buff *skb) qedf 191 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_LL2, qedf 199 drivers/scsi/qedf/qedf_fip.c if (!ether_addr_equal(eth_hdr->h_dest, qedf->mac) && qedf 201 drivers/scsi/qedf/qedf_fip.c !ether_addr_equal(eth_hdr->h_dest, qedf->data_src_addr)) { qedf 202 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_LL2, qedf 204 drivers/scsi/qedf/qedf_fip.c op, eth_hdr->h_dest, qedf->mac, qedf 205 drivers/scsi/qedf/qedf_fip.c qedf->data_src_addr); qedf 212 drivers/scsi/qedf/qedf_fip.c qedf_fcoe_process_vlan_resp(qedf, skb); qedf 215 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "Clear virtual " qedf 219 drivers/scsi/qedf/qedf_fip.c if (qedf->ctlr.sel_fcf == NULL) { qedf 220 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 238 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 241 drivers/scsi/qedf/qedf_fip.c qedf->ctlr.sel_fcf->fcf_mac)) qedf 247 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 250 drivers/scsi/qedf/qedf_fip.c qedf->ctlr.sel_fcf->switch_name); qedf 252 drivers/scsi/qedf/qedf_fip.c qedf->ctlr.sel_fcf->switch_name) qedf 259 drivers/scsi/qedf/qedf_fip.c QEDF_ERR(&qedf->dbg_ctx, qedf 267 drivers/scsi/qedf/qedf_fip.c qedf->wwpn) || qedf 269 drivers/scsi/qedf/qedf_fip.c qedf->lport->port_id) || qedf 271 drivers/scsi/qedf/qedf_fip.c qedf->data_src_addr))) { qedf 283 drivers/scsi/qedf/qedf_fip.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 287 drivers/scsi/qedf/qedf_fip.c qedf_ctx_soft_reset(qedf->lport); qedf 292 drivers/scsi/qedf/qedf_fip.c fcoe_ctlr_recv(&qedf->ctlr, skb); qedf 298 drivers/scsi/qedf/qedf_fip.c struct qedf_ctx *qedf = lport_priv(lport); qedf 300 drivers/scsi/qedf/qedf_fip.c return qedf->data_src_addr; qedf 11 drivers/scsi/qedf/qedf_io.c void qedf_cmd_timer_set(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, qedf 14 drivers/scsi/qedf/qedf_io.c queue_delayed_work(qedf->timer_work_queue, &io_req->timeout_work, qedf 23 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf; qedf 38 drivers/scsi/qedf/qedf_io.c qedf = fcport->qedf; qedf 42 drivers/scsi/qedf/qedf_io.c if (qedf == NULL) { qedf 49 drivers/scsi/qedf/qedf_io.c QEDF_ERR((&qedf->dbg_ctx), "ABTS timeout, xid=0x%x.\n", qedf 72 drivers/scsi/qedf/qedf_io.c if (!qedf) { qedf 87 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "ELS timeout, xid=0x%x.\n", qedf 100 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Sequence cleanup timeout, " qedf 104 drivers/scsi/qedf/qedf_io.c qedf_process_seq_cleanup_compl(qedf, NULL, io_req); qedf 107 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 116 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = cmgr->qedf; qedf 128 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "io_bdt_pool is NULL.\n"); qedf 136 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, bd_tbl_sz, qedf 159 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, qedf 179 drivers/scsi/qedf/qedf_io.c struct qedf_cmd_mgr *qedf_cmd_mgr_alloc(struct qedf_ctx *qedf) qedf 191 drivers/scsi/qedf/qedf_io.c if (!qedf->num_queues) { qedf 192 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "num_queues is not set.\n"); qedf 197 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "Invalid min_xid 0x%x and " qedf 202 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "min xid 0x%x, max xid " qedf 209 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "Failed to alloc cmd mgr.\n"); qedf 213 drivers/scsi/qedf/qedf_io.c cmgr->qedf = qedf; qedf 230 drivers/scsi/qedf/qedf_io.c io_req->sense_buffer = dma_alloc_coherent(&qedf->pdev->dev, qedf 234 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 243 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), qedf 256 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), qedf 268 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "Failed to alloc io_bdt_pool.\n"); qedf 276 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), qedf 284 drivers/scsi/qedf/qedf_io.c bdt_info->bd_tbl = dma_alloc_coherent(&qedf->pdev->dev, qedf 288 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), qedf 294 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 307 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = fcport->qedf; qedf 308 drivers/scsi/qedf/qedf_io.c struct qedf_cmd_mgr *cmd_mgr = qedf->cmd_mgr; qedf 319 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 328 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 336 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 360 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 389 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "bd_tbl is NULL, xid=%x.\n", xid); qedf 406 drivers/scsi/qedf/qedf_io.c qedf->alloc_failures++; qedf 413 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; qedf 418 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, sz, qedf 423 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, sz, qedf 428 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, QEDF_PAGE_SIZE, qedf 433 drivers/scsi/qedf/qedf_io.c dma_free_coherent(&qedf->pdev->dev, QEDF_PAGE_SIZE, qedf 448 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&fcport->qedf->dbg_ctx, qedf 462 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(fcport->qedf->dbg_ctx), "active_ios < 0.\n"); qedf 483 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = lport_priv(lport); qedf 493 drivers/scsi/qedf/qedf_io.c sg_count = dma_map_sg(&qedf->pdev->dev, scsi_sglist(sc), qedf 529 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "byte_count = %d != " qedf 604 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = fcport->qedf; qedf 605 drivers/scsi/qedf/qedf_io.c uint16_t cq_idx = smp_processor_id() % qedf->num_queues; qedf 679 drivers/scsi/qedf/qedf_io.c qedf->slow_sge_ios++; qedf 681 drivers/scsi/qedf/qedf_io.c qedf->fast_sge_ios++; qedf 689 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; qedf 695 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 699 drivers/scsi/qedf/qedf_io.c qedf->control_requests++; qedf 811 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = fcport->qedf; qedf 817 drivers/scsi/qedf/qedf_io.c spin_lock_irqsave(&qedf->io_trace_lock, flags); qedf 819 drivers/scsi/qedf/qedf_io.c io_log = &qedf->io_trace_buf[qedf->io_trace_idx]; qedf 848 drivers/scsi/qedf/qedf_io.c qedf->io_trace_idx++; qedf 849 drivers/scsi/qedf/qedf_io.c if (qedf->io_trace_idx == QEDF_IO_TRACE_SIZE) qedf 850 drivers/scsi/qedf/qedf_io.c qedf->io_trace_idx = 0; qedf 852 drivers/scsi/qedf/qedf_io.c spin_unlock_irqrestore(&qedf->io_trace_lock, flags); qedf 860 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = lport_priv(lport); qedf 878 drivers/scsi/qedf/qedf_io.c qedf->input_requests++; qedf 882 drivers/scsi/qedf/qedf_io.c qedf->output_requests++; qedf 885 drivers/scsi/qedf/qedf_io.c qedf->control_requests++; qedf 892 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "BD list creation failed.\n"); qedf 901 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Session not offloaded yet.\n"); qedf 917 drivers/scsi/qedf/qedf_io.c task_ctx = qedf_get_task_mem(&qedf->tasks, xid); qedf 919 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "task_ctx is NULL, xid=%d.\n", qedf 945 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = lport_priv(lport); qedf 957 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 965 drivers/scsi/qedf/qedf_io.c if (test_bit(QEDF_UNLOADING, &qedf->flags) || qedf 966 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_DBG_STOP_IO, &qedf->flags)) { qedf 967 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 969 drivers/scsi/qedf/qedf_io.c qedf->flags); qedf 975 drivers/scsi/qedf/qedf_io.c if (!qedf->pdev->msix_enabled) { qedf 976 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 986 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 995 drivers/scsi/qedf/qedf_io.c if (test_bit(QEDF_DRAIN_ACTIVE, &qedf->flags)) { qedf 996 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Drain active.\n"); qedf 1002 drivers/scsi/qedf/qedf_io.c atomic_read(&qedf->link_state) != QEDF_LINK_UP) { qedf 1003 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Link down.\n"); qedf 1046 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "Unable to post io_req\n"); qedf 1062 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; qedf 1094 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 1101 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 1115 drivers/scsi/qedf/qedf_io.c static void qedf_unmap_sg_list(struct qedf_ctx *qedf, struct qedf_ioreq *io_req) qedf 1120 drivers/scsi/qedf/qedf_io.c dma_unmap_sg(&qedf->pdev->dev, scsi_sglist(sc), qedf 1126 drivers/scsi/qedf/qedf_io.c void qedf_scsi_completion(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 1146 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1153 drivers/scsi/qedf/qedf_io.c task_ctx = qedf_get_task_mem(&qedf->tasks, xid); qedf 1158 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "sc_cmd is NULL!\n"); qedf 1163 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "SCp.ptr is NULL, returned in " qedf 1169 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1175 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "sc_cmd->request is NULL, " qedf 1181 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "request->q is NULL so request " qedf 1195 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1203 drivers/scsi/qedf/qedf_io.c qedf_unmap_sg_list(qedf, io_req); qedf 1207 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), qedf 1218 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1245 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 1249 drivers/scsi/qedf/qedf_io.c qedf->lport->host->host_no, sc_cmd->device->id, qedf 1283 drivers/scsi/qedf/qedf_io.c qedf->task_set_fulls++; qedf 1285 drivers/scsi/qedf/qedf_io.c qedf->busy++; qedf 1292 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, "fcp_status=%d.\n", qedf 1314 drivers/scsi/qedf/qedf_io.c void qedf_scsi_done(struct qedf_ctx *qedf, struct qedf_ioreq *io_req, qedf 1322 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "io_req is NULL\n"); qedf 1327 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1343 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "sc_cmd is NULL!\n"); qedf 1348 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "sc_cmd=%p is not valid.", sc_cmd); qedf 1353 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "SCp.ptr is NULL, returned in " qedf 1359 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "Device for sc_cmd %p is NULL.\n", qedf 1365 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1371 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1378 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1385 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1391 drivers/scsi/qedf/qedf_io.c qedf_unmap_sg_list(qedf, io_req); qedf 1395 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, "%d:0:%d:%lld: Completing " qedf 1398 drivers/scsi/qedf/qedf_io.c qedf->lport->host->host_no, sc_cmd->device->id, qedf 1432 drivers/scsi/qedf/qedf_io.c void qedf_process_warning_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 1441 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1447 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "Warning CQE, " qedf 1449 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), qedf 1453 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "tx_buff_off=%08x, " qedf 1474 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "REC timer expired.\n"); qedf 1498 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to queue ABTS.\n"); qedf 1502 drivers/scsi/qedf/qedf_io.c void qedf_process_error_detect(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 1508 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1513 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "Error detection CQE, " qedf 1515 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), qedf 1519 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(io_req->fcport->qedf->dbg_ctx), "tx_buff_off=%08x, " qedf 1525 drivers/scsi/qedf/qedf_io.c if (qedf->stop_io_on_error) { qedf 1526 drivers/scsi/qedf/qedf_io.c qedf_stop_all_io(qedf); qedf 1533 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to queue ABTS.\n"); qedf 1536 drivers/scsi/qedf/qedf_io.c static void qedf_flush_els_req(struct qedf_ctx *qedf, qedf 1539 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 1568 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf; qedf 1587 drivers/scsi/qedf/qedf_io.c qedf = fcport->qedf; qedf 1589 drivers/scsi/qedf/qedf_io.c if (!qedf) { qedf 1598 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1611 drivers/scsi/qedf/qedf_io.c cmd_mgr = qedf->cmd_mgr; qedf 1613 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1617 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Locking flush mutex.\n"); qedf 1619 drivers/scsi/qedf/qedf_io.c mutex_lock(&qedf->flush_mutex); qedf 1640 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1660 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1670 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1686 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), qedf 1692 drivers/scsi/qedf/qedf_io.c qedf_flush_els_req(qedf, io_req); qedf 1704 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), qedf 1712 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1716 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1723 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1742 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1762 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Could not get kref for " qedf 1767 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 1779 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1786 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1792 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1804 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1823 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, "Unlocking flush mutex.\n"); qedf 1824 drivers/scsi/qedf/qedf_io.c mutex_unlock(&qedf->flush_mutex); qedf 1836 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf; qedf 1852 drivers/scsi/qedf/qedf_io.c qedf = fcport->qedf; qedf 1856 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "stale rport\n"); qedf 1862 drivers/scsi/qedf/qedf_io.c lport = qedf->lport; qedf 1865 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "link is not ready\n"); qedf 1870 drivers/scsi/qedf/qedf_io.c if (atomic_read(&qedf->link_down_tmo_valid) > 0) { qedf 1871 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "link_down_tmo active.\n"); qedf 1878 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "No SQ entries available\n"); qedf 1884 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "fcport is uploading.\n"); qedf 1892 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1902 drivers/scsi/qedf/qedf_io.c qedf->control_requests++; qedf 1903 drivers/scsi/qedf/qedf_io.c qedf->packet_aborts++; qedf 1911 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_SCSI_TM, qedf 1915 drivers/scsi/qedf/qedf_io.c qedf_cmd_timer_set(qedf, io_req, QEDF_ABORT_TIMEOUT); qedf 1935 drivers/scsi/qedf/qedf_io.c void qedf_process_abts_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 1943 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_SCSI_TM, "Entered with xid = " qedf 1954 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1966 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 1973 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 1979 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_SCSI_TM, qedf 1984 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_SCSI_TM, qedf 1993 drivers/scsi/qedf/qedf_io.c queue_delayed_work(qedf->dpc_wq, &io_req->rrq_work, qedf 1994 drivers/scsi/qedf/qedf_io.c msecs_to_jiffies(qedf->lport->r_a_tov)); qedf 1999 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_SCSI_TM, qedf 2004 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Unknown ABTS response\n"); qedf 2012 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_SCSI_TM, qedf 2016 drivers/scsi/qedf/qedf_io.c qedf_scsi_done(qedf, io_req, DID_ERROR); qedf 2030 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = io_req->fcport->qedf; qedf 2034 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_MP_REQ, "Entered.\n"); qedf 2045 drivers/scsi/qedf/qedf_io.c mp_req->req_buf = dma_alloc_coherent(&qedf->pdev->dev, QEDF_PAGE_SIZE, qedf 2048 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to alloc MP req buffer\n"); qedf 2053 drivers/scsi/qedf/qedf_io.c mp_req->resp_buf = dma_alloc_coherent(&qedf->pdev->dev, qedf 2056 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to alloc TM resp " qedf 2064 drivers/scsi/qedf/qedf_io.c mp_req->mp_req_bd = dma_alloc_coherent(&qedf->pdev->dev, sz, qedf 2067 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to alloc MP req bd\n"); qedf 2072 drivers/scsi/qedf/qedf_io.c mp_req->mp_resp_bd = dma_alloc_coherent(&qedf->pdev->dev, sz, qedf 2075 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to alloc MP resp bd\n"); qedf 2105 drivers/scsi/qedf/qedf_io.c static void qedf_drain_request(struct qedf_ctx *qedf) qedf 2107 drivers/scsi/qedf/qedf_io.c if (test_bit(QEDF_DRAIN_ACTIVE, &qedf->flags)) { qedf 2108 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "MCP drain already active.\n"); qedf 2113 drivers/scsi/qedf/qedf_io.c set_bit(QEDF_DRAIN_ACTIVE, &qedf->flags); qedf 2116 drivers/scsi/qedf/qedf_io.c qed_ops->common->drain(qedf->cdev); qedf 2122 drivers/scsi/qedf/qedf_io.c clear_bit(QEDF_DRAIN_ACTIVE, &qedf->flags); qedf 2133 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf; qedf 2156 drivers/scsi/qedf/qedf_io.c qedf = fcport->qedf; qedf 2157 drivers/scsi/qedf/qedf_io.c if (!qedf) { qedf 2164 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "io_req xid=0x%x already in " qedf 2173 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "No SQ entries available\n"); qedf 2180 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 2189 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_IO, qedf 2199 drivers/scsi/qedf/qedf_io.c task = qedf_get_task_mem(&qedf->tasks, xid); qedf 2221 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Cleanup command timeout, " qedf 2225 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Issuing MCP drain request.\n"); qedf 2226 drivers/scsi/qedf/qedf_io.c qedf_drain_request(qedf); qedf 2241 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_SCSI_TM, qedf 2245 drivers/scsi/qedf/qedf_io.c qedf_scsi_done(qedf, io_req, DID_ERROR); qedf 2256 drivers/scsi/qedf/qedf_io.c void qedf_process_cleanup_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 2259 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, "Entered xid = 0x%x\n", qedf 2273 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf = fcport->qedf; qedf 2274 drivers/scsi/qedf/qedf_io.c struct fc_lport *lport = qedf->lport; qedf 2284 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "sc_cmd is NULL\n"); qedf 2290 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "fcport not offloaded\n"); qedf 2297 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Failed TMF"); qedf 2303 drivers/scsi/qedf/qedf_io.c qedf->lun_resets++; qedf 2305 drivers/scsi/qedf/qedf_io.c qedf->target_resets++; qedf 2326 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_SCSI_TM, "TMF io_req xid = " qedf 2330 drivers/scsi/qedf/qedf_io.c task = qedf_get_task_mem(&qedf->tasks, xid); qedf 2351 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "wait for tm_cmpl timeout!\n"); qedf 2367 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 2382 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "task mgmt command failed...\n"); qedf 2385 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "task mgmt command success...\n"); qedf 2396 drivers/scsi/qedf/qedf_io.c struct qedf_ctx *qedf; qedf 2443 drivers/scsi/qedf/qedf_io.c qedf = fcport->qedf; qedf 2445 drivers/scsi/qedf/qedf_io.c if (!qedf) { qedf 2452 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "Connection is getting uploaded.\n"); qedf 2457 drivers/scsi/qedf/qedf_io.c if (test_bit(QEDF_UNLOADING, &qedf->flags) || qedf 2458 drivers/scsi/qedf/qedf_io.c test_bit(QEDF_DBG_STOP_IO, &qedf->flags)) { qedf 2464 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "link is not ready\n"); qedf 2471 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, "fcport %p is uploading.\n", qedf 2474 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&qedf->dbg_ctx, qedf 2488 drivers/scsi/qedf/qedf_io.c void qedf_process_tmf_compl(struct qedf_ctx *qedf, struct fcoe_cqe *cqe, qedf 2502 drivers/scsi/qedf/qedf_io.c void qedf_process_unsol_compl(struct qedf_ctx *qedf, uint16_t que_idx, qedf 2517 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_UNSOL, qedf 2523 drivers/scsi/qedf/qedf_io.c qedf->bdq_prod_idx, pktlen); qedf 2527 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "bdq_idx is out of range %d.\n", qedf 2532 drivers/scsi/qedf/qedf_io.c bdq_addr = qedf->bdq[bdq_idx].buf_addr; qedf 2534 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "bdq_addr is NULL, dropping " qedf 2540 drivers/scsi/qedf/qedf_io.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_UNSOL, qedf 2548 drivers/scsi/qedf/qedf_io.c fp = fc_frame_alloc(qedf->lport, payload_len); qedf 2550 drivers/scsi/qedf/qedf_io.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate fp.\n"); qedf 2558 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&qedf->dbg_ctx, qedf 2566 drivers/scsi/qedf/qedf_io.c fr_dev(fp) = qedf->lport; qedf 2575 drivers/scsi/qedf/qedf_io.c io_work = mempool_alloc(qedf->io_mempool, GFP_ATOMIC); qedf 2577 drivers/scsi/qedf/qedf_io.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate " qedf 2589 drivers/scsi/qedf/qedf_io.c io_work->qedf = qedf; qedf 2594 drivers/scsi/qedf/qedf_io.c spin_lock_irqsave(&qedf->hba_lock, flags); qedf 2597 drivers/scsi/qedf/qedf_io.c qedf->bdq_prod_idx++; qedf 2600 drivers/scsi/qedf/qedf_io.c if (qedf->bdq_prod_idx == 0xffff) qedf 2601 drivers/scsi/qedf/qedf_io.c qedf->bdq_prod_idx = 0; qedf 2603 drivers/scsi/qedf/qedf_io.c writew(qedf->bdq_prod_idx, qedf->bdq_primary_prod); qedf 2604 drivers/scsi/qedf/qedf_io.c tmp = readw(qedf->bdq_primary_prod); qedf 2605 drivers/scsi/qedf/qedf_io.c writew(qedf->bdq_prod_idx, qedf->bdq_secondary_prod); qedf 2606 drivers/scsi/qedf/qedf_io.c tmp = readw(qedf->bdq_secondary_prod); qedf 2608 drivers/scsi/qedf/qedf_io.c spin_unlock_irqrestore(&qedf->hba_lock, flags); qedf 112 drivers/scsi/qedf/qedf_main.c void qedf_set_vlan_id(struct qedf_ctx *qedf, int vlan_id) qedf 116 drivers/scsi/qedf/qedf_main.c vlan_id_tmp = vlan_id | (qedf->prio << VLAN_PRIO_SHIFT); qedf 117 drivers/scsi/qedf/qedf_main.c qedf->vlan_id = vlan_id_tmp; qedf 118 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 120 drivers/scsi/qedf/qedf_main.c vlan_id_tmp, qedf->prio); qedf 124 drivers/scsi/qedf/qedf_main.c static bool qedf_initiate_fipvlan_req(struct qedf_ctx *qedf) qedf 127 drivers/scsi/qedf/qedf_main.c while (qedf->fipvlan_retries--) { qedf 129 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_DOWN) { qedf 130 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Link not up.\n"); qedf 134 drivers/scsi/qedf/qedf_main.c if (test_bit(QEDF_UNLOADING, &qedf->flags)) { qedf 135 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Driver unloading.\n"); qedf 139 drivers/scsi/qedf/qedf_main.c if (qedf->vlan_id > 0) { qedf 140 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 142 drivers/scsi/qedf/qedf_main.c qedf->vlan_id); qedf 143 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_UP) qedf 144 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_up(&qedf->ctlr); qedf 148 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 149 drivers/scsi/qedf/qedf_main.c "Retry %d.\n", qedf->fipvlan_retries); qedf 150 drivers/scsi/qedf/qedf_main.c init_completion(&qedf->fipvlan_compl); qedf 151 drivers/scsi/qedf/qedf_main.c qedf_fcoe_send_vlan_req(qedf); qedf 152 drivers/scsi/qedf/qedf_main.c wait_for_completion_timeout(&qedf->fipvlan_compl, 1 * HZ); qedf 160 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = qedf 164 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, "Entered. link_state=%d.\n", qedf 165 drivers/scsi/qedf/qedf_main.c atomic_read(&qedf->link_state)); qedf 167 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_UP) { qedf 168 drivers/scsi/qedf/qedf_main.c rc = qedf_initiate_fipvlan_req(qedf); qedf 172 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) != QEDF_LINK_UP) { qedf 173 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 175 drivers/scsi/qedf/qedf_main.c qedf->vlan_id = 0; qedf 184 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Did not receive FIP VLAN " qedf 187 drivers/scsi/qedf/qedf_main.c qedf_set_vlan_id(qedf, qedf_fallback_vlan); qedf 193 drivers/scsi/qedf/qedf_main.c eth_zero_addr(qedf->data_src_addr); qedf 194 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_up(&qedf->ctlr); qedf 195 drivers/scsi/qedf/qedf_main.c } else if (atomic_read(&qedf->link_state) == QEDF_LINK_DOWN) { qedf 201 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_down_tmo_valid, 0); qedf 202 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 204 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_down(&qedf->ctlr); qedf 205 drivers/scsi/qedf/qedf_main.c if (qedf_wait_for_upload(qedf) == false) qedf 206 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 209 drivers/scsi/qedf/qedf_main.c qedf->fipvlan_retries = qedf_fipvlan_retries; qedf 216 drivers/scsi/qedf/qedf_main.c static void qedf_set_data_src_addr(struct qedf_ctx *qedf, struct fc_frame *fp) qedf 237 drivers/scsi/qedf/qedf_main.c ether_addr_copy(qedf->data_src_addr, granted_mac); qedf 239 drivers/scsi/qedf/qedf_main.c } else if (qedf->ctlr.sel_fcf->fc_map != 0) { qedf 240 drivers/scsi/qedf/qedf_main.c hton24(fc_map, qedf->ctlr.sel_fcf->fc_map); qedf 241 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[0] = fc_map[0]; qedf 242 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[1] = fc_map[1]; qedf 243 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[2] = fc_map[2]; qedf 244 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[3] = fh->fh_d_id[0]; qedf 245 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[4] = fh->fh_d_id[1]; qedf 246 drivers/scsi/qedf/qedf_main.c qedf->data_src_addr[5] = fh->fh_d_id[2]; qedf 249 drivers/scsi/qedf/qedf_main.c fc_fcoe_set_mac(qedf->data_src_addr, fh->fh_d_id); qedf 253 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 254 drivers/scsi/qedf/qedf_main.c "QEDF data_src_mac=%pM method=%d.\n", qedf->data_src_addr, method); qedf 262 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = lport_priv(lport); qedf 264 drivers/scsi/qedf/qedf_main.c if (!qedf) { qedf 274 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 281 drivers/scsi/qedf/qedf_main.c qedf->flogi_failed++; qedf 284 drivers/scsi/qedf/qedf_main.c qedf_set_data_src_addr(qedf, fp); qedf 288 drivers/scsi/qedf/qedf_main.c complete(&qedf->flogi_compl); qedf 302 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = lport_priv(lport); qedf 309 drivers/scsi/qedf/qedf_main.c qedf->flogi_cnt++; qedf 317 drivers/scsi/qedf/qedf_main.c int qedf_send_flogi(struct qedf_ctx *qedf) qedf 322 drivers/scsi/qedf/qedf_main.c lport = qedf->lport; qedf 325 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "tt.elsct_send not set.\n"); qedf 331 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "fc_frame_alloc failed.\n"); qedf 335 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, qedf 340 drivers/scsi/qedf/qedf_main.c init_completion(&qedf->flogi_compl); qedf 352 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = qedf 354 drivers/scsi/qedf/qedf_main.c struct fc_lport *lport = qedf->lport; qedf 363 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 370 drivers/scsi/qedf/qedf_main.c qedf->ctlr.state = FIP_ST_LINK_WAIT; qedf 371 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_down(&qedf->ctlr); qedf 377 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_up(&qedf->ctlr); qedf 380 drivers/scsi/qedf/qedf_main.c qedf->fipvlan_retries = qedf_fipvlan_retries; qedf 381 drivers/scsi/qedf/qedf_main.c rc = qedf_initiate_fipvlan_req(qedf); qedf 384 drivers/scsi/qedf/qedf_main.c qedf_set_vlan_id(qedf, qedf_fallback_vlan); qedf 391 drivers/scsi/qedf/qedf_main.c if (qedf->ctlr.sel_fcf) { qedf 392 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 401 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Exhausted retries waiting for " qedf 406 drivers/scsi/qedf/qedf_main.c rval = qedf_send_flogi(qedf); qedf 411 drivers/scsi/qedf/qedf_main.c i = wait_for_completion_timeout(&qedf->flogi_compl, qedf 412 drivers/scsi/qedf/qedf_main.c qedf->lport->r_a_tov); qedf 414 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "FLOGI timed out.\n"); qedf 432 drivers/scsi/qedf/qedf_main.c static void qedf_update_link_speed(struct qedf_ctx *qedf, qedf 435 drivers/scsi/qedf/qedf_main.c struct fc_lport *lport = qedf->lport; qedf 508 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = (struct qedf_ctx *)dev; qedf 514 drivers/scsi/qedf/qedf_main.c if (test_bit(QEDF_UNLOADING, &qedf->flags)) { qedf 515 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 521 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_UP) { qedf 522 drivers/scsi/qedf/qedf_main.c QEDF_INFO((&qedf->dbg_ctx), QEDF_LOG_DISC, qedf 526 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "LINK UP (%d GB/s).\n", qedf 530 drivers/scsi/qedf/qedf_main.c cancel_delayed_work(&qedf->link_update); qedf 532 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_state, QEDF_LINK_UP); qedf 533 drivers/scsi/qedf/qedf_main.c qedf_update_link_speed(qedf, link); qedf 535 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->dcbx) == QEDF_DCBX_DONE || qedf 537 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 539 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_down_tmo_valid) > 0) qedf 540 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, qedf 541 drivers/scsi/qedf/qedf_main.c &qedf->link_recovery, 0); qedf 543 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, qedf 544 drivers/scsi/qedf/qedf_main.c &qedf->link_update, 0); qedf 545 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_down_tmo_valid, 0); qedf 549 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "LINK DOWN.\n"); qedf 551 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_state, QEDF_LINK_DOWN); qedf 552 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->dcbx, QEDF_DCBX_PENDING); qedf 558 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 560 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_down_tmo_valid, 1); qedf 562 drivers/scsi/qedf/qedf_main.c qedf->vlan_id = 0; qedf 563 drivers/scsi/qedf/qedf_main.c qedf_update_link_speed(qedf, link); qedf 564 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, &qedf->link_update, qedf 572 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = (struct qedf_ctx *)dev; qedf 575 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "DCBx event valid=%d enabled=%d fcoe " qedf 581 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->dcbx) == QEDF_DCBX_DONE) { qedf 582 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 587 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->dcbx, QEDF_DCBX_DONE); qedf 598 drivers/scsi/qedf/qedf_main.c qedf->prio = qedf_default_prio; qedf 600 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 603 drivers/scsi/qedf/qedf_main.c qedf->prio = QEDF_DEFAULT_PRIO; qedf 605 drivers/scsi/qedf/qedf_main.c qedf->prio = tmp_prio; qedf 607 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_UP && qedf 609 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_down_tmo_valid) > 0) qedf 610 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, qedf 611 drivers/scsi/qedf/qedf_main.c &qedf->link_recovery, 0); qedf 613 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, qedf 614 drivers/scsi/qedf/qedf_main.c &qedf->link_update, 0); qedf 615 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_down_tmo_valid, 0); qedf 623 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 625 drivers/scsi/qedf/qedf_main.c qedf = (struct qedf_ctx *)cookie; qedf 626 drivers/scsi/qedf/qedf_main.c return qedf->flogi_failed; qedf 652 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 664 drivers/scsi/qedf/qedf_main.c qedf = (struct qedf_ctx *)lport_priv(lport); qedf 670 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "stale rport, sc_cmd=%p\n", sc_cmd); qedf 678 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 692 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 701 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 714 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 722 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "ABTS succeeded\n"); qedf 725 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "ABTS failed\n"); qedf 732 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "link not ready.\n"); qedf 736 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 741 drivers/scsi/qedf/qedf_main.c if (qedf->stop_io_on_error) { qedf 742 drivers/scsi/qedf/qedf_main.c qedf_stop_all_io(qedf); qedf 750 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to queue ABTS.\n"); qedf 756 drivers/scsi/qedf/qedf_main.c qedf_scsi_done(qedf, io_req, DID_ERROR); qedf 777 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "ABTS succeeded, xid=0x%x.\n", qedf 780 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "ABTS failed, xid=0x%x.\n", qedf 807 drivers/scsi/qedf/qedf_main.c bool qedf_wait_for_upload(struct qedf_ctx *qedf) qedf 813 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->num_offloads)) qedf 814 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 816 drivers/scsi/qedf/qedf_main.c atomic_read(&qedf->num_offloads)); qedf 823 drivers/scsi/qedf/qedf_main.c list_for_each_entry_rcu(fcport, &qedf->fcports, peers) { qedf 827 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 831 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 843 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 851 drivers/scsi/qedf/qedf_main.c qedf = lport_priv(lport); qedf 854 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_state, QEDF_LINK_DOWN); qedf 855 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 857 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, &qedf->link_update, qedf 860 drivers/scsi/qedf/qedf_main.c if (qedf_wait_for_upload(qedf) == false) { qedf 861 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Could not upload all sessions.\n"); qedf 862 drivers/scsi/qedf/qedf_main.c WARN_ON(atomic_read(&qedf->num_offloads)); qedf 866 drivers/scsi/qedf/qedf_main.c qed_ops->common->get_link(qedf->cdev, &if_link); qedf 869 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 874 drivers/scsi/qedf/qedf_main.c flush_delayed_work(&qedf->link_update); qedf 877 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->link_state, QEDF_LINK_UP); qedf 878 drivers/scsi/qedf/qedf_main.c qedf->vlan_id = 0; qedf 879 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 881 drivers/scsi/qedf/qedf_main.c queue_delayed_work(qedf->link_update_wq, &qedf->link_update, qedf 889 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 892 drivers/scsi/qedf/qedf_main.c qedf = lport_priv(lport); qedf 894 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_DOWN || qedf 895 drivers/scsi/qedf/qedf_main.c test_bit(QEDF_UNLOADING, &qedf->flags)) qedf 898 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "HOST RESET Issued..."); qedf 944 drivers/scsi/qedf/qedf_main.c static struct qedf_rport *qedf_fcport_lookup(struct qedf_ctx *qedf, u32 port_id) qedf 950 drivers/scsi/qedf/qedf_main.c list_for_each_entry_rcu(fcport, &qedf->fcports, peers) { qedf 992 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 1009 drivers/scsi/qedf/qedf_main.c qedf = (struct qedf_ctx *)lport_priv(lport); qedf 1037 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, qedf 1049 drivers/scsi/qedf/qedf_main.c if (!qedf->ctlr.sel_fcf) { qedf 1054 drivers/scsi/qedf/qedf_main.c if (!test_bit(QEDF_LL2_STARTED, &qedf->flags)) { qedf 1055 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "LL2 not started\n"); qedf 1060 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) != QEDF_LINK_UP) { qedf 1061 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "qedf link down\n"); qedf 1067 drivers/scsi/qedf/qedf_main.c if (fcoe_ctlr_els_send(&qedf->ctlr, lport, skb)) qedf 1072 drivers/scsi/qedf/qedf_main.c fcport = qedf_fcport_lookup(qedf, ntoh24(fh->fh_d_id)); qedf 1129 drivers/scsi/qedf/qedf_main.c __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), qedf->vlan_id); qedf 1134 drivers/scsi/qedf/qedf_main.c if (qedf->ctlr.map_dest) qedf 1138 drivers/scsi/qedf/qedf_main.c ether_addr_copy(eh->h_dest, qedf->ctlr.dest_addr); qedf 1141 drivers/scsi/qedf/qedf_main.c ether_addr_copy(eh->h_source, qedf->data_src_addr); qedf 1160 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, "FCoE frame send: " qedf 1167 drivers/scsi/qedf/qedf_main.c rc = qed_ops->ll2->start_xmit(qedf->cdev, skb, 0); qedf 1169 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "start_xmit failed rc = %d.\n", rc); qedf 1177 drivers/scsi/qedf/qedf_main.c static int qedf_alloc_sq(struct qedf_ctx *qedf, struct qedf_rport *fcport) qedf 1191 drivers/scsi/qedf/qedf_main.c fcport->sq = dma_alloc_coherent(&qedf->pdev->dev, fcport->sq_mem_size, qedf 1194 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate send queue.\n"); qedf 1199 drivers/scsi/qedf/qedf_main.c fcport->sq_pbl = dma_alloc_coherent(&qedf->pdev->dev, qedf 1203 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate send queue PBL.\n"); qedf 1224 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, fcport->sq_mem_size, fcport->sq, qedf 1230 drivers/scsi/qedf/qedf_main.c static void qedf_free_sq(struct qedf_ctx *qedf, struct qedf_rport *fcport) qedf 1233 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, fcport->sq_pbl_size, qedf 1236 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, fcport->sq_mem_size, qedf 1240 drivers/scsi/qedf/qedf_main.c static int qedf_offload_connection(struct qedf_ctx *qedf, qedf 1248 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Offloading connection " qedf 1250 drivers/scsi/qedf/qedf_main.c rval = qed_ops->acquire_conn(qedf->cdev, &fcport->handle, qedf 1253 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not acquire connection " qedf 1259 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "portid=%06x " qedf 1273 drivers/scsi/qedf/qedf_main.c ether_addr_copy(conn_info.src_mac, qedf->data_src_addr); qedf 1275 drivers/scsi/qedf/qedf_main.c ether_addr_copy(conn_info.dst_mac, qedf->ctlr.dest_addr); qedf 1278 drivers/scsi/qedf/qedf_main.c conn_info.e_d_tov_timer_val = qedf->lport->e_d_tov / 20; qedf 1283 drivers/scsi/qedf/qedf_main.c conn_info.vlan_tag = qedf->vlan_id << qedf 1286 drivers/scsi/qedf/qedf_main.c qedf->prio << FCOE_CONN_OFFLOAD_RAMROD_DATA_PRIORITY_SHIFT; qedf 1291 drivers/scsi/qedf/qedf_main.c port_id = fc_host_port_id(qedf->lport->host); qedf 1309 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, qedf 1319 drivers/scsi/qedf/qedf_main.c rval = qed_ops->offload_conn(qedf->cdev, fcport->handle, &conn_info); qedf 1321 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not offload connection " qedf 1325 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Offload " qedf 1333 drivers/scsi/qedf/qedf_main.c qed_ops->release_conn(qedf->cdev, fcport->handle); qedf 1339 drivers/scsi/qedf/qedf_main.c static void qedf_upload_connection(struct qedf_ctx *qedf, qedf 1349 drivers/scsi/qedf/qedf_main.c term_params = dma_alloc_coherent(&qedf->pdev->dev, QEDF_TERM_BUFF_SIZE, qedf 1352 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Uploading connection " qedf 1355 drivers/scsi/qedf/qedf_main.c qed_ops->destroy_conn(qedf->cdev, fcport->handle, term_params_dma); qedf 1356 drivers/scsi/qedf/qedf_main.c qed_ops->release_conn(qedf->cdev, fcport->handle); qedf 1358 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, QEDF_TERM_BUFF_SIZE, term_params, qedf 1362 drivers/scsi/qedf/qedf_main.c static void qedf_cleanup_fcport(struct qedf_ctx *qedf, qedf 1367 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_CONN, "Cleaning up portid=%06x.\n", qedf 1374 drivers/scsi/qedf/qedf_main.c qedf_upload_connection(qedf, fcport); qedf 1375 drivers/scsi/qedf/qedf_main.c qedf_free_sq(qedf, fcport); qedf 1377 drivers/scsi/qedf/qedf_main.c fcport->qedf = NULL; qedf 1390 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = lport_priv(lport); qedf 1398 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "event = %d, " qedf 1404 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "rport is NULL.\n"); qedf 1410 drivers/scsi/qedf/qedf_main.c fcport->qedf = qedf; qedf 1412 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->num_offloads) >= QEDF_MAX_SESSIONS) { qedf 1413 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Not offloading " qedf 1424 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Session already " qedf 1437 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "rport struct does not " qedf 1444 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 1449 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 1459 drivers/scsi/qedf/qedf_main.c rval = qedf_alloc_sq(qedf, fcport); qedf 1461 drivers/scsi/qedf/qedf_main.c qedf_cleanup_fcport(qedf, fcport); qedf 1470 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 1477 drivers/scsi/qedf/qedf_main.c rval = qedf_offload_connection(qedf, fcport); qedf 1479 drivers/scsi/qedf/qedf_main.c qedf_cleanup_fcport(qedf, fcport); qedf 1484 drivers/scsi/qedf/qedf_main.c spin_lock_irqsave(&qedf->hba_lock, flags); qedf 1485 drivers/scsi/qedf/qedf_main.c list_add_rcu(&fcport->peers, &qedf->fcports); qedf 1486 drivers/scsi/qedf/qedf_main.c spin_unlock_irqrestore(&qedf->hba_lock, flags); qedf 1493 drivers/scsi/qedf/qedf_main.c atomic_inc(&qedf->num_offloads); qedf 1504 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 1523 drivers/scsi/qedf/qedf_main.c qedf_cleanup_fcport(qedf, fcport); qedf 1528 drivers/scsi/qedf/qedf_main.c spin_lock_irqsave(&qedf->hba_lock, flags); qedf 1530 drivers/scsi/qedf/qedf_main.c spin_unlock_irqrestore(&qedf->hba_lock, flags); qedf 1534 drivers/scsi/qedf/qedf_main.c atomic_dec(&qedf->num_offloads); qedf 1567 drivers/scsi/qedf/qedf_main.c static void qedf_fcoe_ctlr_setup(struct qedf_ctx *qedf) qedf 1569 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_init(&qedf->ctlr, FIP_MODE_AUTO); qedf 1571 drivers/scsi/qedf/qedf_main.c qedf->ctlr.send = qedf_fip_send; qedf 1572 drivers/scsi/qedf/qedf_main.c qedf->ctlr.get_src_addr = qedf_get_src_mac; qedf 1573 drivers/scsi/qedf/qedf_main.c ether_addr_copy(qedf->ctlr.ctl_src_addr, qedf->mac); qedf 1576 drivers/scsi/qedf/qedf_main.c static void qedf_setup_fdmi(struct qedf_ctx *qedf) qedf 1578 drivers/scsi/qedf/qedf_main.c struct fc_lport *lport = qedf->lport; qedf 1594 drivers/scsi/qedf/qedf_main.c pos = pci_find_ext_capability(qedf->pdev, PCI_EXT_CAP_ID_DSN); qedf 1598 drivers/scsi/qedf/qedf_main.c pci_read_config_byte(qedf->pdev, pos + i, &buf[i]); qedf 1619 drivers/scsi/qedf/qedf_main.c "Rev %d", qedf->pdev->revision); qedf 1629 drivers/scsi/qedf/qedf_main.c static int qedf_lport_setup(struct qedf_ctx *qedf) qedf 1631 drivers/scsi/qedf/qedf_main.c struct fc_lport *lport = qedf->lport; qedf 1646 drivers/scsi/qedf/qedf_main.c fc_set_wwnn(lport, qedf->wwnn); qedf 1647 drivers/scsi/qedf/qedf_main.c fc_set_wwpn(lport, qedf->wwpn); qedf 1649 drivers/scsi/qedf/qedf_main.c if (fcoe_libfc_config(lport, &qedf->ctlr, &qedf_lport_template, 0)) { qedf 1650 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 1676 drivers/scsi/qedf/qedf_main.c qedf_setup_fdmi(qedf); qedf 1841 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = lport_priv(vn_port); qedf 1843 drivers/scsi/qedf/qedf_main.c if (!qedf) { qedf 1849 drivers/scsi/qedf/qedf_main.c set_bit(QEDF_UNLOADING, &qedf->flags); qedf 1901 drivers/scsi/qedf/qedf_main.c static void qedf_wait_for_vport_destroy(struct qedf_ctx *qedf) qedf 1903 drivers/scsi/qedf/qedf_main.c struct fc_host_attrs *fc_host = shost_to_fc_host(qedf->lport->host); qedf 1905 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_NPIV, qedf 1908 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_NPIV, qedf 1934 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = lport_priv(lport); qedf 1945 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate memory for " qedf 1950 drivers/scsi/qedf/qedf_main.c mutex_lock(&qedf->stats_mutex); qedf 1953 drivers/scsi/qedf/qedf_main.c qed_ops->get_stats(qedf->cdev, fw_fcoe_stats); qedf 1979 drivers/scsi/qedf/qedf_main.c qedf_stats->fcp_input_requests += qedf->input_requests; qedf 1980 drivers/scsi/qedf/qedf_main.c qedf_stats->fcp_output_requests += qedf->output_requests; qedf 1981 drivers/scsi/qedf/qedf_main.c qedf_stats->fcp_control_requests += qedf->control_requests; qedf 1982 drivers/scsi/qedf/qedf_main.c qedf_stats->fcp_packet_aborts += qedf->packet_aborts; qedf 1983 drivers/scsi/qedf/qedf_main.c qedf_stats->fcp_frame_alloc_failures += qedf->alloc_failures; qedf 1985 drivers/scsi/qedf/qedf_main.c mutex_unlock(&qedf->stats_mutex); qedf 2062 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = fp->qedf; qedf 2069 drivers/scsi/qedf/qedf_main.c que = qedf->global_queues[fp->sb_id]; qedf 2090 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = fp->qedf; qedf 2108 drivers/scsi/qedf/qedf_main.c que = qedf->global_queues[fp->sb_id]; qedf 2131 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_UNSOL, qedf 2133 drivers/scsi/qedf/qedf_main.c qedf_process_unsol_compl(qedf, fp->sb_id, cqe); qedf 2142 drivers/scsi/qedf/qedf_main.c io_req = &qedf->cmd_mgr->cmds[xid]; qedf 2158 drivers/scsi/qedf/qedf_main.c io_work = mempool_alloc(qedf->io_mempool, GFP_ATOMIC); qedf 2160 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate " qedf 2171 drivers/scsi/qedf/qedf_main.c io_work->qedf = fp->qedf; qedf 2233 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = (struct qedf_ctx *)cookie; qedf 2235 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "qedf=%p.\n", qedf); qedf 2239 drivers/scsi/qedf/qedf_main.c static void qedf_sync_free_irqs(struct qedf_ctx *qedf) qedf 2245 drivers/scsi/qedf/qedf_main.c if (qedf->int_info.msix_cnt) { qedf 2246 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->int_info.used_cnt; i++) { qedf 2247 drivers/scsi/qedf/qedf_main.c vector_idx = i * qedf->dev_info.common.num_hwfns + qedf 2248 drivers/scsi/qedf/qedf_main.c qed_ops->common->get_affin_hwfn_idx(qedf->cdev); qedf 2249 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 2252 drivers/scsi/qedf/qedf_main.c vector = qedf->int_info.msix[vector_idx].vector; qedf 2256 drivers/scsi/qedf/qedf_main.c free_irq(vector, &qedf->fp_array[i]); qedf 2259 drivers/scsi/qedf/qedf_main.c qed_ops->common->simd_handler_clean(qedf->cdev, qedf 2262 drivers/scsi/qedf/qedf_main.c qedf->int_info.used_cnt = 0; qedf 2263 drivers/scsi/qedf/qedf_main.c qed_ops->common->set_fp_int(qedf->cdev, 0); qedf 2266 drivers/scsi/qedf/qedf_main.c static int qedf_request_msix_irq(struct qedf_ctx *qedf) qedf 2273 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->num_queues; i++) { qedf 2274 drivers/scsi/qedf/qedf_main.c vector_idx = i * qedf->dev_info.common.num_hwfns + qedf 2275 drivers/scsi/qedf/qedf_main.c qed_ops->common->get_affin_hwfn_idx(qedf->cdev); qedf 2276 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 2279 drivers/scsi/qedf/qedf_main.c vector = qedf->int_info.msix[vector_idx].vector; qedf 2281 drivers/scsi/qedf/qedf_main.c &qedf->fp_array[i]); qedf 2284 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "request_irq failed.\n"); qedf 2285 drivers/scsi/qedf/qedf_main.c qedf_sync_free_irqs(qedf); qedf 2289 drivers/scsi/qedf/qedf_main.c qedf->int_info.used_cnt++; qedf 2297 drivers/scsi/qedf/qedf_main.c static int qedf_setup_int(struct qedf_ctx *qedf) qedf 2304 drivers/scsi/qedf/qedf_main.c rc = qed_ops->common->set_fp_int(qedf->cdev, num_online_cpus()); qedf 2308 drivers/scsi/qedf/qedf_main.c rc = qed_ops->common->get_fp_int(qedf->cdev, &qedf->int_info); qedf 2312 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "Number of msix_cnt = " qedf 2313 drivers/scsi/qedf/qedf_main.c "0x%x num of cpus = 0x%x\n", qedf->int_info.msix_cnt, qedf 2316 drivers/scsi/qedf/qedf_main.c if (qedf->int_info.msix_cnt) qedf 2317 drivers/scsi/qedf/qedf_main.c return qedf_request_msix_irq(qedf); qedf 2319 drivers/scsi/qedf/qedf_main.c qed_ops->common->simd_handler_config(qedf->cdev, &qedf, qedf 2321 drivers/scsi/qedf/qedf_main.c qedf->int_info.used_cnt = 1; qedf 2323 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2329 drivers/scsi/qedf/qedf_main.c static void qedf_recv_frame(struct qedf_ctx *qedf, qedf 2344 drivers/scsi/qedf/qedf_main.c lport = qedf->lport; qedf 2411 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, qedf 2417 drivers/scsi/qedf/qedf_main.c if (qedf->ctlr.state) { qedf 2418 drivers/scsi/qedf/qedf_main.c if (!ether_addr_equal(mac, qedf->ctlr.dest_addr)) { qedf 2419 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, qedf 2421 drivers/scsi/qedf/qedf_main.c mac, qedf->ctlr.dest_addr); qedf 2435 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_LL2, qedf 2446 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_LL2, qedf 2459 drivers/scsi/qedf/qedf_main.c fcport = qedf_fcport_lookup(qedf, ntoh24(fh->fh_d_id)); qedf 2463 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, qedf 2469 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_LL2, "FCoE frame receive: " qedf 2483 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = skb_work->qedf; qedf 2487 drivers/scsi/qedf/qedf_main.c if (!qedf) { qedf 2507 drivers/scsi/qedf/qedf_main.c qedf_fip_recv(qedf, skb); qedf 2511 drivers/scsi/qedf/qedf_main.c qedf_recv_frame(qedf, skb); qedf 2526 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = (struct qedf_ctx *)cookie; qedf 2529 drivers/scsi/qedf/qedf_main.c if (atomic_read(&qedf->link_state) == QEDF_LINK_DOWN) { qedf 2530 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_LL2, qedf 2538 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate skb_work so " qedf 2546 drivers/scsi/qedf/qedf_main.c skb_work->qedf = qedf; qedf 2547 drivers/scsi/qedf/qedf_main.c queue_work(qedf->ll2_recv_wq, &skb_work->work); qedf 2573 drivers/scsi/qedf/qedf_main.c fc_exch_recv(io_work->qedf->lport, io_work->fp); qedf 2575 drivers/scsi/qedf/qedf_main.c qedf_process_cqe(io_work->qedf, &io_work->cqe); qedf 2580 drivers/scsi/qedf/qedf_main.c static int qedf_alloc_and_init_sb(struct qedf_ctx *qedf, qedf 2587 drivers/scsi/qedf/qedf_main.c sb_virt = dma_alloc_coherent(&qedf->pdev->dev, qedf 2591 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2597 drivers/scsi/qedf/qedf_main.c ret = qed_ops->common->sb_init(qedf->cdev, sb_info, sb_virt, sb_phys, qedf 2601 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2610 drivers/scsi/qedf/qedf_main.c static void qedf_free_sb(struct qedf_ctx *qedf, struct qed_sb_info *sb_info) qedf 2613 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, sizeof(*sb_info->sb_virt), qedf 2617 drivers/scsi/qedf/qedf_main.c static void qedf_destroy_sb(struct qedf_ctx *qedf) qedf 2622 drivers/scsi/qedf/qedf_main.c for (id = 0; id < qedf->num_queues; id++) { qedf 2623 drivers/scsi/qedf/qedf_main.c fp = &(qedf->fp_array[id]); qedf 2626 drivers/scsi/qedf/qedf_main.c qedf_free_sb(qedf, fp->sb_info); qedf 2629 drivers/scsi/qedf/qedf_main.c kfree(qedf->fp_array); qedf 2632 drivers/scsi/qedf/qedf_main.c static int qedf_prepare_sb(struct qedf_ctx *qedf) qedf 2638 drivers/scsi/qedf/qedf_main.c qedf->fp_array = qedf 2639 drivers/scsi/qedf/qedf_main.c kcalloc(qedf->num_queues, sizeof(struct qedf_fastpath), qedf 2642 drivers/scsi/qedf/qedf_main.c if (!qedf->fp_array) { qedf 2643 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "fastpath array allocation " qedf 2648 drivers/scsi/qedf/qedf_main.c for (id = 0; id < qedf->num_queues; id++) { qedf 2649 drivers/scsi/qedf/qedf_main.c fp = &(qedf->fp_array[id]); qedf 2653 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "SB info struct " qedf 2657 drivers/scsi/qedf/qedf_main.c ret = qedf_alloc_and_init_sb(qedf, fp->sb_info, id); qedf 2659 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "SB allocation and " qedf 2664 drivers/scsi/qedf/qedf_main.c fp->qedf = qedf; qedf 2666 drivers/scsi/qedf/qedf_main.c qedf->global_queues[id]->cq_mem_size / qedf 2673 drivers/scsi/qedf/qedf_main.c void qedf_process_cqe(struct qedf_ctx *qedf, struct fcoe_cqe *cqe) qedf 2684 drivers/scsi/qedf/qedf_main.c io_req = &qedf->cmd_mgr->cmds[xid]; qedf 2688 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2696 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2707 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, qedf 2718 drivers/scsi/qedf/qedf_main.c qedf_scsi_completion(qedf, cqe, io_req); qedf 2721 drivers/scsi/qedf/qedf_main.c qedf_process_els_compl(qedf, cqe, io_req); qedf 2724 drivers/scsi/qedf/qedf_main.c qedf_process_tmf_compl(qedf, cqe, io_req); qedf 2727 drivers/scsi/qedf/qedf_main.c qedf_process_seq_cleanup_compl(qedf, cqe, io_req); qedf 2733 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2735 drivers/scsi/qedf/qedf_main.c qedf_process_error_detect(qedf, cqe, io_req); qedf 2739 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2741 drivers/scsi/qedf/qedf_main.c qedf_process_cleanup_compl(qedf, cqe, io_req); qedf 2745 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2747 drivers/scsi/qedf/qedf_main.c qedf_process_abts_compl(qedf, cqe, io_req); qedf 2751 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2756 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2761 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2763 drivers/scsi/qedf/qedf_main.c qedf_process_warning_compl(qedf, cqe, io_req); qedf 2767 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2771 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO, qedf 2777 drivers/scsi/qedf/qedf_main.c static void qedf_free_bdq(struct qedf_ctx *qedf) qedf 2781 drivers/scsi/qedf/qedf_main.c if (qedf->bdq_pbl_list) qedf 2782 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, QEDF_PAGE_SIZE, qedf 2783 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list, qedf->bdq_pbl_list_dma); qedf 2785 drivers/scsi/qedf/qedf_main.c if (qedf->bdq_pbl) qedf 2786 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, qedf->bdq_pbl_mem_size, qedf 2787 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl, qedf->bdq_pbl_dma); qedf 2790 drivers/scsi/qedf/qedf_main.c if (qedf->bdq[i].buf_addr) { qedf 2791 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, QEDF_BDQ_BUF_SIZE, qedf 2792 drivers/scsi/qedf/qedf_main.c qedf->bdq[i].buf_addr, qedf->bdq[i].buf_dma); qedf 2797 drivers/scsi/qedf/qedf_main.c static void qedf_free_global_queues(struct qedf_ctx *qedf) qedf 2800 drivers/scsi/qedf/qedf_main.c struct global_queue **gl = qedf->global_queues; qedf 2802 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->num_queues; i++) { qedf 2807 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, qedf 2810 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, gl[i]->cq_pbl_size, qedf 2816 drivers/scsi/qedf/qedf_main.c qedf_free_bdq(qedf); qedf 2819 drivers/scsi/qedf/qedf_main.c static int qedf_alloc_bdq(struct qedf_ctx *qedf) qedf 2828 drivers/scsi/qedf/qedf_main.c qedf->bdq[i].buf_addr = dma_alloc_coherent(&qedf->pdev->dev, qedf 2829 drivers/scsi/qedf/qedf_main.c QEDF_BDQ_BUF_SIZE, &qedf->bdq[i].buf_dma, GFP_KERNEL); qedf 2830 drivers/scsi/qedf/qedf_main.c if (!qedf->bdq[i].buf_addr) { qedf 2831 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate BDQ " qedf 2838 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_mem_size = qedf 2840 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_mem_size = qedf 2841 drivers/scsi/qedf/qedf_main.c ALIGN(qedf->bdq_pbl_mem_size, QEDF_PAGE_SIZE); qedf 2843 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl = dma_alloc_coherent(&qedf->pdev->dev, qedf 2844 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_mem_size, &qedf->bdq_pbl_dma, GFP_KERNEL); qedf 2845 drivers/scsi/qedf/qedf_main.c if (!qedf->bdq_pbl) { qedf 2846 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate BDQ PBL.\n"); qedf 2850 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 2852 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl, &qedf->bdq_pbl_dma); qedf 2858 drivers/scsi/qedf/qedf_main.c pbl = (struct scsi_bd *)qedf->bdq_pbl; qedf 2860 drivers/scsi/qedf/qedf_main.c pbl->address.hi = cpu_to_le32(U64_HI(qedf->bdq[i].buf_dma)); qedf 2861 drivers/scsi/qedf/qedf_main.c pbl->address.lo = cpu_to_le32(U64_LO(qedf->bdq[i].buf_dma)); qedf 2869 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list = dma_alloc_coherent(&qedf->pdev->dev, qedf 2871 drivers/scsi/qedf/qedf_main.c &qedf->bdq_pbl_list_dma, qedf 2873 drivers/scsi/qedf/qedf_main.c if (!qedf->bdq_pbl_list) { qedf 2874 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Could not allocate list of PBL pages.\n"); qedf 2882 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list_num_entries = qedf->bdq_pbl_mem_size / qedf 2884 drivers/scsi/qedf/qedf_main.c list = (u64 *)qedf->bdq_pbl_list; qedf 2885 drivers/scsi/qedf/qedf_main.c page = qedf->bdq_pbl_list_dma; qedf 2886 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->bdq_pbl_list_num_entries; i++) { qedf 2887 drivers/scsi/qedf/qedf_main.c *list = qedf->bdq_pbl_dma; qedf 2895 drivers/scsi/qedf/qedf_main.c static int qedf_alloc_global_queues(struct qedf_ctx *qedf) qedf 2909 drivers/scsi/qedf/qedf_main.c if (!qedf->num_queues) { qedf 2910 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "No MSI-X vectors available!\n"); qedf 2918 drivers/scsi/qedf/qedf_main.c if (!qedf->p_cpuq) { qedf 2920 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "p_cpuq is NULL.\n"); qedf 2924 drivers/scsi/qedf/qedf_main.c qedf->global_queues = kzalloc((sizeof(struct global_queue *) qedf 2925 drivers/scsi/qedf/qedf_main.c * qedf->num_queues), GFP_KERNEL); qedf 2926 drivers/scsi/qedf/qedf_main.c if (!qedf->global_queues) { qedf 2927 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Unable to allocate global " qedf 2931 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 2932 drivers/scsi/qedf/qedf_main.c "qedf->global_queues=%p.\n", qedf->global_queues); qedf 2935 drivers/scsi/qedf/qedf_main.c rc = qedf_alloc_bdq(qedf); qedf 2937 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Unable to allocate bdq.\n"); qedf 2942 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->num_queues; i++) { qedf 2943 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i] = kzalloc(sizeof(struct global_queue), qedf 2945 drivers/scsi/qedf/qedf_main.c if (!qedf->global_queues[i]) { qedf 2946 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Unable to allocate " qedf 2952 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_mem_size = qedf 2954 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_mem_size = qedf 2955 drivers/scsi/qedf/qedf_main.c ALIGN(qedf->global_queues[i]->cq_mem_size, QEDF_PAGE_SIZE); qedf 2957 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_pbl_size = qedf 2958 drivers/scsi/qedf/qedf_main.c (qedf->global_queues[i]->cq_mem_size / qedf 2960 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_pbl_size = qedf 2961 drivers/scsi/qedf/qedf_main.c ALIGN(qedf->global_queues[i]->cq_pbl_size, QEDF_PAGE_SIZE); qedf 2963 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq = qedf 2964 drivers/scsi/qedf/qedf_main.c dma_alloc_coherent(&qedf->pdev->dev, qedf 2965 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_mem_size, qedf 2966 drivers/scsi/qedf/qedf_main.c &qedf->global_queues[i]->cq_dma, qedf 2969 drivers/scsi/qedf/qedf_main.c if (!qedf->global_queues[i]->cq) { qedf 2970 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate cq.\n"); qedf 2975 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_pbl = qedf 2976 drivers/scsi/qedf/qedf_main.c dma_alloc_coherent(&qedf->pdev->dev, qedf 2977 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_pbl_size, qedf 2978 drivers/scsi/qedf/qedf_main.c &qedf->global_queues[i]->cq_pbl_dma, qedf 2981 drivers/scsi/qedf/qedf_main.c if (!qedf->global_queues[i]->cq_pbl) { qedf 2982 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate cq PBL.\n"); qedf 2988 drivers/scsi/qedf/qedf_main.c num_pages = qedf->global_queues[i]->cq_mem_size / qedf 2990 drivers/scsi/qedf/qedf_main.c page = qedf->global_queues[i]->cq_dma; qedf 2991 drivers/scsi/qedf/qedf_main.c pbl = (u32 *)qedf->global_queues[i]->cq_pbl; qedf 3001 drivers/scsi/qedf/qedf_main.c qedf->global_queues[i]->cq_cons_idx = 0; qedf 3004 drivers/scsi/qedf/qedf_main.c list = (u32 *)qedf->p_cpuq; qedf 3012 drivers/scsi/qedf/qedf_main.c for (i = 0; i < qedf->num_queues; i++) { qedf 3013 drivers/scsi/qedf/qedf_main.c *list = U64_LO(qedf->global_queues[i]->cq_pbl_dma); qedf 3015 drivers/scsi/qedf/qedf_main.c *list = U64_HI(qedf->global_queues[i]->cq_pbl_dma); qedf 3026 drivers/scsi/qedf/qedf_main.c qedf_free_global_queues(qedf); qedf 3030 drivers/scsi/qedf/qedf_main.c static int qedf_set_fcoe_pf_param(struct qedf_ctx *qedf) qedf 3045 drivers/scsi/qedf/qedf_main.c qedf->num_queues = MIN_NUM_CPUS_MSIX(qedf); qedf 3047 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "Number of CQs is %d.\n", qedf 3048 drivers/scsi/qedf/qedf_main.c qedf->num_queues); qedf 3050 drivers/scsi/qedf/qedf_main.c qedf->p_cpuq = dma_alloc_coherent(&qedf->pdev->dev, qedf 3051 drivers/scsi/qedf/qedf_main.c qedf->num_queues * sizeof(struct qedf_glbl_q_params), qedf 3052 drivers/scsi/qedf/qedf_main.c &qedf->hw_p_cpuq, GFP_KERNEL); qedf 3054 drivers/scsi/qedf/qedf_main.c if (!qedf->p_cpuq) { qedf 3055 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "dma_alloc_coherent failed.\n"); qedf 3059 drivers/scsi/qedf/qedf_main.c rval = qedf_alloc_global_queues(qedf); qedf 3061 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Global queue allocation " qedf 3076 drivers/scsi/qedf/qedf_main.c memset(&(qedf->pf_params), 0, sizeof(qedf->pf_params)); qedf 3079 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.num_cons = QEDF_MAX_SESSIONS; qedf 3080 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.num_tasks = FCOE_PARAMS_NUM_TASKS; qedf 3081 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.glbl_q_params_addr = qedf 3082 drivers/scsi/qedf/qedf_main.c (u64)qedf->hw_p_cpuq; qedf 3083 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.sq_num_pbl_pages = sq_num_pbl_pages; qedf 3085 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.rq_buffer_log_size = 0; qedf 3087 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.cq_num_entries = cq_num_entries; qedf 3088 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.num_cqs = qedf->num_queues; qedf 3091 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.log_page_size = ilog2(QEDF_PAGE_SIZE); qedf 3093 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.mtu = 9000; qedf 3094 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.gl_rq_pi = QEDF_FCOE_PARAMS_GL_RQ_PI; qedf 3095 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.gl_cmd_pi = QEDF_FCOE_PARAMS_GL_CMD_PI; qedf 3098 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.bdq_pbl_base_addr[0] = qedf 3099 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list_dma; qedf 3100 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.bdq_pbl_num_entries[0] = qedf 3101 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list_num_entries; qedf 3102 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.rq_buffer_size = QEDF_BDQ_BUF_SIZE; qedf 3104 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3106 drivers/scsi/qedf/qedf_main.c qedf->bdq_pbl_list, qedf 3107 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.bdq_pbl_base_addr[0], qedf 3108 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.bdq_pbl_num_entries[0]); qedf 3110 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3112 drivers/scsi/qedf/qedf_main.c qedf->pf_params.fcoe_pf_params.cq_num_entries); qedf 3118 drivers/scsi/qedf/qedf_main.c static void qedf_free_fcoe_pf_param(struct qedf_ctx *qedf) qedf 3122 drivers/scsi/qedf/qedf_main.c if (qedf->p_cpuq) { qedf 3123 drivers/scsi/qedf/qedf_main.c size = qedf->num_queues * sizeof(struct qedf_glbl_q_params); qedf 3124 drivers/scsi/qedf/qedf_main.c dma_free_coherent(&qedf->pdev->dev, size, qedf->p_cpuq, qedf 3125 drivers/scsi/qedf/qedf_main.c qedf->hw_p_cpuq); qedf 3128 drivers/scsi/qedf/qedf_main.c qedf_free_global_queues(qedf); qedf 3130 drivers/scsi/qedf/qedf_main.c kfree(qedf->global_queues); qedf 3156 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 3185 drivers/scsi/qedf/qedf_main.c qedf = lport_priv(lport); qedf 3186 drivers/scsi/qedf/qedf_main.c qedf->lport = lport; qedf 3187 drivers/scsi/qedf/qedf_main.c qedf->ctlr.lp = lport; qedf 3188 drivers/scsi/qedf/qedf_main.c qedf->pdev = pdev; qedf 3189 drivers/scsi/qedf/qedf_main.c qedf->dbg_ctx.pdev = pdev; qedf 3190 drivers/scsi/qedf/qedf_main.c qedf->dbg_ctx.host_no = lport->host->host_no; qedf 3191 drivers/scsi/qedf/qedf_main.c spin_lock_init(&qedf->hba_lock); qedf 3192 drivers/scsi/qedf/qedf_main.c INIT_LIST_HEAD(&qedf->fcports); qedf 3193 drivers/scsi/qedf/qedf_main.c qedf->curr_conn_id = QEDF_MAX_SESSIONS - 1; qedf 3194 drivers/scsi/qedf/qedf_main.c atomic_set(&qedf->num_offloads, 0); qedf 3195 drivers/scsi/qedf/qedf_main.c qedf->stop_io_on_error = false; qedf 3196 drivers/scsi/qedf/qedf_main.c pci_set_drvdata(pdev, qedf); qedf 3197 drivers/scsi/qedf/qedf_main.c init_completion(&qedf->fipvlan_compl); qedf 3198 drivers/scsi/qedf/qedf_main.c mutex_init(&qedf->stats_mutex); qedf 3199 drivers/scsi/qedf/qedf_main.c mutex_init(&qedf->flush_mutex); qedf 3201 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_INFO, qedf 3208 drivers/scsi/qedf/qedf_main.c qedf = pci_get_drvdata(pdev); qedf 3209 drivers/scsi/qedf/qedf_main.c lport = qedf->lport; qedf 3215 drivers/scsi/qedf/qedf_main.c qedf->io_mempool = mempool_create_slab_pool(QEDF_IO_WORK_MIN, qedf 3217 drivers/scsi/qedf/qedf_main.c if (qedf->io_mempool == NULL) { qedf 3218 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "qedf->io_mempool is NULL.\n"); qedf 3221 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_INFO, "qedf->io_mempool=%p.\n", qedf 3222 drivers/scsi/qedf/qedf_main.c qedf->io_mempool); qedf 3225 drivers/scsi/qedf/qedf_main.c qedf->lport->host->host_no); qedf 3226 drivers/scsi/qedf/qedf_main.c qedf->link_update_wq = create_workqueue(host_buf); qedf 3227 drivers/scsi/qedf/qedf_main.c INIT_DELAYED_WORK(&qedf->link_update, qedf_handle_link_update); qedf 3228 drivers/scsi/qedf/qedf_main.c INIT_DELAYED_WORK(&qedf->link_recovery, qedf_link_recovery); qedf 3229 drivers/scsi/qedf/qedf_main.c INIT_DELAYED_WORK(&qedf->grcdump_work, qedf_wq_grcdump); qedf 3230 drivers/scsi/qedf/qedf_main.c qedf->fipvlan_retries = qedf_fipvlan_retries; qedf 3237 drivers/scsi/qedf/qedf_main.c qedf->prio = qedf_default_prio; qedf 3239 drivers/scsi/qedf/qedf_main.c qedf->prio = QEDF_DEFAULT_PRIO; qedf 3250 drivers/scsi/qedf/qedf_main.c qedf->cdev = qed_ops->common->probe(pdev, &qed_params); qedf 3251 drivers/scsi/qedf/qedf_main.c if (!qedf->cdev) { qedf 3252 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "common probe failed.\n"); qedf 3258 drivers/scsi/qedf/qedf_main.c rc = qed_ops->fill_dev_info(qedf->cdev, &qedf->dev_info); qedf 3260 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to dev info.\n"); qedf 3264 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, qedf 3266 drivers/scsi/qedf/qedf_main.c qedf->dev_info.common.num_hwfns, qedf 3267 drivers/scsi/qedf/qedf_main.c qed_ops->common->get_affin_hwfn_idx(qedf->cdev)); qedf 3277 drivers/scsi/qedf/qedf_main.c rc = qedf_set_fcoe_pf_param(qedf); qedf 3279 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Cannot set fcoe pf param.\n"); qedf 3282 drivers/scsi/qedf/qedf_main.c qed_ops->common->update_pf_params(qedf->cdev, &qedf->pf_params); qedf 3285 drivers/scsi/qedf/qedf_main.c qedf->bdq_primary_prod = qedf->dev_info.primary_dbq_rq_addr; qedf 3286 drivers/scsi/qedf/qedf_main.c qedf->bdq_secondary_prod = qedf->dev_info.secondary_bdq_rq_addr; qedf 3287 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3288 drivers/scsi/qedf/qedf_main.c "BDQ primary_prod=%p secondary_prod=%p.\n", qedf->bdq_primary_prod, qedf 3289 drivers/scsi/qedf/qedf_main.c qedf->bdq_secondary_prod); qedf 3291 drivers/scsi/qedf/qedf_main.c qed_ops->register_ops(qedf->cdev, &qedf_cb_ops, qedf); qedf 3293 drivers/scsi/qedf/qedf_main.c rc = qedf_prepare_sb(qedf); qedf 3296 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Cannot start slowpath.\n"); qedf 3307 drivers/scsi/qedf/qedf_main.c rc = qed_ops->common->slowpath_start(qedf->cdev, &slowpath_params); qedf 3309 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Cannot start slowpath.\n"); qedf 3317 drivers/scsi/qedf/qedf_main.c qed_ops->common->update_pf_params(qedf->cdev, &qedf->pf_params); qedf 3320 drivers/scsi/qedf/qedf_main.c rc = qedf_setup_int(qedf); qedf 3322 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Setup interrupts failed.\n"); qedf 3326 drivers/scsi/qedf/qedf_main.c rc = qed_ops->start(qedf->cdev, &qedf->tasks); qedf 3328 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Cannot start FCoE function.\n"); qedf 3331 drivers/scsi/qedf/qedf_main.c task_start = qedf_get_task_mem(&qedf->tasks, 0); qedf 3332 drivers/scsi/qedf/qedf_main.c task_end = qedf_get_task_mem(&qedf->tasks, MAX_TID_BLOCKS_FCOE - 1); qedf 3333 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "Task context start=%p, " qedf 3335 drivers/scsi/qedf/qedf_main.c qedf->tasks.size); qedf 3342 drivers/scsi/qedf/qedf_main.c qedf->bdq_prod_idx = QEDF_BDQ_SIZE; qedf 3343 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3345 drivers/scsi/qedf/qedf_main.c qedf->bdq_prod_idx); qedf 3346 drivers/scsi/qedf/qedf_main.c writew(qedf->bdq_prod_idx, qedf->bdq_primary_prod); qedf 3347 drivers/scsi/qedf/qedf_main.c tmp = readw(qedf->bdq_primary_prod); qedf 3348 drivers/scsi/qedf/qedf_main.c writew(qedf->bdq_prod_idx, qedf->bdq_secondary_prod); qedf 3349 drivers/scsi/qedf/qedf_main.c tmp = readw(qedf->bdq_secondary_prod); qedf 3351 drivers/scsi/qedf/qedf_main.c qed_ops->common->set_power_state(qedf->cdev, PCI_D0); qedf 3356 drivers/scsi/qedf/qedf_main.c ether_addr_copy(qedf->mac, qedf->dev_info.common.hw_mac); qedf 3357 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "MAC address is %pM.\n", qedf 3358 drivers/scsi/qedf/qedf_main.c qedf->mac); qedf 3367 drivers/scsi/qedf/qedf_main.c if (qedf->dev_info.wwnn != 0 && qedf->dev_info.wwpn != 0) { qedf 3368 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3370 drivers/scsi/qedf/qedf_main.c qedf->wwnn = qedf->dev_info.wwnn; qedf 3371 drivers/scsi/qedf/qedf_main.c qedf->wwpn = qedf->dev_info.wwpn; qedf 3373 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3375 drivers/scsi/qedf/qedf_main.c qedf->wwnn = fcoe_wwn_from_mac(qedf->mac, 1, 0); qedf 3376 drivers/scsi/qedf/qedf_main.c qedf->wwpn = fcoe_wwn_from_mac(qedf->mac, 2, 0); qedf 3378 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, "WWNN=%016llx " qedf 3379 drivers/scsi/qedf/qedf_main.c "WWPN=%016llx.\n", qedf->wwnn, qedf->wwpn); qedf 3382 drivers/scsi/qedf/qedf_main.c qed_ops->common->set_name(qedf->cdev, host_buf); qedf 3385 drivers/scsi/qedf/qedf_main.c qedf->cmd_mgr = qedf_cmd_mgr_alloc(qedf); qedf 3386 drivers/scsi/qedf/qedf_main.c if (!qedf->cmd_mgr) { qedf 3387 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to allocate cmd mgr.\n"); qedf 3399 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&qedf->dbg_ctx, qedf 3407 drivers/scsi/qedf/qedf_main.c ether_addr_copy(params.ll2_mac_address, qedf->mac); qedf 3411 drivers/scsi/qedf/qedf_main.c qedf->ll2_recv_wq = qedf 3413 drivers/scsi/qedf/qedf_main.c if (!qedf->ll2_recv_wq) { qedf 3414 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to LL2 workqueue.\n"); qedf 3420 drivers/scsi/qedf/qedf_main.c qedf_dbg_host_init(&(qedf->dbg_ctx), qedf_debugfs_ops, qedf 3425 drivers/scsi/qedf/qedf_main.c qed_ops->ll2->register_cb_ops(qedf->cdev, &qedf_ll2_cb_ops, qedf); qedf 3426 drivers/scsi/qedf/qedf_main.c rc = qed_ops->ll2->start(qedf->cdev, ¶ms); qedf 3428 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Could not start Light L2.\n"); qedf 3431 drivers/scsi/qedf/qedf_main.c set_bit(QEDF_LL2_STARTED, &qedf->flags); qedf 3434 drivers/scsi/qedf/qedf_main.c qedf->vlan_id = 0; qedf 3442 drivers/scsi/qedf/qedf_main.c qedf_fcoe_ctlr_setup(qedf); qedf 3445 drivers/scsi/qedf/qedf_main.c rc = qedf_lport_setup(qedf); qedf 3447 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), qedf 3453 drivers/scsi/qedf/qedf_main.c sprintf(host_buf, "qedf_%u_timer", qedf->lport->host->host_no); qedf 3454 drivers/scsi/qedf/qedf_main.c qedf->timer_work_queue = qedf 3456 drivers/scsi/qedf/qedf_main.c if (!qedf->timer_work_queue) { qedf 3457 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Failed to start timer " qedf 3466 drivers/scsi/qedf/qedf_main.c qedf->lport->host->host_no); qedf 3467 drivers/scsi/qedf/qedf_main.c qedf->dpc_wq = create_workqueue(host_buf); qedf 3475 drivers/scsi/qedf/qedf_main.c qedf->grcdump_size = qedf 3476 drivers/scsi/qedf/qedf_main.c qed_ops->common->dbg_all_data_size(qedf->cdev); qedf 3477 drivers/scsi/qedf/qedf_main.c if (qedf->grcdump_size) { qedf 3478 drivers/scsi/qedf/qedf_main.c rc = qedf_alloc_grc_dump_buf(&qedf->grcdump, qedf 3479 drivers/scsi/qedf/qedf_main.c qedf->grcdump_size); qedf 3481 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), qedf 3483 drivers/scsi/qedf/qedf_main.c qedf->grcdump = NULL; qedf 3486 drivers/scsi/qedf/qedf_main.c QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC, qedf 3488 drivers/scsi/qedf/qedf_main.c qedf->grcdump, qedf->grcdump_size); qedf 3490 drivers/scsi/qedf/qedf_main.c qedf_create_sysfs_ctx_attr(qedf); qedf 3493 drivers/scsi/qedf/qedf_main.c spin_lock_init(&qedf->io_trace_lock); qedf 3494 drivers/scsi/qedf/qedf_main.c qedf->io_trace_idx = 0; qedf 3497 drivers/scsi/qedf/qedf_main.c init_completion(&qedf->flogi_compl); qedf 3499 drivers/scsi/qedf/qedf_main.c status = qed_ops->common->update_drv_state(qedf->cdev, true); qedf 3501 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), qedf 3506 drivers/scsi/qedf/qedf_main.c status = qed_ops->common->set_link(qedf->cdev, &link_params); qedf 3508 drivers/scsi/qedf/qedf_main.c QEDF_WARN(&(qedf->dbg_ctx), "set_link failed.\n"); qedf 3512 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_up(&qedf->ctlr); qedf 3520 drivers/scsi/qedf/qedf_main.c if (qedf->ll2_recv_wq) qedf 3521 drivers/scsi/qedf/qedf_main.c destroy_workqueue(qedf->ll2_recv_wq); qedf 3522 drivers/scsi/qedf/qedf_main.c fc_remove_host(qedf->lport->host); qedf 3523 drivers/scsi/qedf/qedf_main.c scsi_remove_host(qedf->lport->host); qedf 3525 drivers/scsi/qedf/qedf_main.c qedf_dbg_host_exit(&(qedf->dbg_ctx)); qedf 3528 drivers/scsi/qedf/qedf_main.c qedf_cmd_mgr_free(qedf->cmd_mgr); qedf 3530 drivers/scsi/qedf/qedf_main.c qed_ops->stop(qedf->cdev); qedf 3532 drivers/scsi/qedf/qedf_main.c qedf_free_fcoe_pf_param(qedf); qedf 3533 drivers/scsi/qedf/qedf_main.c qedf_sync_free_irqs(qedf); qedf 3535 drivers/scsi/qedf/qedf_main.c qed_ops->common->slowpath_stop(qedf->cdev); qedf 3537 drivers/scsi/qedf/qedf_main.c qed_ops->common->remove(qedf->cdev); qedf 3551 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 3559 drivers/scsi/qedf/qedf_main.c qedf = pci_get_drvdata(pdev); qedf 3565 drivers/scsi/qedf/qedf_main.c if (test_bit(QEDF_UNLOADING, &qedf->flags)) { qedf 3566 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Already removing PCI function.\n"); qedf 3571 drivers/scsi/qedf/qedf_main.c set_bit(QEDF_UNLOADING, &qedf->flags); qedf 3575 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_link_down(&qedf->ctlr); qedf 3577 drivers/scsi/qedf/qedf_main.c fc_fabric_logoff(qedf->lport); qedf 3579 drivers/scsi/qedf/qedf_main.c if (qedf_wait_for_upload(qedf) == false) qedf 3580 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&qedf->dbg_ctx, "Could not upload all sessions.\n"); qedf 3583 drivers/scsi/qedf/qedf_main.c qedf_dbg_host_exit(&(qedf->dbg_ctx)); qedf 3587 drivers/scsi/qedf/qedf_main.c cancel_delayed_work_sync(&qedf->link_update); qedf 3588 drivers/scsi/qedf/qedf_main.c destroy_workqueue(qedf->link_update_wq); qedf 3589 drivers/scsi/qedf/qedf_main.c qedf->link_update_wq = NULL; qedf 3591 drivers/scsi/qedf/qedf_main.c if (qedf->timer_work_queue) qedf 3592 drivers/scsi/qedf/qedf_main.c destroy_workqueue(qedf->timer_work_queue); qedf 3595 drivers/scsi/qedf/qedf_main.c clear_bit(QEDF_LL2_STARTED, &qedf->flags); qedf 3596 drivers/scsi/qedf/qedf_main.c qed_ops->ll2->stop(qedf->cdev); qedf 3597 drivers/scsi/qedf/qedf_main.c if (qedf->ll2_recv_wq) qedf 3598 drivers/scsi/qedf/qedf_main.c destroy_workqueue(qedf->ll2_recv_wq); qedf 3601 drivers/scsi/qedf/qedf_main.c qedf_sync_free_irqs(qedf); qedf 3602 drivers/scsi/qedf/qedf_main.c qedf_destroy_sb(qedf); qedf 3609 drivers/scsi/qedf/qedf_main.c qedf_free_grc_dump_buf(&qedf->grcdump); qedf 3610 drivers/scsi/qedf/qedf_main.c qedf_remove_sysfs_ctx_attr(qedf); qedf 3613 drivers/scsi/qedf/qedf_main.c fcoe_ctlr_destroy(&qedf->ctlr); qedf 3614 drivers/scsi/qedf/qedf_main.c fc_lport_destroy(qedf->lport); qedf 3615 drivers/scsi/qedf/qedf_main.c fc_remove_host(qedf->lport->host); qedf 3616 drivers/scsi/qedf/qedf_main.c scsi_remove_host(qedf->lport->host); qedf 3619 drivers/scsi/qedf/qedf_main.c qedf_cmd_mgr_free(qedf->cmd_mgr); qedf 3622 drivers/scsi/qedf/qedf_main.c fc_exch_mgr_free(qedf->lport); qedf 3623 drivers/scsi/qedf/qedf_main.c fc_lport_free_stats(qedf->lport); qedf 3626 drivers/scsi/qedf/qedf_main.c qedf_wait_for_vport_destroy(qedf); qedf 3633 drivers/scsi/qedf/qedf_main.c qed_ops->stop(qedf->cdev); qedf 3636 drivers/scsi/qedf/qedf_main.c if (qedf->dpc_wq) { qedf 3638 drivers/scsi/qedf/qedf_main.c destroy_workqueue(qedf->dpc_wq); qedf 3639 drivers/scsi/qedf/qedf_main.c qedf->dpc_wq = NULL; qedf 3644 drivers/scsi/qedf/qedf_main.c qedf_free_fcoe_pf_param(qedf); qedf 3646 drivers/scsi/qedf/qedf_main.c qed_ops->common->set_power_state(qedf->cdev, PCI_D0); qedf 3650 drivers/scsi/qedf/qedf_main.c rc = qed_ops->common->update_drv_state(qedf->cdev, false); qedf 3652 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), qedf 3655 drivers/scsi/qedf/qedf_main.c qed_ops->common->slowpath_stop(qedf->cdev); qedf 3656 drivers/scsi/qedf/qedf_main.c qed_ops->common->remove(qedf->cdev); qedf 3658 drivers/scsi/qedf/qedf_main.c mempool_destroy(qedf->io_mempool); qedf 3662 drivers/scsi/qedf/qedf_main.c scsi_host_put(qedf->lport->host); qedf 3676 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = qedf 3679 drivers/scsi/qedf/qedf_main.c QEDF_ERR(&(qedf->dbg_ctx), "Collecting GRC dump.\n"); qedf 3680 drivers/scsi/qedf/qedf_main.c qedf_capture_grc_dump(qedf); qedf 3688 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf = dev; qedf 3690 drivers/scsi/qedf/qedf_main.c struct fc_lport *lport = qedf->lport; qedf 3714 drivers/scsi/qedf/qedf_main.c if (qedf->ctlr.sel_fcf) { qedf 3716 drivers/scsi/qedf/qedf_main.c u64_to_wwn(qedf->ctlr.sel_fcf->switch_name, fcoe->switch_name); qedf 3753 drivers/scsi/qedf/qedf_main.c fcoe->tx_lun_rst = qedf->lun_resets; qedf 3756 drivers/scsi/qedf/qedf_main.c fcoe->abort_task_sets = qedf->packet_aborts; qedf 3759 drivers/scsi/qedf/qedf_main.c fcoe->scsi_busy = qedf->busy; qedf 3762 drivers/scsi/qedf/qedf_main.c fcoe->scsi_tsk_full = qedf->task_set_fulls; qedf 3773 drivers/scsi/qedf/qedf_main.c struct qedf_ctx *qedf; qedf 3780 drivers/scsi/qedf/qedf_main.c qedf = (struct qedf_ctx *)dev; qedf 3783 drivers/scsi/qedf/qedf_main.c ether_addr_copy(data->mac[0], qedf->mac);