Lines Matching defs:efx

195  * @efx: The associated Efx NIC
236 * Filled in iff @efx->type->option_descriptors; only used for PIO.
260 struct efx_nic *efx ____cacheline_aligned_in_smp;
356 * @efx: The associated Efx NIC
391 struct efx_nic *efx;
438 * @efx: Associated Efx NIC
493 struct efx_nic *efx;
559 * @efx: The associated NIC
567 struct efx_nic *efx;
612 #define LOOPBACK_MODE(efx) \
613 STRING_TABLE_LOOKUP((efx)->loopback_mode, efx_loopback_mode)
787 * @spec: details of the filter (used as key for hash table). Use efx->type to
1165 static inline int efx_dev_registered(struct efx_nic *efx)
1167 return efx->net_dev->reg_state == NETREG_REGISTERED;
1170 static inline unsigned int efx_port_num(struct efx_nic *efx)
1172 return efx->port_num;
1342 unsigned int (*mem_bar)(struct efx_nic *efx);
1343 unsigned int (*mem_map_size)(struct efx_nic *efx);
1344 int (*probe)(struct efx_nic *efx);
1345 void (*remove)(struct efx_nic *efx);
1346 int (*init)(struct efx_nic *efx);
1347 int (*dimension_resources)(struct efx_nic *efx);
1348 void (*fini)(struct efx_nic *efx);
1349 void (*monitor)(struct efx_nic *efx);
1352 int (*reset)(struct efx_nic *efx, enum reset_type method);
1353 int (*probe_port)(struct efx_nic *efx);
1354 void (*remove_port)(struct efx_nic *efx);
1356 int (*fini_dmaq)(struct efx_nic *efx);
1357 void (*prepare_flush)(struct efx_nic *efx);
1358 void (*finish_flush)(struct efx_nic *efx);
1359 void (*prepare_flr)(struct efx_nic *efx);
1360 void (*finish_flr)(struct efx_nic *efx);
1361 size_t (*describe_stats)(struct efx_nic *efx, u8 *names);
1362 size_t (*update_stats)(struct efx_nic *efx, u64 *full_stats,
1364 size_t (*update_stats_atomic)(struct efx_nic *efx, u64 *full_stats,
1366 void (*start_stats)(struct efx_nic *efx);
1367 void (*pull_stats)(struct efx_nic *efx);
1368 void (*stop_stats)(struct efx_nic *efx);
1370 int (*reconfigure_port)(struct efx_nic *efx);
1371 void (*prepare_enable_fc_tx)(struct efx_nic *efx);
1372 int (*reconfigure_mac)(struct efx_nic *efx, bool mtu_only);
1373 bool (*check_mac_fault)(struct efx_nic *efx);
1374 void (*get_wol)(struct efx_nic *efx, struct ethtool_wolinfo *wol);
1375 int (*set_wol)(struct efx_nic *efx, u32 type);
1376 void (*resume_wol)(struct efx_nic *efx);
1377 unsigned int (*check_caps)(const struct efx_nic *efx,
1380 int (*test_chip)(struct efx_nic *efx, struct efx_self_tests *tests);
1381 int (*test_nvram)(struct efx_nic *efx);
1382 void (*mcdi_request)(struct efx_nic *efx,
1385 bool (*mcdi_poll_response)(struct efx_nic *efx);
1386 void (*mcdi_read_response)(struct efx_nic *efx, efx_dword_t *pdu,
1388 int (*mcdi_poll_reboot)(struct efx_nic *efx);
1389 void (*mcdi_reboot_detected)(struct efx_nic *efx);
1390 void (*irq_enable_master)(struct efx_nic *efx);
1391 int (*irq_test_generate)(struct efx_nic *efx);
1392 void (*irq_disable_non_ev)(struct efx_nic *efx);
1402 int (*rx_push_rss_config)(struct efx_nic *efx, bool user,
1404 int (*rx_pull_rss_config)(struct efx_nic *efx);
1405 int (*rx_push_rss_context_config)(struct efx_nic *efx,
1409 int (*rx_pull_rss_context_config)(struct efx_nic *efx,
1411 void (*rx_restore_rss_contexts)(struct efx_nic *efx);
1426 int (*filter_table_probe)(struct efx_nic *efx);
1427 void (*filter_table_restore)(struct efx_nic *efx);
1428 void (*filter_table_remove)(struct efx_nic *efx);
1429 void (*filter_update_rx_scatter)(struct efx_nic *efx);
1430 s32 (*filter_insert)(struct efx_nic *efx,
1432 int (*filter_remove_safe)(struct efx_nic *efx,
1435 int (*filter_get_safe)(struct efx_nic *efx,
1438 int (*filter_clear_rx)(struct efx_nic *efx,
1440 u32 (*filter_count_rx_used)(struct efx_nic *efx,
1442 u32 (*filter_get_rx_id_limit)(struct efx_nic *efx);
1443 s32 (*filter_get_rx_ids)(struct efx_nic *efx,
1447 bool (*filter_rfs_expire_one)(struct efx_nic *efx, u32 flow_id,
1451 int (*mtd_probe)(struct efx_nic *efx);
1460 void (*ptp_write_host_time)(struct efx_nic *efx, u32 host_time);
1461 int (*ptp_set_ts_sync_events)(struct efx_nic *efx, bool en, bool temp);
1462 int (*ptp_set_ts_config)(struct efx_nic *efx,
1464 int (*sriov_configure)(struct efx_nic *efx, int num_vfs);
1465 int (*vlan_rx_add_vid)(struct efx_nic *efx, __be16 proto, u16 vid);
1466 int (*vlan_rx_kill_vid)(struct efx_nic *efx, __be16 proto, u16 vid);
1467 int (*get_phys_port_id)(struct efx_nic *efx,
1469 int (*sriov_init)(struct efx_nic *efx);
1470 void (*sriov_fini)(struct efx_nic *efx);
1471 bool (*sriov_wanted)(struct efx_nic *efx);
1472 void (*sriov_reset)(struct efx_nic *efx);
1473 void (*sriov_flr)(struct efx_nic *efx, unsigned vf_i);
1474 int (*sriov_set_vf_mac)(struct efx_nic *efx, int vf_i, u8 *mac);
1475 int (*sriov_set_vf_vlan)(struct efx_nic *efx, int vf_i, u16 vlan,
1477 int (*sriov_set_vf_spoofchk)(struct efx_nic *efx, int vf_i,
1479 int (*sriov_get_vf_config)(struct efx_nic *efx, int vf_i,
1481 int (*sriov_set_vf_link_state)(struct efx_nic *efx, int vf_i,
1483 int (*vswitching_probe)(struct efx_nic *efx);
1484 int (*vswitching_restore)(struct efx_nic *efx);
1485 void (*vswitching_remove)(struct efx_nic *efx);
1486 int (*get_mac_address)(struct efx_nic *efx, unsigned char *perm_addr);
1487 int (*set_mac_address)(struct efx_nic *efx);
1488 u32 (*tso_versions)(struct efx_nic *efx);
1489 int (*udp_tnl_push_ports)(struct efx_nic *efx);
1490 bool (*udp_tnl_has_port)(struct efx_nic *efx, __be16 port);
1491 size_t (*print_additional_fwver)(struct efx_nic *efx, char *buf,
1493 void (*sensor_event)(struct efx_nic *efx, efx_qword_t *ev);
1525 efx_get_channel(struct efx_nic *efx, unsigned index)
1527 EFX_WARN_ON_ONCE_PARANOID(index >= efx->n_channels);
1528 return efx->channel[index];
1546 efx_get_tx_channel(struct efx_nic *efx, unsigned int index)
1548 EFX_WARN_ON_ONCE_PARANOID(index >= efx->n_tx_channels);
1549 return efx->channel[efx->tx_channel_offset + index];
1553 efx_get_xdp_channel(struct efx_nic *efx, unsigned int index)
1555 EFX_WARN_ON_ONCE_PARANOID(index >= efx->n_xdp_channels);
1556 return efx->channel[efx->xdp_channel_offset + index];
1561 return channel->channel - channel->efx->xdp_channel_offset <
1562 channel->efx->n_xdp_channels;
1567 return channel && channel->channel >= channel->efx->tx_channel_offset;
1573 return channel->efx->xdp_tx_per_channel;
1574 return channel->efx->tx_queues_per_channel;
1585 efx_get_tx_queue(struct efx_nic *efx, unsigned int index, unsigned int type)
1587 struct efx_channel *channel = efx_get_tx_channel(efx, index);
1715 static inline netdev_features_t efx_supported_features(const struct efx_nic *efx)
1717 const struct net_device *net_dev = efx->net_dev;