Lines Matching refs:adapter
53 static void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter);
114 static inline u32 ibmveth_rxq_flags(struct ibmveth_adapter *adapter) in ibmveth_rxq_flags() argument
116 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].flags_off); in ibmveth_rxq_flags()
119 static inline int ibmveth_rxq_toggle(struct ibmveth_adapter *adapter) in ibmveth_rxq_toggle() argument
121 return (ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_TOGGLE) >> in ibmveth_rxq_toggle()
125 static inline int ibmveth_rxq_pending_buffer(struct ibmveth_adapter *adapter) in ibmveth_rxq_pending_buffer() argument
127 return ibmveth_rxq_toggle(adapter) == adapter->rx_queue.toggle; in ibmveth_rxq_pending_buffer()
130 static inline int ibmveth_rxq_buffer_valid(struct ibmveth_adapter *adapter) in ibmveth_rxq_buffer_valid() argument
132 return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_VALID; in ibmveth_rxq_buffer_valid()
135 static inline int ibmveth_rxq_frame_offset(struct ibmveth_adapter *adapter) in ibmveth_rxq_frame_offset() argument
137 return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_OFF_MASK; in ibmveth_rxq_frame_offset()
140 static inline int ibmveth_rxq_frame_length(struct ibmveth_adapter *adapter) in ibmveth_rxq_frame_length() argument
142 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].length); in ibmveth_rxq_frame_length()
145 static inline int ibmveth_rxq_csum_good(struct ibmveth_adapter *adapter) in ibmveth_rxq_csum_good() argument
147 return ibmveth_rxq_flags(adapter) & IBMVETH_RXQ_CSUM_GOOD; in ibmveth_rxq_csum_good()
213 static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, in ibmveth_replenish_buffer_pool() argument
230 skb = netdev_alloc_skb(adapter->netdev, pool->buff_size); in ibmveth_replenish_buffer_pool()
233 netdev_dbg(adapter->netdev, in ibmveth_replenish_buffer_pool()
235 adapter->replenish_no_mem++; in ibmveth_replenish_buffer_pool()
248 dma_addr = dma_map_single(&adapter->vdev->dev, skb->data, in ibmveth_replenish_buffer_pool()
251 if (dma_mapping_error(&adapter->vdev->dev, dma_addr)) in ibmveth_replenish_buffer_pool()
266 adapter->netdev->mtu + in ibmveth_replenish_buffer_pool()
270 lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, in ibmveth_replenish_buffer_pool()
277 adapter->replenish_add_buff_success++; in ibmveth_replenish_buffer_pool()
292 if (!dma_mapping_error(&adapter->vdev->dev, dma_addr)) in ibmveth_replenish_buffer_pool()
293 dma_unmap_single(&adapter->vdev->dev, in ibmveth_replenish_buffer_pool()
297 adapter->replenish_add_buff_failure++; in ibmveth_replenish_buffer_pool()
308 static void ibmveth_update_rx_no_buffer(struct ibmveth_adapter *adapter) in ibmveth_update_rx_no_buffer() argument
310 __be64 *p = adapter->buffer_list_addr + 4096 - 8; in ibmveth_update_rx_no_buffer()
312 adapter->rx_no_buffer = be64_to_cpup(p); in ibmveth_update_rx_no_buffer()
316 static void ibmveth_replenish_task(struct ibmveth_adapter *adapter) in ibmveth_replenish_task() argument
320 adapter->replenish_task_cycles++; in ibmveth_replenish_task()
323 struct ibmveth_buff_pool *pool = &adapter->rx_buff_pool[i]; in ibmveth_replenish_task()
327 ibmveth_replenish_buffer_pool(adapter, pool); in ibmveth_replenish_task()
330 ibmveth_update_rx_no_buffer(adapter); in ibmveth_replenish_task()
334 static void ibmveth_free_buffer_pool(struct ibmveth_adapter *adapter, in ibmveth_free_buffer_pool() argument
346 dma_unmap_single(&adapter->vdev->dev, in ibmveth_free_buffer_pool()
368 static void ibmveth_remove_buffer_from_pool(struct ibmveth_adapter *adapter, in ibmveth_remove_buffer_from_pool() argument
377 BUG_ON(index >= adapter->rx_buff_pool[pool].size); in ibmveth_remove_buffer_from_pool()
379 skb = adapter->rx_buff_pool[pool].skbuff[index]; in ibmveth_remove_buffer_from_pool()
383 adapter->rx_buff_pool[pool].skbuff[index] = NULL; in ibmveth_remove_buffer_from_pool()
385 dma_unmap_single(&adapter->vdev->dev, in ibmveth_remove_buffer_from_pool()
386 adapter->rx_buff_pool[pool].dma_addr[index], in ibmveth_remove_buffer_from_pool()
387 adapter->rx_buff_pool[pool].buff_size, in ibmveth_remove_buffer_from_pool()
390 free_index = adapter->rx_buff_pool[pool].producer_index; in ibmveth_remove_buffer_from_pool()
391 adapter->rx_buff_pool[pool].producer_index++; in ibmveth_remove_buffer_from_pool()
392 if (adapter->rx_buff_pool[pool].producer_index >= in ibmveth_remove_buffer_from_pool()
393 adapter->rx_buff_pool[pool].size) in ibmveth_remove_buffer_from_pool()
394 adapter->rx_buff_pool[pool].producer_index = 0; in ibmveth_remove_buffer_from_pool()
395 adapter->rx_buff_pool[pool].free_map[free_index] = index; in ibmveth_remove_buffer_from_pool()
399 atomic_dec(&(adapter->rx_buff_pool[pool].available)); in ibmveth_remove_buffer_from_pool()
403 static inline struct sk_buff *ibmveth_rxq_get_buffer(struct ibmveth_adapter *adapter) in ibmveth_rxq_get_buffer() argument
405 u64 correlator = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator; in ibmveth_rxq_get_buffer()
410 BUG_ON(index >= adapter->rx_buff_pool[pool].size); in ibmveth_rxq_get_buffer()
412 return adapter->rx_buff_pool[pool].skbuff[index]; in ibmveth_rxq_get_buffer()
416 static int ibmveth_rxq_recycle_buffer(struct ibmveth_adapter *adapter) in ibmveth_rxq_recycle_buffer() argument
418 u32 q_index = adapter->rx_queue.index; in ibmveth_rxq_recycle_buffer()
419 u64 correlator = adapter->rx_queue.queue_addr[q_index].correlator; in ibmveth_rxq_recycle_buffer()
427 BUG_ON(index >= adapter->rx_buff_pool[pool].size); in ibmveth_rxq_recycle_buffer()
429 if (!adapter->rx_buff_pool[pool].active) { in ibmveth_rxq_recycle_buffer()
430 ibmveth_rxq_harvest_buffer(adapter); in ibmveth_rxq_recycle_buffer()
431 ibmveth_free_buffer_pool(adapter, &adapter->rx_buff_pool[pool]); in ibmveth_rxq_recycle_buffer()
436 adapter->rx_buff_pool[pool].buff_size; in ibmveth_rxq_recycle_buffer()
437 desc.fields.address = adapter->rx_buff_pool[pool].dma_addr[index]; in ibmveth_rxq_recycle_buffer()
439 lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc); in ibmveth_rxq_recycle_buffer()
442 netdev_dbg(adapter->netdev, "h_add_logical_lan_buffer failed " in ibmveth_rxq_recycle_buffer()
444 …ibmveth_remove_buffer_from_pool(adapter, adapter->rx_queue.queue_addr[adapter->rx_queue.index].cor… in ibmveth_rxq_recycle_buffer()
448 if (++adapter->rx_queue.index == adapter->rx_queue.num_slots) { in ibmveth_rxq_recycle_buffer()
449 adapter->rx_queue.index = 0; in ibmveth_rxq_recycle_buffer()
450 adapter->rx_queue.toggle = !adapter->rx_queue.toggle; in ibmveth_rxq_recycle_buffer()
457 static void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter) in ibmveth_rxq_harvest_buffer() argument
459 …ibmveth_remove_buffer_from_pool(adapter, adapter->rx_queue.queue_addr[adapter->rx_queue.index].cor… in ibmveth_rxq_harvest_buffer()
461 if (++adapter->rx_queue.index == adapter->rx_queue.num_slots) { in ibmveth_rxq_harvest_buffer()
462 adapter->rx_queue.index = 0; in ibmveth_rxq_harvest_buffer()
463 adapter->rx_queue.toggle = !adapter->rx_queue.toggle; in ibmveth_rxq_harvest_buffer()
467 static void ibmveth_cleanup(struct ibmveth_adapter *adapter) in ibmveth_cleanup() argument
470 struct device *dev = &adapter->vdev->dev; in ibmveth_cleanup()
472 if (adapter->buffer_list_addr != NULL) { in ibmveth_cleanup()
473 if (!dma_mapping_error(dev, adapter->buffer_list_dma)) { in ibmveth_cleanup()
474 dma_unmap_single(dev, adapter->buffer_list_dma, 4096, in ibmveth_cleanup()
476 adapter->buffer_list_dma = DMA_ERROR_CODE; in ibmveth_cleanup()
478 free_page((unsigned long)adapter->buffer_list_addr); in ibmveth_cleanup()
479 adapter->buffer_list_addr = NULL; in ibmveth_cleanup()
482 if (adapter->filter_list_addr != NULL) { in ibmveth_cleanup()
483 if (!dma_mapping_error(dev, adapter->filter_list_dma)) { in ibmveth_cleanup()
484 dma_unmap_single(dev, adapter->filter_list_dma, 4096, in ibmveth_cleanup()
486 adapter->filter_list_dma = DMA_ERROR_CODE; in ibmveth_cleanup()
488 free_page((unsigned long)adapter->filter_list_addr); in ibmveth_cleanup()
489 adapter->filter_list_addr = NULL; in ibmveth_cleanup()
492 if (adapter->rx_queue.queue_addr != NULL) { in ibmveth_cleanup()
493 dma_free_coherent(dev, adapter->rx_queue.queue_len, in ibmveth_cleanup()
494 adapter->rx_queue.queue_addr, in ibmveth_cleanup()
495 adapter->rx_queue.queue_dma); in ibmveth_cleanup()
496 adapter->rx_queue.queue_addr = NULL; in ibmveth_cleanup()
500 if (adapter->rx_buff_pool[i].active) in ibmveth_cleanup()
501 ibmveth_free_buffer_pool(adapter, in ibmveth_cleanup()
502 &adapter->rx_buff_pool[i]); in ibmveth_cleanup()
504 if (adapter->bounce_buffer != NULL) { in ibmveth_cleanup()
505 if (!dma_mapping_error(dev, adapter->bounce_buffer_dma)) { in ibmveth_cleanup()
506 dma_unmap_single(&adapter->vdev->dev, in ibmveth_cleanup()
507 adapter->bounce_buffer_dma, in ibmveth_cleanup()
508 adapter->netdev->mtu + IBMVETH_BUFF_OH, in ibmveth_cleanup()
510 adapter->bounce_buffer_dma = DMA_ERROR_CODE; in ibmveth_cleanup()
512 kfree(adapter->bounce_buffer); in ibmveth_cleanup()
513 adapter->bounce_buffer = NULL; in ibmveth_cleanup()
517 static int ibmveth_register_logical_lan(struct ibmveth_adapter *adapter, in ibmveth_register_logical_lan() argument
528 rc = h_register_logical_lan(adapter->vdev->unit_address, in ibmveth_register_logical_lan()
529 adapter->buffer_list_dma, rxq_desc.desc, in ibmveth_register_logical_lan()
530 adapter->filter_list_dma, mac_address); in ibmveth_register_logical_lan()
534 rc = h_free_logical_lan(adapter->vdev->unit_address); in ibmveth_register_logical_lan()
557 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_open() local
568 napi_enable(&adapter->napi); in ibmveth_open()
571 rxq_entries += adapter->rx_buff_pool[i].size; in ibmveth_open()
573 adapter->buffer_list_addr = (void*) get_zeroed_page(GFP_KERNEL); in ibmveth_open()
574 adapter->filter_list_addr = (void*) get_zeroed_page(GFP_KERNEL); in ibmveth_open()
576 if (!adapter->buffer_list_addr || !adapter->filter_list_addr) { in ibmveth_open()
583 dev = &adapter->vdev->dev; in ibmveth_open()
585 adapter->rx_queue.queue_len = sizeof(struct ibmveth_rx_q_entry) * in ibmveth_open()
587 adapter->rx_queue.queue_addr = in ibmveth_open()
588 dma_alloc_coherent(dev, adapter->rx_queue.queue_len, in ibmveth_open()
589 &adapter->rx_queue.queue_dma, GFP_KERNEL); in ibmveth_open()
590 if (!adapter->rx_queue.queue_addr) { in ibmveth_open()
595 adapter->buffer_list_dma = dma_map_single(dev, in ibmveth_open()
596 adapter->buffer_list_addr, 4096, DMA_BIDIRECTIONAL); in ibmveth_open()
597 adapter->filter_list_dma = dma_map_single(dev, in ibmveth_open()
598 adapter->filter_list_addr, 4096, DMA_BIDIRECTIONAL); in ibmveth_open()
600 if ((dma_mapping_error(dev, adapter->buffer_list_dma)) || in ibmveth_open()
601 (dma_mapping_error(dev, adapter->filter_list_dma))) { in ibmveth_open()
608 adapter->rx_queue.index = 0; in ibmveth_open()
609 adapter->rx_queue.num_slots = rxq_entries; in ibmveth_open()
610 adapter->rx_queue.toggle = 1; in ibmveth_open()
615 adapter->rx_queue.queue_len; in ibmveth_open()
616 rxq_desc.fields.address = adapter->rx_queue.queue_dma; in ibmveth_open()
618 netdev_dbg(netdev, "buffer list @ 0x%p\n", adapter->buffer_list_addr); in ibmveth_open()
619 netdev_dbg(netdev, "filter list @ 0x%p\n", adapter->filter_list_addr); in ibmveth_open()
620 netdev_dbg(netdev, "receive q @ 0x%p\n", adapter->rx_queue.queue_addr); in ibmveth_open()
622 h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_DISABLE); in ibmveth_open()
624 lpar_rc = ibmveth_register_logical_lan(adapter, rxq_desc, mac_address); in ibmveth_open()
631 adapter->buffer_list_dma, in ibmveth_open()
632 adapter->filter_list_dma, in ibmveth_open()
640 if (!adapter->rx_buff_pool[i].active) in ibmveth_open()
642 if (ibmveth_alloc_buffer_pool(&adapter->rx_buff_pool[i])) { in ibmveth_open()
644 adapter->rx_buff_pool[i].active = 0; in ibmveth_open()
657 lpar_rc = h_free_logical_lan(adapter->vdev->unit_address); in ibmveth_open()
663 adapter->bounce_buffer = in ibmveth_open()
665 if (!adapter->bounce_buffer) { in ibmveth_open()
669 adapter->bounce_buffer_dma = in ibmveth_open()
670 dma_map_single(&adapter->vdev->dev, adapter->bounce_buffer, in ibmveth_open()
672 if (dma_mapping_error(dev, adapter->bounce_buffer_dma)) { in ibmveth_open()
690 ibmveth_cleanup(adapter); in ibmveth_open()
691 napi_disable(&adapter->napi); in ibmveth_open()
697 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_close() local
702 napi_disable(&adapter->napi); in ibmveth_close()
704 if (!adapter->pool_config) in ibmveth_close()
707 h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_DISABLE); in ibmveth_close()
710 lpar_rc = h_free_logical_lan(adapter->vdev->unit_address); in ibmveth_close()
720 ibmveth_update_rx_no_buffer(adapter); in ibmveth_close()
722 ibmveth_cleanup(adapter); in ibmveth_close()
773 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_set_csum_offload() local
782 adapter->pool_config = 1; in ibmveth_set_csum_offload()
784 adapter->pool_config = 0; in ibmveth_set_csum_offload()
800 ret = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr); in ibmveth_set_csum_offload()
805 ret4 = h_illan_attributes(adapter->vdev->unit_address, clr_attr, in ibmveth_set_csum_offload()
813 h_illan_attributes(adapter->vdev->unit_address, in ibmveth_set_csum_offload()
820 adapter->fw_ipv4_csum_support = data; in ibmveth_set_csum_offload()
823 ret6 = h_illan_attributes(adapter->vdev->unit_address, in ibmveth_set_csum_offload()
831 h_illan_attributes(adapter->vdev->unit_address, in ibmveth_set_csum_offload()
838 adapter->fw_ipv6_csum_support = data; in ibmveth_set_csum_offload()
841 adapter->rx_csum = data; in ibmveth_set_csum_offload()
859 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_set_tso() local
867 adapter->pool_config = 1; in ibmveth_set_tso()
869 adapter->pool_config = 0; in ibmveth_set_tso()
880 ret1 = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr); in ibmveth_set_tso()
884 ret2 = h_illan_attributes(adapter->vdev->unit_address, clr_attr, in ibmveth_set_tso()
891 h_illan_attributes(adapter->vdev->unit_address, in ibmveth_set_tso()
899 adapter->fw_large_send_support = data; in ibmveth_set_tso()
900 adapter->large_send = data; in ibmveth_set_tso()
910 adapter->large_send = data; in ibmveth_set_tso()
922 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_set_features() local
927 if (rx_csum != adapter->rx_csum) { in ibmveth_set_features()
929 if (rc1 && !adapter->rx_csum) in ibmveth_set_features()
934 if (large_send != adapter->large_send) { in ibmveth_set_features()
936 if (rc2 && !adapter->large_send) in ibmveth_set_features()
969 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_get_ethtool_stats() local
972 data[i] = IBMVETH_GET_STAT(adapter, ibmveth_stats[i].offset); in ibmveth_get_ethtool_stats()
991 static int ibmveth_send(struct ibmveth_adapter *adapter, in ibmveth_send() argument
1005 ret = h_send_logical_lan(adapter->vdev->unit_address, in ibmveth_send()
1010 adapter->fw_large_send_support); in ibmveth_send()
1014 netdev_err(adapter->netdev, "tx: h_send_logical_lan failed " in ibmveth_send()
1025 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_start_xmit() local
1057 if (skb_is_gso(skb) && adapter->fw_large_send_support) in ibmveth_start_xmit()
1081 skb_copy_from_linear_data(skb, adapter->bounce_buffer, in ibmveth_start_xmit()
1085 descs[0].fields.address = adapter->bounce_buffer_dma; in ibmveth_start_xmit()
1087 if (ibmveth_send(adapter, descs, 0)) { in ibmveth_start_xmit()
1088 adapter->tx_send_failed++; in ibmveth_start_xmit()
1099 dma_addr = dma_map_single(&adapter->vdev->dev, skb->data, in ibmveth_start_xmit()
1101 if (dma_mapping_error(&adapter->vdev->dev, dma_addr)) in ibmveth_start_xmit()
1111 dma_addr = skb_frag_dma_map(&adapter->vdev->dev, frag, 0, in ibmveth_start_xmit()
1114 if (dma_mapping_error(&adapter->vdev->dev, dma_addr)) in ibmveth_start_xmit()
1122 if (adapter->fw_large_send_support) { in ibmveth_start_xmit()
1124 adapter->tx_large_packets++; in ibmveth_start_xmit()
1133 adapter->tx_large_packets++; in ibmveth_start_xmit()
1137 if (ibmveth_send(adapter, descs, mss)) { in ibmveth_start_xmit()
1138 adapter->tx_send_failed++; in ibmveth_start_xmit()
1145 dma_unmap_single(&adapter->vdev->dev, in ibmveth_start_xmit()
1151 dma_unmap_page(&adapter->vdev->dev, descs[i].fields.address, in ibmveth_start_xmit()
1162 dma_unmap_page(&adapter->vdev->dev, descs[i].fields.address, in ibmveth_start_xmit()
1169 adapter->tx_map_failed++; in ibmveth_start_xmit()
1177 struct ibmveth_adapter *adapter = in ibmveth_poll() local
1179 struct net_device *netdev = adapter->netdev; in ibmveth_poll()
1186 if (!ibmveth_rxq_pending_buffer(adapter)) in ibmveth_poll()
1190 if (!ibmveth_rxq_buffer_valid(adapter)) { in ibmveth_poll()
1192 adapter->rx_invalid_buffer++; in ibmveth_poll()
1194 ibmveth_rxq_recycle_buffer(adapter); in ibmveth_poll()
1197 int length = ibmveth_rxq_frame_length(adapter); in ibmveth_poll()
1198 int offset = ibmveth_rxq_frame_offset(adapter); in ibmveth_poll()
1199 int csum_good = ibmveth_rxq_csum_good(adapter); in ibmveth_poll()
1201 skb = ibmveth_rxq_get_buffer(adapter); in ibmveth_poll()
1214 if (!ibmveth_rxq_recycle_buffer(adapter)) in ibmveth_poll()
1218 ibmveth_rxq_harvest_buffer(adapter); in ibmveth_poll()
1236 adapter->rx_large_packets++; in ibmveth_poll()
1249 ibmveth_replenish_task(adapter); in ibmveth_poll()
1257 lpar_rc = h_vio_signal(adapter->vdev->unit_address, in ibmveth_poll()
1262 if (ibmveth_rxq_pending_buffer(adapter) && in ibmveth_poll()
1264 lpar_rc = h_vio_signal(adapter->vdev->unit_address, in ibmveth_poll()
1276 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_interrupt() local
1279 if (napi_schedule_prep(&adapter->napi)) { in ibmveth_interrupt()
1280 lpar_rc = h_vio_signal(adapter->vdev->unit_address, in ibmveth_interrupt()
1283 __napi_schedule(&adapter->napi); in ibmveth_interrupt()
1290 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_set_multicast_list() local
1294 (netdev_mc_count(netdev) > adapter->mcastFilterSize)) { in ibmveth_set_multicast_list()
1295 lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, in ibmveth_set_multicast_list()
1306 lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, in ibmveth_set_multicast_list()
1321 lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, in ibmveth_set_multicast_list()
1332 lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, in ibmveth_set_multicast_list()
1344 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_change_mtu() local
1345 struct vio_dev *viodev = adapter->vdev; in ibmveth_change_mtu()
1354 if (new_mtu_oh <= adapter->rx_buff_pool[i].buff_size) in ibmveth_change_mtu()
1362 if (netif_running(adapter->netdev)) { in ibmveth_change_mtu()
1364 adapter->pool_config = 1; in ibmveth_change_mtu()
1365 ibmveth_close(adapter->netdev); in ibmveth_change_mtu()
1366 adapter->pool_config = 0; in ibmveth_change_mtu()
1371 adapter->rx_buff_pool[i].active = 1; in ibmveth_change_mtu()
1373 if (new_mtu_oh <= adapter->rx_buff_pool[i].buff_size) { in ibmveth_change_mtu()
1379 return ibmveth_open(adapter->netdev); in ibmveth_change_mtu()
1385 if (need_restart && (rc = ibmveth_open(adapter->netdev))) in ibmveth_change_mtu()
1410 struct ibmveth_adapter *adapter; in ibmveth_get_desired_dma() local
1422 adapter = netdev_priv(netdev); in ibmveth_get_desired_dma()
1429 if (adapter->rx_buff_pool[i].active) in ibmveth_get_desired_dma()
1431 adapter->rx_buff_pool[i].size * in ibmveth_get_desired_dma()
1432 IOMMU_PAGE_ALIGN(adapter->rx_buff_pool[i]. in ibmveth_get_desired_dma()
1434 rxqentries += adapter->rx_buff_pool[i].size; in ibmveth_get_desired_dma()
1445 struct ibmveth_adapter *adapter = netdev_priv(dev); in ibmveth_set_mac_addr() local
1454 rc = h_change_logical_lan_mac(adapter->vdev->unit_address, mac_address); in ibmveth_set_mac_addr()
1456 netdev_err(adapter->netdev, "h_change_logical_lan_mac failed with rc=%d\n", rc); in ibmveth_set_mac_addr()
1485 struct ibmveth_adapter *adapter; in ibmveth_probe() local
1522 adapter = netdev_priv(netdev); in ibmveth_probe()
1525 adapter->vdev = dev; in ibmveth_probe()
1526 adapter->netdev = netdev; in ibmveth_probe()
1527 adapter->mcastFilterSize = *mcastFilterSize_p; in ibmveth_probe()
1528 adapter->pool_config = 0; in ibmveth_probe()
1530 netif_napi_add(netdev, &adapter->napi, ibmveth_poll, 16); in ibmveth_probe()
1541 ret = h_illan_attributes(adapter->vdev->unit_address, 0, 0, &ret_attr); in ibmveth_probe()
1558 struct kobject *kobj = &adapter->rx_buff_pool[i].kobj; in ibmveth_probe()
1561 ibmveth_init_buffer_pool(&adapter->rx_buff_pool[i], i, in ibmveth_probe()
1570 netdev_dbg(netdev, "adapter @ 0x%p\n", adapter); in ibmveth_probe()
1572 adapter->buffer_list_dma = DMA_ERROR_CODE; in ibmveth_probe()
1573 adapter->filter_list_dma = DMA_ERROR_CODE; in ibmveth_probe()
1574 adapter->rx_queue.queue_dma = DMA_ERROR_CODE; in ibmveth_probe()
1596 struct ibmveth_adapter *adapter = netdev_priv(netdev); in ibmveth_remove() local
1600 kobject_put(&adapter->rx_buff_pool[i].kobj); in ibmveth_remove()
1638 struct ibmveth_adapter *adapter = netdev_priv(netdev); in veth_pool_store() local
1651 adapter->pool_config = 1; in veth_pool_store()
1653 adapter->pool_config = 0; in veth_pool_store()
1665 if (pool == &adapter->rx_buff_pool[i]) in veth_pool_store()
1667 if (!adapter->rx_buff_pool[i].active) in veth_pool_store()
1669 if (mtu <= adapter->rx_buff_pool[i].buff_size) in veth_pool_store()
1679 adapter->pool_config = 1; in veth_pool_store()
1682 adapter->pool_config = 0; in veth_pool_store()
1693 adapter->pool_config = 1; in veth_pool_store()
1695 adapter->pool_config = 0; in veth_pool_store()
1708 adapter->pool_config = 1; in veth_pool_store()
1710 adapter->pool_config = 0; in veth_pool_store()