Lines Matching refs:rxdp
100 static inline int RXD_IS_UP2DT(struct RxD_t *rxdp) in RXD_IS_UP2DT() argument
104 ret = ((!(rxdp->Control_1 & RXD_OWN_XENA)) && in RXD_IS_UP2DT()
105 (GET_RXD_MARKER(rxdp->Control_2) != THE_RXD_MARK)); in RXD_IS_UP2DT()
2457 struct RxD_t *rxdp; in fill_rx_buffers() local
2477 rxdp = ring->rx_blocks[block_no].rxds[off].virt_addr; in fill_rx_buffers()
2481 (rxdp->Host_Control)) { in fill_rx_buffers()
2494 rxdp = ring->rx_blocks[block_no].block_virt_addr; in fill_rx_buffers()
2496 ring->dev->name, rxdp); in fill_rx_buffers()
2500 if ((rxdp->Control_1 & RXD_OWN_XENA) && in fill_rx_buffers()
2502 (rxdp->Control_2 & s2BIT(0)))) { in fill_rx_buffers()
2532 rxdp1 = (struct RxD1 *)rxdp; in fill_rx_buffers()
2533 memset(rxdp, 0, sizeof(struct RxD1)); in fill_rx_buffers()
2542 rxdp->Control_2 = in fill_rx_buffers()
2544 rxdp->Host_Control = (unsigned long)skb; in fill_rx_buffers()
2552 rxdp3 = (struct RxD3 *)rxdp; in fill_rx_buffers()
2556 memset(rxdp, 0, sizeof(struct RxD3)); in fill_rx_buffers()
2582 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN); in fill_rx_buffers()
2615 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1); in fill_rx_buffers()
2616 rxdp->Control_2 |= SET_BUFFER2_SIZE_3 in fill_rx_buffers()
2619 rxdp->Control_2 |= s2BIT(0); in fill_rx_buffers()
2620 rxdp->Host_Control = (unsigned long) (skb); in fill_rx_buffers()
2623 rxdp->Control_1 |= RXD_OWN_XENA; in fill_rx_buffers()
2629 rxdp->Control_2 |= SET_RXD_MARKER; in fill_rx_buffers()
2635 first_rxdp = rxdp; in fill_rx_buffers()
2665 struct RxD_t *rxdp; in free_rxd_blk() local
2673 rxdp = mac_control->rings[ring_no]. in free_rxd_blk()
2675 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control); in free_rxd_blk()
2679 rxdp1 = (struct RxD1 *)rxdp; in free_rxd_blk()
2686 memset(rxdp, 0, sizeof(struct RxD1)); in free_rxd_blk()
2688 rxdp3 = (struct RxD3 *)rxdp; in free_rxd_blk()
2698 memset(rxdp, 0, sizeof(struct RxD3)); in free_rxd_blk()
2893 struct RxD_t *rxdp; in rx_intr_handler() local
2907 rxdp = ring_data->rx_blocks[get_block].rxds[get_info.offset].virt_addr; in rx_intr_handler()
2909 while (RXD_IS_UP2DT(rxdp)) { in rx_intr_handler()
2920 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control); in rx_intr_handler()
2927 rxdp1 = (struct RxD1 *)rxdp; in rx_intr_handler()
2936 rxdp3 = (struct RxD3 *)rxdp; in rx_intr_handler()
2945 rx_osm_handler(ring_data, rxdp); in rx_intr_handler()
2948 rxdp = ring_data->rx_blocks[get_block]. in rx_intr_handler()
2957 rxdp = ring_data->rx_blocks[get_block].block_virt_addr; in rx_intr_handler()
6747 static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp, in set_rxd_buffer_pointer() argument
6755 if ((sp->rxd_mode == RXD_MODE_1) && (rxdp->Host_Control == 0)) { in set_rxd_buffer_pointer()
6756 struct RxD1 *rxdp1 = (struct RxD1 *)rxdp; in set_rxd_buffer_pointer()
6786 rxdp->Host_Control = (unsigned long) (*skb); in set_rxd_buffer_pointer()
6788 } else if ((sp->rxd_mode == RXD_MODE_3B) && (rxdp->Host_Control == 0)) { in set_rxd_buffer_pointer()
6789 struct RxD3 *rxdp3 = (struct RxD3 *)rxdp; in set_rxd_buffer_pointer()
6821 rxdp->Host_Control = (unsigned long) (*skb); in set_rxd_buffer_pointer()
6848 static void set_rxd_buffer_size(struct s2io_nic *sp, struct RxD_t *rxdp, in set_rxd_buffer_size() argument
6853 rxdp->Control_2 = SET_BUFFER0_SIZE_1(size - NET_IP_ALIGN); in set_rxd_buffer_size()
6855 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN); in set_rxd_buffer_size()
6856 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1); in set_rxd_buffer_size()
6857 rxdp->Control_2 |= SET_BUFFER2_SIZE_3(dev->mtu + 4); in set_rxd_buffer_size()
6867 struct RxD_t *rxdp = NULL; in rxd_owner_bit_reset() local
6888 rxdp = ring->rx_blocks[j].rxds[k].virt_addr; in rxd_owner_bit_reset()
6891 if (set_rxd_buffer_pointer(sp, rxdp, ba, &skb, in rxd_owner_bit_reset()
6899 set_rxd_buffer_size(sp, rxdp, size); in rxd_owner_bit_reset()
6902 rxdp->Control_1 |= RXD_OWN_XENA; in rxd_owner_bit_reset()
7282 static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) in rx_osm_handler() argument
7287 ((unsigned long)rxdp->Host_Control); in rx_osm_handler()
7290 unsigned long long err = rxdp->Control_1 & RXD_T_CODE; in rx_osm_handler()
7355 rxdp->Host_Control = 0; in rx_osm_handler()
7360 rxdp->Host_Control = 0; in rx_osm_handler()
7362 int len = RXD_GET_BUFFER0_SIZE_1(rxdp->Control_2); in rx_osm_handler()
7368 int buf0_len = RXD_GET_BUFFER0_SIZE_3(rxdp->Control_2); in rx_osm_handler()
7369 int buf2_len = RXD_GET_BUFFER2_SIZE_3(rxdp->Control_2); in rx_osm_handler()
7377 if ((rxdp->Control_1 & TCP_OR_UDP_FRAME) && in rx_osm_handler()
7379 (!(rxdp->Control_1 & RXD_FRAME_IP_FRAG))) && in rx_osm_handler()
7381 l3_csum = RXD_GET_L3_CKSUM(rxdp->Control_1); in rx_osm_handler()
7382 l4_csum = RXD_GET_L4_CKSUM(rxdp->Control_1); in rx_osm_handler()
7398 rxdp, sp); in rx_osm_handler()
7447 queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2)); in rx_osm_handler()
8182 struct tcphdr **tcp, struct RxD_t *rxdp, in check_L2_lro_capable() argument
8186 u8 l2_type = (u8)((rxdp->Control_1 >> 37) & 0x7), ip_len; in check_L2_lro_capable()
8188 if (!(rxdp->Control_1 & RXD_FRAME_PROTO_TCP)) { in check_L2_lro_capable()
8203 (rxdp->Control_1 & RXD_FRAME_VLAN_TAG)) in check_L2_lro_capable()
8374 struct RxD_t *rxdp, struct s2io_nic *sp) in s2io_club_tcp_session() argument
8383 rxdp, sp); in s2io_club_tcp_session()
8389 vlan_tag = RXD_GET_VLAN_TAG(rxdp->Control_2); in s2io_club_tcp_session()