Lines Matching full:rf
59 * @rf: RDMA PCI function
63 irdma_init_tunable(struct irdma_pci_f *rf, uint8_t pf_id) in irdma_init_tunable() argument
66 struct irdma_tunable_info *t_info = &rf->tun_info; in irdma_init_tunable()
87 OID_AUTO, "debug", CTLFLAG_RWTUN, &rf->sc_dev.debug_mask, in irdma_init_tunable()
98 rf->protocol_used = IRDMA_IWARP_PROTOCOL_ONLY; in irdma_init_tunable()
100 rf->protocol_used = IRDMA_ROCE_PROTOCOL_ONLY; in irdma_init_tunable()
105 (rf->protocol_used == IRDMA_IWARP_PROTOCOL_ONLY) ? "iWARP" : "RoCEv2", in irdma_init_tunable()
113 irdma_dcqcn_tunables_init(rf); in irdma_init_tunable()
114 irdma_sysctl_settings(rf); in irdma_init_tunable()
129 if (!hdl->iwdev->rf->peer_info) in irdma_find_handler()
131 if (hdl->iwdev->rf->peer_info->dev == p_dev->dev) { in irdma_find_handler()
165 irdma_get_qos_info(struct irdma_pci_f *rf, struct irdma_l2params *l2params, in irdma_get_qos_info() argument
192 if (!(rf->sc_dev.debug_mask & IRDMA_DEBUG_DCB)) in irdma_get_qos_info()
219 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "num_tc: %d\n", l2params->num_tc); in irdma_get_qos_info()
220 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "num_apps: %d\n", l2params->num_apps); in irdma_get_qos_info()
221 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "vsi_prio_type: %d\n", l2params->vsi_prio_type); in irdma_get_qos_info()
222 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "vsi_rel_bw: %d\n", l2params->vsi_rel_bw); in irdma_get_qos_info()
223 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "egress_virt_up: %s\n", txt[0]); in irdma_get_qos_info()
224 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "ingress_virt_up:%s\n", txt[1]); in irdma_get_qos_info()
225 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "prio_type: %s\n", txt[2]); in irdma_get_qos_info()
226 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "rel_bw: %s\n", txt[3]); in irdma_get_qos_info()
227 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "tc_ctx: %s\n", txt[4]); in irdma_get_qos_info()
228 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "up2tc: %s\n", txt[5]); in irdma_get_qos_info()
229 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_DCB, "dscp_mode: %s\n", txt[6]); in irdma_get_qos_info()
231 irdma_debug_buf(&rf->sc_dev, IRDMA_DEBUG_DCB, "l2params", l2params, sizeof(*l2params)); in irdma_get_qos_info()
311 irdma_log_invalid_mtu(l2params.mtu, &iwdev->rf->sc_dev); in irdma_event_handler()
326 if (!atomic_inc_not_zero(&iwdev->rf->dev_ctx.event_rfcnt)) { in irdma_event_handler()
329 atomic_read(&iwdev->rf->dev_ctx.event_rfcnt)); in irdma_event_handler()
342 irdma_get_qos_info(iwdev->rf, &l2params, &event->port_qos); in irdma_event_handler()
343 if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY) in irdma_event_handler()
350 atomic_dec(&iwdev->rf->dev_ctx.event_rfcnt); in irdma_event_handler()
357 pe_criterr = readl(iwdev->rf->sc_dev.hw_regs[IRDMA_GLPE_CRITERR]); in irdma_event_handler()
361 iwdev->rf->reset = true; in irdma_event_handler()
363 irdma_dev_warn(to_ibdev(&iwdev->rf->sc_dev), in irdma_event_handler()
369 iwdev->rf->reset = true; in irdma_event_handler()
371 if (iwdev->rf->reset) in irdma_event_handler()
372 iwdev->rf->gen_ops.request_reset(iwdev->rf); in irdma_event_handler()
375 iwdev->rf->reset = true; in irdma_event_handler()
410 struct irdma_pci_f *rf = iwdev->rf; in irdma_finalize_task() local
417 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, in irdma_finalize_task()
419 rf->peer_info->pf_id, if_getdunit(peer->ifp)); in irdma_finalize_task()
420 atomic_dec(&rf->dev_ctx.event_rfcnt); in irdma_finalize_task()
422 !atomic_read(&rf->dev_ctx.event_rfcnt), in irdma_finalize_task()
424 if (atomic_read(&rf->dev_ctx.event_rfcnt) != 0) { in irdma_finalize_task()
427 atomic_read(&rf->dev_ctx.event_rfcnt)); in irdma_finalize_task()
429 irdma_dereg_ipaddr_event_cb(rf); in irdma_finalize_task()
437 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, in irdma_finalize_task()
439 rf->peer_info->pf_id, if_getdunit(peer->ifp)); in irdma_finalize_task()
440 irdma_get_qos_info(iwdev->rf, &l2params, &peer->initial_qos_info); in irdma_finalize_task()
441 if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY) in irdma_finalize_task()
457 irdma_sw_stats_tunables_init(rf); in irdma_finalize_task()
461 irdma_reg_ipaddr_event_cb(rf); in irdma_finalize_task()
462 atomic_inc(&rf->dev_ctx.event_rfcnt); in irdma_finalize_task()
463 irdma_debug(&rf->sc_dev, IRDMA_DEBUG_INIT, in irdma_finalize_task()
465 rf->peer_info->pf_id, if_getdunit(peer->ifp)); in irdma_finalize_task()
472 * @rf: RDMA PCI function
475 irdma_alloc_pcidev(struct ice_rdma_peer *peer, struct irdma_pci_f *rf) in irdma_alloc_pcidev() argument
477 rf->pcidev = kzalloc(sizeof(struct pci_dev), GFP_KERNEL); in irdma_alloc_pcidev()
478 if (!rf->pcidev) { in irdma_alloc_pcidev()
481 if (linux_pci_attach_device(rf->dev_ctx.dev, NULL, NULL, rf->pcidev)) in irdma_alloc_pcidev()
489 * @rf: RDMA PCI function
492 irdma_dealloc_pcidev(struct irdma_pci_f *rf) in irdma_dealloc_pcidev() argument
494 linux_pci_detach_device(rf->pcidev); in irdma_dealloc_pcidev()
495 kfree(rf->pcidev); in irdma_dealloc_pcidev()
499 * irdma_fill_device_info - assign initial values to rf variables
507 struct irdma_pci_f *rf = iwdev->rf; in irdma_fill_device_info() local
509 rf->peer_info = peer; in irdma_fill_device_info()
510 rf->gen_ops.register_qset = irdma_register_qset; in irdma_fill_device_info()
511 rf->gen_ops.unregister_qset = irdma_unregister_qset; in irdma_fill_device_info()
513 rf->rdma_ver = IRDMA_GEN_2; in irdma_fill_device_info()
514 rf->sc_dev.hw_attrs.uk_attrs.hw_rev = IRDMA_GEN_2; in irdma_fill_device_info()
515 rf->rsrc_profile = IRDMA_HMC_PROFILE_DEFAULT; in irdma_fill_device_info()
516 rf->rst_to = IRDMA_RST_TIMEOUT_HZ; in irdma_fill_device_info()
517 rf->check_fc = irdma_check_fc_for_qp; in irdma_fill_device_info()
518 rf->gen_ops.request_reset = irdma_request_reset; in irdma_fill_device_info()
519 irdma_set_rf_user_cfg_params(rf); in irdma_fill_device_info()
521 rf->default_vsi.vsi_idx = peer->pf_vsi_num; in irdma_fill_device_info()
522 rf->dev_ctx.dev = peer->dev; in irdma_fill_device_info()
523 rf->dev_ctx.mem_bus_space_tag = rman_get_bustag(peer->pci_mem); in irdma_fill_device_info()
524 rf->dev_ctx.mem_bus_space_handle = rman_get_bushandle(peer->pci_mem); in irdma_fill_device_info()
525 rf->dev_ctx.mem_bus_space_size = rman_get_size(peer->pci_mem); in irdma_fill_device_info()
527 rf->hw.dev_context = &rf->dev_ctx; in irdma_fill_device_info()
528 rf->hw.hw_addr = (u8 *)rman_get_virtual(peer->pci_mem); in irdma_fill_device_info()
529 rf->msix_count = peer->msix.count; in irdma_fill_device_info()
530 rf->msix_info.entry = peer->msix.base; in irdma_fill_device_info()
531 rf->msix_info.vector = peer->msix.count; in irdma_fill_device_info()
533 rf->msix_count, rf->msix_info.entry, rf->msix_info.vector); in irdma_fill_device_info()
535 rf->iwdev = iwdev; in irdma_fill_device_info()
545 if (rf->protocol_used == IRDMA_ROCE_PROTOCOL_ONLY) { in irdma_fill_device_info()
561 struct irdma_pci_f *rf; in irdma_probe() local
583 iwdev->rf = kzalloc(sizeof(*rf), GFP_KERNEL); in irdma_probe()
584 if (!iwdev->rf) { in irdma_probe()
592 irdma_init_tunable(iwdev->rf, if_getdunit(peer->ifp)); in irdma_probe()
594 rf = iwdev->rf; in irdma_probe()
596 if (irdma_alloc_pcidev(peer, rf)) in irdma_probe()
601 if (irdma_ctrl_init_hw(rf)) { in irdma_probe()
606 rf->dev_ctx.task_arg.peer = peer; in irdma_probe()
607 rf->dev_ctx.task_arg.iwdev = iwdev; in irdma_probe()
608 rf->dev_ctx.task_arg.peer = peer; in irdma_probe()
610 TASK_INIT(&hdl->deferred_task, 0, irdma_finalize_task, &rf->dev_ctx.task_arg); in irdma_probe()
622 irdma_dealloc_pcidev(rf); in irdma_probe()
624 kfree(iwdev->rf); in irdma_probe()
662 hdl->iwdev->rf->dev_ctx.task_arg.iwdev = NULL; in irdma_remove()
663 hdl->iwdev->rf->dev_ctx.task_arg.peer = NULL; in irdma_remove()
665 sysctl_ctx_free(&iwdev->rf->tun_info.irdma_sysctl_ctx); in irdma_remove()
666 hdl->iwdev->rf->tun_info.irdma_sysctl_tree = NULL; in irdma_remove()
667 hdl->iwdev->rf->tun_info.sws_sysctl_tree = NULL; in irdma_remove()
669 irdma_ctrl_deinit_hw(iwdev->rf); in irdma_remove()
671 irdma_dealloc_pcidev(iwdev->rf); in irdma_remove()
675 kfree(iwdev->rf); in irdma_remove()
725 if (iwdev && iwdev->rf->reset) in irdma_close()
745 if (!hdl->iwdev->rf->peer_info) in irdma_prep_for_unregister()
753 IRDMA_CLOSE(hdl->iwdev->rf->peer_info); in irdma_prep_for_unregister()
754 IRDMA_REMOVE(hdl->iwdev->rf->peer_info); in irdma_prep_for_unregister()