Lines Matching refs:rx

444 struct rx {  struct
445 struct rx *next, *prev; argument
572 struct rx *rxs ____cacheline_aligned;
573 struct rx *rx_to_use;
574 struct rx *rx_to_clean;
1931 static inline void e100_start_receiver(struct nic *nic, struct rx *rx) in e100_start_receiver() argument
1937 if (!rx) rx = nic->rxs; in e100_start_receiver()
1940 if (rx->skb) { in e100_start_receiver()
1941 e100_exec_cmd(nic, ruc_start, rx->dma_addr); in e100_start_receiver()
1947 static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx) in e100_rx_alloc_skb() argument
1949 if (!(rx->skb = netdev_alloc_skb_ip_align(nic->netdev, RFD_BUF_LEN))) in e100_rx_alloc_skb()
1953 skb_copy_to_linear_data(rx->skb, &nic->blank_rfd, sizeof(struct rfd)); in e100_rx_alloc_skb()
1954 rx->dma_addr = pci_map_single(nic->pdev, rx->skb->data, in e100_rx_alloc_skb()
1957 if (pci_dma_mapping_error(nic->pdev, rx->dma_addr)) { in e100_rx_alloc_skb()
1958 dev_kfree_skb_any(rx->skb); in e100_rx_alloc_skb()
1959 rx->skb = NULL; in e100_rx_alloc_skb()
1960 rx->dma_addr = 0; in e100_rx_alloc_skb()
1967 if (rx->prev->skb) { in e100_rx_alloc_skb()
1968 struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data; in e100_rx_alloc_skb()
1969 put_unaligned_le32(rx->dma_addr, &prev_rfd->link); in e100_rx_alloc_skb()
1970 pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr, in e100_rx_alloc_skb()
1977 static int e100_rx_indicate(struct nic *nic, struct rx *rx, in e100_rx_indicate() argument
1981 struct sk_buff *skb = rx->skb; in e100_rx_indicate()
1990 pci_dma_sync_single_for_cpu(nic->pdev, rx->dma_addr, in e100_rx_indicate()
2010 pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr, in e100_rx_indicate()
2024 pci_unmap_single(nic->pdev, rx->dma_addr, in e100_rx_indicate()
2071 rx->skb = NULL; in e100_rx_indicate()
2079 struct rx *rx; in e100_rx_clean() local
2081 struct rx *old_before_last_rx, *new_before_last_rx; in e100_rx_clean()
2085 for (rx = nic->rx_to_clean; rx->skb; rx = nic->rx_to_clean = rx->next) { in e100_rx_clean()
2086 err = e100_rx_indicate(nic, rx, work_done, work_to_do); in e100_rx_clean()
2106 for (rx = nic->rx_to_use; !rx->skb; rx = nic->rx_to_use = rx->next) { in e100_rx_clean()
2107 if (unlikely(e100_rx_alloc_skb(nic, rx))) in e100_rx_clean()
2155 struct rx *rx; in e100_rx_clean_list() local
2161 for (rx = nic->rxs, i = 0; i < count; rx++, i++) { in e100_rx_clean_list()
2162 if (rx->skb) { in e100_rx_clean_list()
2163 pci_unmap_single(nic->pdev, rx->dma_addr, in e100_rx_clean_list()
2165 dev_kfree_skb(rx->skb); in e100_rx_clean_list()
2177 struct rx *rx; in e100_rx_alloc_list() local
2184 if (!(nic->rxs = kcalloc(count, sizeof(struct rx), GFP_ATOMIC))) in e100_rx_alloc_list()
2187 for (rx = nic->rxs, i = 0; i < count; rx++, i++) { in e100_rx_alloc_list()
2188 rx->next = (i + 1 < count) ? rx + 1 : nic->rxs; in e100_rx_alloc_list()
2189 rx->prev = (i == 0) ? nic->rxs + count - 1 : rx - 1; in e100_rx_alloc_list()
2190 if (e100_rx_alloc_skb(nic, rx)) { in e100_rx_alloc_list()
2202 rx = nic->rxs->prev->prev; in e100_rx_alloc_list()
2203 before_last = (struct rfd *)rx->skb->data; in e100_rx_alloc_list()
2206 pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr, in e100_rx_alloc_list()