Lines Matching refs:rxdp
101 static inline int RXD_IS_UP2DT(struct RxD_t *rxdp) in RXD_IS_UP2DT() argument
105 ret = ((!(rxdp->Control_1 & RXD_OWN_XENA)) && in RXD_IS_UP2DT()
106 (GET_RXD_MARKER(rxdp->Control_2) != THE_RXD_MARK)); in RXD_IS_UP2DT()
2454 struct RxD_t *rxdp; in fill_rx_buffers() local
2475 rxdp = ring->rx_blocks[block_no].rxds[off].virt_addr; in fill_rx_buffers()
2483 (rxdp->Host_Control)) { in fill_rx_buffers()
2496 rxdp = ring->rx_blocks[block_no].block_virt_addr; in fill_rx_buffers()
2498 ring->dev->name, rxdp); in fill_rx_buffers()
2502 if ((rxdp->Control_1 & RXD_OWN_XENA) && in fill_rx_buffers()
2504 (rxdp->Control_2 & s2BIT(0)))) { in fill_rx_buffers()
2534 rxdp1 = (struct RxD1 *)rxdp; in fill_rx_buffers()
2535 memset(rxdp, 0, sizeof(struct RxD1)); in fill_rx_buffers()
2545 rxdp->Control_2 = in fill_rx_buffers()
2547 rxdp->Host_Control = (unsigned long)skb; in fill_rx_buffers()
2555 rxdp3 = (struct RxD3 *)rxdp; in fill_rx_buffers()
2559 memset(rxdp, 0, sizeof(struct RxD3)); in fill_rx_buffers()
2586 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN); in fill_rx_buffers()
2620 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1); in fill_rx_buffers()
2621 rxdp->Control_2 |= SET_BUFFER2_SIZE_3 in fill_rx_buffers()
2624 rxdp->Control_2 |= s2BIT(0); in fill_rx_buffers()
2625 rxdp->Host_Control = (unsigned long) (skb); in fill_rx_buffers()
2628 rxdp->Control_1 |= RXD_OWN_XENA; in fill_rx_buffers()
2634 rxdp->Control_2 |= SET_RXD_MARKER; in fill_rx_buffers()
2640 first_rxdp = rxdp; in fill_rx_buffers()
2670 struct RxD_t *rxdp; in free_rxd_blk() local
2678 rxdp = mac_control->rings[ring_no]. in free_rxd_blk()
2680 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control); in free_rxd_blk()
2684 rxdp1 = (struct RxD1 *)rxdp; in free_rxd_blk()
2691 memset(rxdp, 0, sizeof(struct RxD1)); in free_rxd_blk()
2693 rxdp3 = (struct RxD3 *)rxdp; in free_rxd_blk()
2706 memset(rxdp, 0, sizeof(struct RxD3)); in free_rxd_blk()
2901 struct RxD_t *rxdp; in rx_intr_handler() local
2915 rxdp = ring_data->rx_blocks[get_block].rxds[get_info.offset].virt_addr; in rx_intr_handler()
2917 while (RXD_IS_UP2DT(rxdp)) { in rx_intr_handler()
2928 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control); in rx_intr_handler()
2935 rxdp1 = (struct RxD1 *)rxdp; in rx_intr_handler()
2944 rxdp3 = (struct RxD3 *)rxdp; in rx_intr_handler()
2955 rx_osm_handler(ring_data, rxdp); in rx_intr_handler()
2958 rxdp = ring_data->rx_blocks[get_block]. in rx_intr_handler()
2967 rxdp = ring_data->rx_blocks[get_block].block_virt_addr; in rx_intr_handler()
6797 static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp, in set_rxd_buffer_pointer() argument
6805 if ((sp->rxd_mode == RXD_MODE_1) && (rxdp->Host_Control == 0)) { in set_rxd_buffer_pointer()
6806 struct RxD1 *rxdp1 = (struct RxD1 *)rxdp; in set_rxd_buffer_pointer()
6836 rxdp->Host_Control = (unsigned long) (*skb); in set_rxd_buffer_pointer()
6838 } else if ((sp->rxd_mode == RXD_MODE_3B) && (rxdp->Host_Control == 0)) { in set_rxd_buffer_pointer()
6839 struct RxD3 *rxdp3 = (struct RxD3 *)rxdp; in set_rxd_buffer_pointer()
6873 rxdp->Host_Control = (unsigned long) (*skb); in set_rxd_buffer_pointer()
6901 static void set_rxd_buffer_size(struct s2io_nic *sp, struct RxD_t *rxdp, in set_rxd_buffer_size() argument
6906 rxdp->Control_2 = SET_BUFFER0_SIZE_1(size - NET_IP_ALIGN); in set_rxd_buffer_size()
6908 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN); in set_rxd_buffer_size()
6909 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1); in set_rxd_buffer_size()
6910 rxdp->Control_2 |= SET_BUFFER2_SIZE_3(dev->mtu + 4); in set_rxd_buffer_size()
6920 struct RxD_t *rxdp = NULL; in rxd_owner_bit_reset() local
6941 rxdp = ring->rx_blocks[j].rxds[k].virt_addr; in rxd_owner_bit_reset()
6944 if (set_rxd_buffer_pointer(sp, rxdp, ba, &skb, in rxd_owner_bit_reset()
6952 set_rxd_buffer_size(sp, rxdp, size); in rxd_owner_bit_reset()
6955 rxdp->Control_1 |= RXD_OWN_XENA; in rxd_owner_bit_reset()
7325 static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp) in rx_osm_handler() argument
7330 ((unsigned long)rxdp->Host_Control); in rx_osm_handler()
7333 unsigned long long err = rxdp->Control_1 & RXD_T_CODE; in rx_osm_handler()
7398 rxdp->Host_Control = 0; in rx_osm_handler()
7403 rxdp->Host_Control = 0; in rx_osm_handler()
7405 int len = RXD_GET_BUFFER0_SIZE_1(rxdp->Control_2); in rx_osm_handler()
7411 int buf0_len = RXD_GET_BUFFER0_SIZE_3(rxdp->Control_2); in rx_osm_handler()
7412 int buf2_len = RXD_GET_BUFFER2_SIZE_3(rxdp->Control_2); in rx_osm_handler()
7420 if ((rxdp->Control_1 & TCP_OR_UDP_FRAME) && in rx_osm_handler()
7422 (ring_data->lro && (!(rxdp->Control_1 & RXD_FRAME_IP_FRAG)))) && in rx_osm_handler()
7424 l3_csum = RXD_GET_L3_CKSUM(rxdp->Control_1); in rx_osm_handler()
7425 l4_csum = RXD_GET_L4_CKSUM(rxdp->Control_1); in rx_osm_handler()
7441 rxdp, sp); in rx_osm_handler()
7490 queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2)); in rx_osm_handler()
8230 struct tcphdr **tcp, struct RxD_t *rxdp, in check_L2_lro_capable() argument
8234 u8 l2_type = (u8)((rxdp->Control_1 >> 37) & 0x7), ip_len; in check_L2_lro_capable()
8236 if (!(rxdp->Control_1 & RXD_FRAME_PROTO_TCP)) { in check_L2_lro_capable()
8251 (rxdp->Control_1 & RXD_FRAME_VLAN_TAG)) in check_L2_lro_capable()
8422 struct RxD_t *rxdp, struct s2io_nic *sp) in s2io_club_tcp_session() argument
8431 rxdp, sp); in s2io_club_tcp_session()
8437 vlan_tag = RXD_GET_VLAN_TAG(rxdp->Control_2); in s2io_club_tcp_session()