| /linux/drivers/net/ethernet/netronome/nfp/ |
| A D | nfp_net_main.c | 313 pf->app = nfp_app_alloc(pf, nfp_net_pf_get_app_id(pf)); in nfp_net_pf_app_init() 358 nfp_net_pf_free_vnic(pf, pf->ctrl_vnic); in nfp_net_pf_app_clean() 376 err = nfp_net_pf_init_vnic(pf, pf->ctrl_vnic, 0); in nfp_net_pf_app_start_ctrl() 387 nfp_net_pf_clean_vnic(pf, pf->ctrl_vnic); in nfp_net_pf_app_start_ctrl() 396 nfp_net_pf_clean_vnic(pf, pf->ctrl_vnic); in nfp_net_pf_app_stop_ctrl() 407 err = nfp_app_start(pf->app, pf->ctrl_vnic); in nfp_net_pf_app_start() 412 err = nfp_app_sriov_enable(pf->app, pf->num_vfs); in nfp_net_pf_app_start() 611 struct nfp_pf *pf = port->app->pf; in nfp_net_refresh_port_table() local 615 queue_work(pf->wq, &pf->port_refresh_work); in nfp_net_refresh_port_table() 659 pf->max_data_vnics = nfp_net_pf_get_num_ports(pf); in nfp_net_pci_probe() [all …]
|
| A D | nfp_main.c | 146 n = nfp_rtsym_read(pf->cpp, pf->mbox, NFP_MBOX_DATA, in nfp_mbox_cmd() 194 pf->hwinfo = nfp_hwinfo_read(pf->cpp); in nfp_pf_board_state_wait() 566 pf->eth_tbl = __nfp_eth_read_ports(pf->cpp, nsp); in nfp_nsp_init_ports() 582 pf->eth_tbl = __nfp_eth_read_ports(pf->cpp, nsp); in nfp_nsp_init_ports() 723 pf->hwinfo = nfp_hwinfo_read(pf->cpp); in nfp_pci_probe() 740 pf->mip = nfp_mip_open(pf->cpp); in nfp_pci_probe() 741 pf->rtbl = __nfp_rtsym_table_read(pf->cpp, pf->mip); in nfp_pci_probe() 748 pf->dumpspec = nfp_net_dump_load_dumpspec(pf->cpp, pf->rtbl); in nfp_pci_probe() 755 if (pf->num_vfs > pf->limit_vfs) { in nfp_pci_probe() 758 pf->num_vfs, pf->limit_vfs); in nfp_pci_probe() [all …]
|
| A D | nfp_shared_buf.c | 18 for (i = 0; i < pf->num_shared_bufs; i++) in nfp_shared_buf_pool_unit() 19 if (pf->shared_bufs[i].id == sb_id) in nfp_shared_buf_pool_unit() 37 unit_size = nfp_shared_buf_pool_unit(pf, sb); in nfp_shared_buf_pool_get() 69 unit_size = nfp_shared_buf_pool_unit(pf, sb); in nfp_shared_buf_pool_set() 86 if (!pf->mbox) in nfp_shared_buf_register() 102 pf->shared_bufs = kmalloc_array(num_entries, sizeof(pf->shared_bufs[0]), in nfp_shared_buf_register() 104 if (!pf->shared_bufs) { in nfp_shared_buf_register() 125 pf->num_shared_bufs = num_entries; in nfp_shared_buf_register() 135 kfree(pf->shared_bufs); in nfp_shared_buf_register() 146 for (i = 0; i < pf->num_shared_bufs; i++) in nfp_shared_buf_unregister() [all …]
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| A D | otx2_pf.c | 107 devm_kfree(pf->dev, pf->flr_wrk); in otx2_flr_wq_destroy() 113 struct otx2_nic *pf = flrwork->pf; in otx2_flr_handler() local 286 pf->flr_wrk[vf].pf = pf; in otx2_pf_flr_init() 1347 pf->rbsize = otx2_get_rbuf_size(pf, pf->netdev->mtu); in otx2_init_hw_resources() 1551 pf->qset.cq_cnt = pf->hw.rx_queues + pf->hw.tot_tx_queues; in otx2_open() 1555 pf->hw.cint_cnt = max(pf->hw.rx_queues, pf->hw.tx_queues); in otx2_open() 2544 pf->vf_configs = devm_kcalloc(pf->dev, pf->total_vfs, in otx2_sriov_vfcfg_init() 2551 pf->vf_configs[i].pf = pf; in otx2_sriov_vfcfg_init() 2800 qmem_free(pf->dev, pf->dync_lmt); in otx2_probe() 2827 pf = config->pf; in otx2_vf_link_event_task() [all …]
|
| A D | otx2_dmac_flt.c | 17 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_do_add() 21 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_do_add() 34 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_do_add() 43 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_add_pfmac() 47 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_add_pfmac() 54 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_add_pfmac() 99 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_remove_pfmac() 108 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_remove_pfmac() 133 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_get_max_cnt() 150 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_get_max_cnt() [all …]
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| A D | i40e_dcb_nl.c | 135 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setets() 140 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setets() 174 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setpfc() 179 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setpfc() 223 pf->tmp_cfg.app[pf->tmp_cfg.numapps++] = new_app; in i40e_dcbnl_ieee_setapp() 225 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_setapp() 230 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_setapp() 290 ret = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_ieee_delapp() 295 i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status)); in i40e_dcbnl_ieee_delapp() 639 err = i40e_hw_dcb_config(pf, &pf->tmp_cfg); in i40e_dcbnl_cee_set_all() [all …]
|
| A D | i40e_debugfs.c | 32 if (pf->vsi[i] && (pf->vsi[i]->seid == seid)) in i40e_dbg_find_vsi() 48 if (pf->veb[i] && pf->veb[i]->seid == seid) in i40e_dbg_find_veb() 89 pf->vsi[pf->lan_vsi]->netdev->name, in i40e_dbg_command_read() 148 if (vsi == pf->vsi[pf->lan_vsi]) in i40e_dbg_dump_vsi_seid() 814 vsi_seid = pf->vsi[pf->lan_vsi]->seid; in i40e_dbg_command_write() 879 if (pf->veb[i] && pf->veb[i]->seid == uplink_seid) in i40e_dbg_command_write() 912 if (pf->veb[i] && pf->veb[i]->seid == veb_seid) in i40e_dbg_command_write() 1053 vsi = pf->vsi[pf->lan_vsi]; in i40e_dbg_command_write() 1416 pf->vsi[pf->lan_vsi]->seid, in i40e_dbg_command_write() 1434 pf->vsi[pf->lan_vsi]->seid, in i40e_dbg_command_write() [all …]
|
| A D | i40e_ptp.c | 701 if (!(pf->flags & I40E_FLAG_PTP) || !pf->ptp_rx) in i40e_ptp_rx_hang() 754 if (!(pf->flags & I40E_FLAG_PTP) || !pf->ptp_tx) in i40e_ptp_tx_hang() 792 if (!(pf->flags & I40E_FLAG_PTP) || !pf->ptp_tx) in i40e_ptp_tx_hwtstamp() 839 if (!(pf->flags & I40E_FLAG_PTP) || !pf->ptp_rx) in i40e_ptp_rx_hwtstamp() 842 hw = &pf->hw; in i40e_ptp_rx_hwtstamp() 1366 pf->ptp_caps.pin_config = kcalloc(pf->ptp_caps.n_pins, in i40e_init_pin_config() 1421 pf->ptp_clock = ptp_clock_register(&pf->ptp_caps, &pf->pdev->dev); in i40e_ptp_create_clock() 1479 i40e_ptp_settime(&pf->ptp_caps, &pf->ptp_prev_hw_time); in i40e_ptp_restore_hw_time() 1497 struct net_device *netdev = pf->vsi[pf->lan_vsi]->netdev; in i40e_ptp_init() 1543 i40e_ptp_set_timestamp_mode(pf, &pf->tstamp_config); in i40e_ptp_init() [all …]
|
| A D | i40e_main.c | 4360 pf->int_name, pf); in i40e_vsi_request_irq() 4363 pf->int_name, pf); in i40e_vsi_request_irq() 9614 pf = veb->pf; in i40e_veb_link_event() 11882 pf->int_name, pf); in i40e_setup_misc_vector_for_recovery_mode() 14034 pf->vsi[pf->lan_vsi]->seid = pf->main_vsi_seid; in i40e_vsi_reinit_setup() 14337 veb->pf = pf; in i40e_veb_mem_alloc() 14424 pf = veb->pf; in i40e_veb_release() 14644 pf->veb[pf->lan_veb]->uplink_seid = pf->mac_seid; in i40e_setup_pf_switch_element() 14645 pf->veb[pf->lan_veb]->pf = pf; in i40e_setup_pf_switch_element() 14815 pf->vsi[pf->lan_vsi]->seid = pf->main_vsi_seid; in i40e_setup_pf_switch() [all …]
|
| A D | i40e_client.c | 147 struct i40e_pf *pf = ldev->pf; in i40e_client_release_qvlist() local 343 cdev->lan_info.pf = (void *)pf; in i40e_client_add_instance() 464 if (ldev->pf == pf) { in i40e_lan_add_device() 474 ldev->pf = pf; in i40e_lan_add_device() 511 if (ldev->pf == pf) { in i40e_lan_del_device() 539 struct i40e_pf *pf = ldev->pf; in i40e_client_virtchnl_send() local 564 struct i40e_pf *pf = ldev->pf; in i40e_client_setup_qvlist() local 635 struct i40e_pf *pf = ldev->pf; in i40e_client_request_reset() local 670 struct i40e_pf *pf = ldev->pf; in i40e_client_update_vsi_ctxt() local 725 struct i40e_pf *pf = ldev->pf; in i40e_client_device_register() local [all …]
|
| A D | i40e_virtchnl_pf.c | 111 struct i40e_pf *pf = vf->pf; in i40e_vc_notify_vf_link_state() local 193 struct i40e_pf *pf = vf->pf; in i40e_vc_reset_vf() local 234 struct i40e_pf *pf = vf->pf; in i40e_vc_isvalid_vsi_id() local 251 struct i40e_pf *pf = vf->pf; in i40e_vc_isvalid_queue_id() local 266 struct i40e_pf *pf = vf->pf; in i40e_vc_isvalid_vector_id() local 284 struct i40e_pf *pf = vf->pf; in i40e_vc_get_pf_queue_id() local 346 struct i40e_pf *pf = vf->pf; in i40e_config_irq_link_list() local 450 struct i40e_pf *pf = vf->pf; in i40e_release_iwarp_qvlist() local 503 struct i40e_pf *pf = vf->pf; in i40e_config_iwarp_qvlist() local 1759 vfs[i].pf = pf; in i40e_alloc_vfs() [all …]
|
| /linux/drivers/block/paride/ |
| A D | pf.c | 359 if (!pf->access && pf->removable) in pf_release() 413 write_reg(pf, 6, 0xa0+0x10*pf->drive); in pf_command() 524 write_reg(pf, 6, 0xa0+0x10*pf->drive); in pf_reset() 603 pf->name, pf->drive, pf->lun, bs); in pf_get_capacity() 624 pf->name, pf->drive, pf->lun, dt); in pf_identify() 640 pf->name, mf, id, ms[pf->drive], pf->lun, dt); in pf_identify() 660 for (pf->drive = 0; pf->drive <= 1; pf->drive++) in pf_probe() 665 for (pf->lun = 0; pf->lun < 8; pf->lun++) in pf_probe() 674 for (pf->lun = 0; pf->lun < 8; pf->lun++) in pf_probe() 935 disk = blk_mq_alloc_disk(&pf->tag_set, pf); in pf_init_unit() [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| A D | ice_eswitch.c | 130 ice_for_each_vf(pf, i) { in ice_eswitch_setup_reprs() 178 ice_for_each_vf(pf, i) { in ice_eswitch_setup_reprs() 218 ice_for_each_vf(pf, i) { in ice_eswitch_release_reprs() 349 ice_for_each_vf(pf, i) in ice_eswitch_napi_del() 361 ice_for_each_vf(pf, i) in ice_eswitch_napi_enable() 373 ice_for_each_vf(pf, i) in ice_eswitch_napi_disable() 403 pf->switchdev.control_vsi = ice_eswitch_vsi_setup(pf, pf->hw.port_info); in ice_eswitch_enable_switchdev() 408 pf->switchdev.uplink_vsi = ice_get_main_vsi(pf); in ice_eswitch_enable_switchdev() 480 pf->hw.pf_id); in ice_eswitch_mode_set() 486 pf->hw.pf_id); in ice_eswitch_mode_set() [all …]
|
| A D | ice_main.c | 102 if (pf->vsi[v] && pf->vsi[v]->type == ICE_VSI_PF) { in ice_check_for_hang_subtask() 1096 pf->serv_tmr_prev + pf->serv_tmr_period)) in ice_watchdog_subtask() 1106 if (pf->vsi[i] && pf->vsi[i]->netdev) in ice_watchdog_subtask() 1616 struct ice_pf *pf = from_timer(pf, t, serv_tmr); in ice_service_timer() local 3075 pf->msix_entries[pf->oicr_idx].vector, pf); in ice_free_irq_msix_misc() 3147 ice_misc_intr, 0, pf->int_name, pf); in ice_req_irq_msix_misc() 3528 vsi = ice_pf_vsi_setup(pf, pf->hw.port_info); in ice_setup_pf_sw() 3738 devm_kfree(ice_pf_to_dev(pf), pf->avail_txqs); in ice_init_pf() 4293 pf->vsi[pf->ctrl_vsi_idx] = NULL; in ice_init_fdir() 4578 pf->vsi = devm_kcalloc(dev, pf->num_alloc_vsi, sizeof(*pf->vsi), in ice_probe() [all …]
|
| A D | ice_idc.c | 20 adev = pf->adev; in ice_get_auxiliary_drv() 37 if (!pf->adev) in ice_send_event_to_aux() 57 if (pf->vsi[i] && pf->vsi[i]->vsi_num == vsi_num) in ice_find_vsi() 155 if (WARN_ON(!pf)) in ice_rdma_request_reset() 188 if (WARN_ON(!pf)) in ice_rdma_update_vsi_filter() 242 index = ice_get_res(pf, pf->irq_tracker, pf->num_rdma_msix, in ice_reserve_rdma_qvector() 246 pf->num_avail_sw_msix -= pf->num_rdma_msix; in ice_reserve_rdma_qvector() 285 pf->adev = adev; in ice_plug_aux_dev() 286 iadev->pf = pf; in ice_plug_aux_dev() 315 if (!pf->adev) in ice_unplug_aux_dev() [all …]
|
| A D | ice_ptp.c | 354 if (pf->ptp.clock) in ice_get_ptp_clock_index() 399 if (!pf->ptp.clock) in ice_set_ptp_clock_index() 968 ice_ptp_cfg_clkout(pf, i, &pf->ptp.perout_channels[i], in ice_ptp_enable_all_clkout() 1463 if (pf->ptp.clock) in ice_ptp_create_clock() 1519 struct ice_pf *pf; in ice_ptp_tx_tstamp_work() local 1529 hw = &pf->hw; in ice_ptp_tx_tstamp_work() 1629 kthread_queue_work(pf->ptp.kworker, &pf->ptp.port.tx.work); in ice_ptp_process_ts() 1887 ice_ptp_init_tx_e810(pf, &pf->ptp.port.tx); in ice_ptp_init() 1906 kthread_queue_delayed_work(pf->ptp.kworker, &pf->ptp.work, 0); in ice_ptp_init() 1935 ice_ptp_release_tx_tracker(pf, &pf->ptp.port.tx); in ice_ptp_release() [all …]
|
| A D | ice_dcb_nl.c | 35 struct ice_pf *pf; in ice_dcbnl_getets() local 37 pf = ice_netdev_to_pf(netdev); in ice_dcbnl_getets() 75 mutex_lock(&pf->tc_mutex); in ice_dcbnl_setets() 146 return pf->dcbx_cap; in ice_dcbnl_getdcbx() 170 if (mode == pf->dcbx_cap) in ice_dcbnl_setdcbx() 179 pf->dcbx_cap = mode; in ice_dcbnl_setdcbx() 264 mutex_lock(&pf->tc_mutex); in ice_dcbnl_setpfc() 637 *cap = pf->dcbx_cap; in ice_dcbnl_get_cap() 994 struct ice_pf *pf; in ice_dcbnl_set_all() local 1001 pi = pf->hw.port_info; in ice_dcbnl_set_all() [all …]
|
| A D | ice_devlink.c | 41 struct ice_hw *hw = &pf->hw; in ice_info_pba() 53 struct ice_hw *hw = &pf->hw; in ice_info_fw_mgmt() 61 struct ice_hw *hw = &pf->hw; in ice_info_fw_api() 504 dev = ice_pf_to_dev(pf); in ice_devlink_create_pf_port() 520 pf->hw.pf_id, err); in ice_devlink_create_pf_port() 558 struct ice_pf *pf; in ice_devlink_create_vf_port() local 561 pf = vf->pf; in ice_devlink_create_vf_port() 567 attrs.pci_vf.pf = pf->hw.bus.func; in ice_devlink_create_vf_port() 731 pf->nvm_region = NULL; in ice_devlink_init_regions() 752 if (pf->nvm_region) in ice_devlink_destroy_regions() [all …]
|
| A D | ice_dcb_lib.c | 37 vsi = ice_get_main_vsi(pf); in ice_is_pfc_causing_hung_q() 71 ice_update_dcb_stats(pf); in ice_is_pfc_causing_hung_q() 285 ice_for_each_vsi(pf, i) { in ice_dcb_ena_dis_vsi() 437 ice_pf_dcb_recfg(pf); in ice_pf_dcb_cfg() 539 mutex_lock(&pf->tc_mutex); in ice_dcb_rebuild() 604 pi = pf->hw.port_info; in ice_dcb_init_cfg() 635 hw = &pf->hw; in ice_dcb_sw_dflt_cfg() 740 ice_for_each_vsi(pf, v) { in ice_pf_dcb_recfg() 875 cur_ps = &pf->stats; in ice_update_dcb_stats() 959 pi = pf->hw.port_info; in ice_dcb_process_lldp_set_mib_change() [all …]
|
| A D | ice_virtchnl_pf.c | 397 struct ice_pf *pf = vf->pf; in ice_is_vf_link_up() local 481 struct ice_pf *pf = vf->pf; in ice_free_vf_res() local 521 struct ice_pf *pf = vf->pf; in ice_dis_vf_mappings() local 706 struct ice_pf *pf = vf->pf; in ice_trigger_vf_reset() local 833 struct ice_pf *pf = vf->pf; in ice_vf_vsi_setup() local 1181 pf = vf->pf; in ice_calc_vf_reg_idx() 1819 pf = vf->pf; in ice_vc_notify_vf_reset() 1937 vf->pf = pf; in ice_set_dflt_settings_vfs() 2282 pf = vf->pf; in ice_vc_send_msg_to_vf() 2902 pf = vf->pf; in ice_check_vf_ready_for_cfg() [all …]
|
| A D | ice_dcb_lib.h | 17 void ice_dcb_rebuild(struct ice_pf *pf); 26 void ice_pf_dcb_recfg(struct ice_pf *pf); 28 int ice_init_pf_dcb(struct ice_pf *pf, bool locked); 29 void ice_update_dcb_stats(struct ice_pf *pf); 34 ice_dcb_process_lldp_set_mib_change(struct ice_pf *pf, 55 static inline bool ice_is_dcb_active(struct ice_pf *pf) in ice_is_dcb_active() argument 58 test_bit(ICE_FLAG_DCB_ENA, pf->flags)); in ice_is_dcb_active() 61 static inline u8 ice_get_pfc_mode(struct ice_pf *pf) in ice_get_pfc_mode() argument 95 dev_dbg(ice_pf_to_dev(pf), "DCB not supported\n"); in ice_init_pf_dcb() 100 ice_pf_dcb_cfg(struct ice_pf __always_unused *pf, in ice_pf_dcb_cfg() argument [all …]
|
| A D | ice_lag.c | 24 struct ice_pf *pf = lag->pf; in ice_lag_set_primary() local 26 if (!pf) in ice_lag_set_primary() 44 struct ice_pf *pf = lag->pf; in ice_lag_set_backup() local 46 if (!pf) in ice_lag_set_backup() 144 struct ice_pf *pf = lag->pf; in ice_lag_link() local 181 struct ice_pf *pf = lag->pf; in ice_lag_unlink() local 373 if (!pf->lag) in ice_init_lag() 375 lag = pf->lag; in ice_init_lag() 384 lag->pf = pf; in ice_init_lag() 420 lag = pf->lag; in ice_deinit_lag() [all …]
|
| /linux/net/lapb/ |
| A D | lapb_in.c | 47 lapb->dev, frame->pf); in lapb_state0_machine() 52 lapb->dev, frame->pf); in lapb_state0_machine() 72 lapb->dev, frame->pf); in lapb_state0_machine() 87 lapb->dev, frame->pf); in lapb_state0_machine() 152 if (frame->pf) { in lapb_state1_machine() 168 if (frame->pf) { in lapb_state1_machine() 206 if (frame->pf) { in lapb_state2_machine() 217 if (frame->pf) { in lapb_state2_machine() 233 if (frame->pf) in lapb_state2_machine() 417 if (frame->pf) in lapb_state3_machine() [all …]
|
| /linux/tools/perf/util/ |
| A D | probe-finder.c | 574 &pf->sp_die, pf->machine, pf->tvar); in convert_variable() 584 pf->pvar->field, &pf->tvar->ref, in convert_variable() 607 pf->tvar->name = strdup(pf->pvar->name); in find_variable() 706 if (!die_find_realfunc(&pf->cu_die, pf->addr, &pf->sp_die)) { in call_probe_finder() 707 if (die_find_tailfunc(&pf->cu_die, pf->addr, &pf->sp_die)) { in call_probe_finder() 740 ret = pf->callback(sc_die, pf); in call_probe_finder() 816 cu_walk_functions_at(&pf->cu_die, pf->addr, in find_best_scope() 1239 if (pf->cfi_eh || pf->cfi_dbg) in debuginfo__find_probes() 1281 struct probe_finder *pf = vf->pf; in copy_variables_cb() local 1288 vf->pf->fb_ops, &pf->sp_die, in copy_variables_cb() [all …]
|
| /linux/drivers/net/ethernet/freescale/enetc/ |
| A D | enetc_pf.c | 60 enetc_set_vlan_promisc(&pf->si->hw, pf->vlan_promisc_simap); in enetc_enable_si_vlan_promisc() 66 enetc_set_vlan_promisc(&pf->si->hw, pf->vlan_promisc_simap); in enetc_disable_si_vlan_promisc() 289 enetc_set_vlan_ht_filter(&pf->si->hw, 0, *pf->vlan_ht_filter); in enetc_sync_vlan_ht_filter() 698 pf->num_vfs = 0; in enetc_sriov_configure() 816 pf->mdio = bus; in enetc_mdio_probe() 823 if (pf->mdio) in enetc_mdio_remove() 871 pf->imdio = bus; in enetc_imdio_create() 885 if (pf->pcs) { in enetc_imdio_remove() 889 if (pf->imdio) { in enetc_imdio_remove() 982 if (pf->pcs) in enetc_pl_mac_config() [all …]
|