Lines Matching refs:rxdp

100 static inline int RXD_IS_UP2DT(struct RxD_t *rxdp)
104 ret = ((!(rxdp->Control_1 & RXD_OWN_XENA)) &&
105 (GET_RXD_MARKER(rxdp->Control_2) != THE_RXD_MARK));
2455 struct RxD_t *rxdp;
2475 rxdp = ring->rx_blocks[block_no].rxds[off].virt_addr;
2479 (rxdp->Host_Control)) {
2492 rxdp = ring->rx_blocks[block_no].block_virt_addr;
2494 ring->dev->name, rxdp);
2498 if ((rxdp->Control_1 & RXD_OWN_XENA) &&
2500 (rxdp->Control_2 & s2BIT(0)))) {
2530 rxdp1 = (struct RxD1 *)rxdp;
2531 memset(rxdp, 0, sizeof(struct RxD1));
2540 rxdp->Control_2 =
2542 rxdp->Host_Control = (unsigned long)skb;
2550 rxdp3 = (struct RxD3 *)rxdp;
2554 memset(rxdp, 0, sizeof(struct RxD3));
2580 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN);
2613 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1);
2614 rxdp->Control_2 |= SET_BUFFER2_SIZE_3
2617 rxdp->Control_2 |= s2BIT(0);
2618 rxdp->Host_Control = (unsigned long) (skb);
2621 rxdp->Control_1 |= RXD_OWN_XENA;
2627 rxdp->Control_2 |= SET_RXD_MARKER;
2633 first_rxdp = rxdp;
2663 struct RxD_t *rxdp;
2671 rxdp = mac_control->rings[ring_no].
2673 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control);
2677 rxdp1 = (struct RxD1 *)rxdp;
2684 memset(rxdp, 0, sizeof(struct RxD1));
2686 rxdp3 = (struct RxD3 *)rxdp;
2696 memset(rxdp, 0, sizeof(struct RxD3));
2891 struct RxD_t *rxdp;
2905 rxdp = ring_data->rx_blocks[get_block].rxds[get_info.offset].virt_addr;
2907 while (RXD_IS_UP2DT(rxdp)) {
2918 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control);
2925 rxdp1 = (struct RxD1 *)rxdp;
2934 rxdp3 = (struct RxD3 *)rxdp;
2943 rx_osm_handler(ring_data, rxdp);
2946 rxdp = ring_data->rx_blocks[get_block].
2955 rxdp = ring_data->rx_blocks[get_block].block_virt_addr;
6736 static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp,
6744 if ((sp->rxd_mode == RXD_MODE_1) && (rxdp->Host_Control == 0)) {
6745 struct RxD1 *rxdp1 = (struct RxD1 *)rxdp;
6775 rxdp->Host_Control = (unsigned long) (*skb);
6777 } else if ((sp->rxd_mode == RXD_MODE_3B) && (rxdp->Host_Control == 0)) {
6778 struct RxD3 *rxdp3 = (struct RxD3 *)rxdp;
6810 rxdp->Host_Control = (unsigned long) (*skb);
6837 static void set_rxd_buffer_size(struct s2io_nic *sp, struct RxD_t *rxdp,
6842 rxdp->Control_2 = SET_BUFFER0_SIZE_1(size - NET_IP_ALIGN);
6844 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN);
6845 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1);
6846 rxdp->Control_2 |= SET_BUFFER2_SIZE_3(dev->mtu + 4);
6856 struct RxD_t *rxdp = NULL;
6877 rxdp = ring->rx_blocks[j].rxds[k].virt_addr;
6880 if (set_rxd_buffer_pointer(sp, rxdp, ba, &skb,
6888 set_rxd_buffer_size(sp, rxdp, size);
6891 rxdp->Control_1 |= RXD_OWN_XENA;
7260 * @rxdp: descriptor
7271 static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp)
7276 ((unsigned long)rxdp->Host_Control);
7279 unsigned long long err = rxdp->Control_1 & RXD_T_CODE;
7344 rxdp->Host_Control = 0;
7349 rxdp->Host_Control = 0;
7351 int len = RXD_GET_BUFFER0_SIZE_1(rxdp->Control_2);
7357 int buf0_len = RXD_GET_BUFFER0_SIZE_3(rxdp->Control_2);
7358 int buf2_len = RXD_GET_BUFFER2_SIZE_3(rxdp->Control_2);
7366 if ((rxdp->Control_1 & TCP_OR_UDP_FRAME) &&
7368 (!(rxdp->Control_1 & RXD_FRAME_IP_FRAG))) &&
7370 l3_csum = RXD_GET_L3_CKSUM(rxdp->Control_1);
7371 l4_csum = RXD_GET_L4_CKSUM(rxdp->Control_1);
7387 rxdp, sp);
7436 queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2));
8171 struct tcphdr **tcp, struct RxD_t *rxdp,
8175 u8 l2_type = (u8)((rxdp->Control_1 >> 37) & 0x7), ip_len;
8177 if (!(rxdp->Control_1 & RXD_FRAME_PROTO_TCP)) {
8192 (rxdp->Control_1 & RXD_FRAME_VLAN_TAG))
8363 struct RxD_t *rxdp, struct s2io_nic *sp)
8372 rxdp, sp);
8378 vlan_tag = RXD_GET_VLAN_TAG(rxdp->Control_2);