Lines Matching refs:nic_data
231 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_usrev() local
236 FRF_CZ_DFLT_EVQ, nic_data->vfdi_channel->channel); in efx_siena_sriov_usrev()
387 struct siena_nic_data *nic_data = efx->nic_data; in __efx_siena_sriov_update_vf_addr() local
391 queue_work(vfdi_workqueue, &nic_data->peer_work); in __efx_siena_sriov_update_vf_addr()
402 struct siena_nic_data *nic_data = efx->nic_data; in __efx_siena_sriov_push_vf_status() local
403 struct vfdi_status *status = nic_data->vfdi_status.addr; in __efx_siena_sriov_push_vf_status()
429 copy[1].from_addr = nic_data->vfdi_status.dma_addr + data_offset; in __efx_siena_sriov_push_vf_status()
437 list_for_each_entry(epp, &nic_data->local_page_list, link) { in __efx_siena_sriov_push_vf_status()
513 struct siena_nic_data *nic_data = efx->nic_data; in map_vi_index() local
523 *vf_out = nic_data->vf + vf_i; in map_vi_index()
763 struct siena_nic_data *nic_data = efx->nic_data; in efx_vfdi_insert_filter() local
787 queue_work(vfdi_workqueue, &nic_data->peer_work); in efx_vfdi_insert_filter()
795 struct siena_nic_data *nic_data = efx->nic_data; in efx_vfdi_remove_all_filters() local
799 queue_work(vfdi_workqueue, &nic_data->peer_work); in efx_vfdi_remove_all_filters()
807 struct siena_nic_data *nic_data = efx->nic_data; in efx_vfdi_set_status_page() local
823 mutex_lock(&nic_data->local_lock); in efx_vfdi_set_status_page()
844 mutex_unlock(&nic_data->local_lock); in efx_vfdi_set_status_page()
1030 struct siena_nic_data *nic_data = channel->efx->nic_data; in efx_siena_sriov_probe_channel() local
1031 nic_data->vfdi_channel = channel; in efx_siena_sriov_probe_channel()
1078 struct siena_nic_data *nic_data = container_of(data, in efx_siena_sriov_peer_work() local
1081 struct efx_nic *efx = nic_data->efx; in efx_siena_sriov_peer_work()
1082 struct vfdi_status *vfdi_status = nic_data->vfdi_status.addr; in efx_siena_sriov_peer_work()
1092 mutex_lock(&nic_data->local_lock); in efx_siena_sriov_peer_work()
1096 list_splice_tail_init(&nic_data->local_page_list, &pages); in efx_siena_sriov_peer_work()
1105 vf = nic_data->vf + pos; in efx_siena_sriov_peer_work()
1118 list_for_each_entry(local_addr, &nic_data->local_addr_list, link) { in efx_siena_sriov_peer_work()
1141 list_add_tail(&epp->link, &nic_data->local_page_list); in efx_siena_sriov_peer_work()
1147 mutex_unlock(&nic_data->local_lock); in efx_siena_sriov_peer_work()
1161 vf = nic_data->vf + pos; in efx_siena_sriov_peer_work()
1172 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_free_local() local
1176 while (!list_empty(&nic_data->local_addr_list)) { in efx_siena_sriov_free_local()
1177 local_addr = list_first_entry(&nic_data->local_addr_list, in efx_siena_sriov_free_local()
1183 while (!list_empty(&nic_data->local_page_list)) { in efx_siena_sriov_free_local()
1184 epp = list_first_entry(&nic_data->local_page_list, in efx_siena_sriov_free_local()
1197 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_vf_alloc() local
1199 nic_data->vf = kcalloc(efx->vf_count, sizeof(*nic_data->vf), in efx_siena_sriov_vf_alloc()
1201 if (!nic_data->vf) in efx_siena_sriov_vf_alloc()
1205 vf = nic_data->vf + index; in efx_siena_sriov_vf_alloc()
1224 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_vfs_fini() local
1229 vf = nic_data->vf + pos; in efx_siena_sriov_vfs_fini()
1243 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_vfs_init() local
1256 buftbl_base = nic_data->vf_buftbl_base; in efx_siena_sriov_vfs_init()
1259 vf = nic_data->vf + index; in efx_siena_sriov_vfs_init()
1289 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_init() local
1305 rc = efx_nic_alloc_buffer(efx, &nic_data->vfdi_status, in efx_siena_sriov_init()
1309 vfdi_status = nic_data->vfdi_status.addr; in efx_siena_sriov_init()
1323 mutex_init(&nic_data->local_lock); in efx_siena_sriov_init()
1324 INIT_WORK(&nic_data->peer_work, efx_siena_sriov_peer_work); in efx_siena_sriov_init()
1325 INIT_LIST_HEAD(&nic_data->local_addr_list); in efx_siena_sriov_init()
1326 INIT_LIST_HEAD(&nic_data->local_page_list); in efx_siena_sriov_init()
1357 cancel_work_sync(&nic_data->peer_work); in efx_siena_sriov_init()
1359 kfree(nic_data->vf); in efx_siena_sriov_init()
1361 efx_nic_free_buffer(efx, &nic_data->vfdi_status); in efx_siena_sriov_init()
1372 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_fini() local
1378 BUG_ON(nic_data->vfdi_channel->enabled); in efx_siena_sriov_fini()
1386 vf = nic_data->vf + pos; in efx_siena_sriov_fini()
1390 cancel_work_sync(&nic_data->peer_work); in efx_siena_sriov_fini()
1397 kfree(nic_data->vf); in efx_siena_sriov_fini()
1398 efx_nic_free_buffer(efx, &nic_data->vfdi_status); in efx_siena_sriov_fini()
1461 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_flr() local
1466 vf = nic_data->vf + vf_i; in efx_siena_sriov_flr()
1479 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_mac_address_changed() local
1480 struct vfdi_status *vfdi_status = nic_data->vfdi_status.addr; in efx_siena_sriov_mac_address_changed()
1486 queue_work(vfdi_workqueue, &nic_data->peer_work); in efx_siena_sriov_mac_address_changed()
1553 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_reset() local
1570 vf = nic_data->vf + vf_i; in efx_siena_sriov_reset()
1596 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_set_vf_mac() local
1601 vf = nic_data->vf + vf_i; in efx_siena_sriov_set_vf_mac()
1614 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_set_vf_vlan() local
1620 vf = nic_data->vf + vf_i; in efx_siena_sriov_set_vf_vlan()
1634 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_set_vf_spoofchk() local
1640 vf = nic_data->vf + vf_i; in efx_siena_sriov_set_vf_spoofchk()
1658 struct siena_nic_data *nic_data = efx->nic_data; in efx_siena_sriov_get_vf_config() local
1664 vf = nic_data->vf + vf_i; in efx_siena_sriov_get_vf_config()