• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/

Lines Matching refs:rxdp

102 static inline int RXD_IS_UP2DT(struct RxD_t *rxdp)
106 ret = ((!(rxdp->Control_1 & RXD_OWN_XENA)) &&
107 (GET_RXD_MARKER(rxdp->Control_2) != THE_RXD_MARK));
2517 struct RxD_t *rxdp;
2538 rxdp = ring->rx_blocks[block_no].rxds[off].virt_addr;
2546 (rxdp->Host_Control)) {
2559 rxdp = ring->rx_blocks[block_no].block_virt_addr;
2561 ring->dev->name, rxdp);
2565 if ((rxdp->Control_1 & RXD_OWN_XENA) &&
2567 (rxdp->Control_2 & s2BIT(0)))) {
2597 rxdp1 = (struct RxD1 *)rxdp;
2598 memset(rxdp, 0, sizeof(struct RxD1));
2608 rxdp->Control_2 =
2610 rxdp->Host_Control = (unsigned long)skb;
2618 rxdp3 = (struct RxD3 *)rxdp;
2622 memset(rxdp, 0, sizeof(struct RxD3));
2649 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN);
2683 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1);
2684 rxdp->Control_2 |= SET_BUFFER2_SIZE_3
2687 rxdp->Control_2 |= s2BIT(0);
2688 rxdp->Host_Control = (unsigned long) (skb);
2691 rxdp->Control_1 |= RXD_OWN_XENA;
2697 rxdp->Control_2 |= SET_RXD_MARKER;
2703 first_rxdp = rxdp;
2733 struct RxD_t *rxdp;
2742 rxdp = mac_control->rings[ring_no].
2744 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control);
2748 rxdp1 = (struct RxD1 *)rxdp;
2755 memset(rxdp, 0, sizeof(struct RxD1));
2757 rxdp3 = (struct RxD3 *)rxdp;
2771 memset(rxdp, 0, sizeof(struct RxD3));
2965 struct RxD_t *rxdp;
2976 rxdp = ring_data->rx_blocks[get_block].rxds[get_info.offset].virt_addr;
2978 while (RXD_IS_UP2DT(rxdp)) {
2989 skb = (struct sk_buff *)((unsigned long)rxdp->Host_Control);
2996 rxdp1 = (struct RxD1 *)rxdp;
3005 rxdp3 = (struct RxD3 *)rxdp;
3016 rx_osm_handler(ring_data, rxdp);
3019 rxdp = ring_data->rx_blocks[get_block].
3028 rxdp = ring_data->rx_blocks[get_block].block_virt_addr;
6935 static int set_rxd_buffer_pointer(struct s2io_nic *sp, struct RxD_t *rxdp,
6943 if ((sp->rxd_mode == RXD_MODE_1) && (rxdp->Host_Control == 0)) {
6944 struct RxD1 *rxdp1 = (struct RxD1 *)rxdp;
6974 rxdp->Host_Control = (unsigned long) (*skb);
6976 } else if ((sp->rxd_mode == RXD_MODE_3B) && (rxdp->Host_Control == 0)) {
6977 struct RxD3 *rxdp3 = (struct RxD3 *)rxdp;
7011 rxdp->Host_Control = (unsigned long) (*skb);
7039 static void set_rxd_buffer_size(struct s2io_nic *sp, struct RxD_t *rxdp,
7044 rxdp->Control_2 = SET_BUFFER0_SIZE_1(size - NET_IP_ALIGN);
7046 rxdp->Control_2 = SET_BUFFER0_SIZE_3(BUF0_LEN);
7047 rxdp->Control_2 |= SET_BUFFER1_SIZE_3(1);
7048 rxdp->Control_2 |= SET_BUFFER2_SIZE_3(dev->mtu + 4);
7058 struct RxD_t *rxdp = NULL;
7079 rxdp = ring->rx_blocks[j].rxds[k].virt_addr;
7082 if (set_rxd_buffer_pointer(sp, rxdp, ba, &skb,
7090 set_rxd_buffer_size(sp, rxdp, size);
7093 rxdp->Control_1 |= RXD_OWN_XENA;
7459 static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp)
7464 ((unsigned long)rxdp->Host_Control);
7467 unsigned long long err = rxdp->Control_1 & RXD_T_CODE;
7532 rxdp->Host_Control = 0;
7537 rxdp->Host_Control = 0;
7539 int len = RXD_GET_BUFFER0_SIZE_1(rxdp->Control_2);
7545 int buf0_len = RXD_GET_BUFFER0_SIZE_3(rxdp->Control_2);
7546 int buf2_len = RXD_GET_BUFFER2_SIZE_3(rxdp->Control_2);
7554 if ((rxdp->Control_1 & TCP_OR_UDP_FRAME) &&
7556 (ring_data->lro && (!(rxdp->Control_1 & RXD_FRAME_IP_FRAG)))) &&
7558 l3_csum = RXD_GET_L3_CKSUM(rxdp->Control_1);
7559 l4_csum = RXD_GET_L4_CKSUM(rxdp->Control_1);
7575 rxdp, sp);
7624 queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2));
8386 struct tcphdr **tcp, struct RxD_t *rxdp,
8390 u8 l2_type = (u8)((rxdp->Control_1 >> 37) & 0x7), ip_len;
8392 if (!(rxdp->Control_1 & RXD_FRAME_PROTO_TCP)) {
8407 (rxdp->Control_1 & RXD_FRAME_VLAN_TAG))
8581 struct RxD_t *rxdp, struct s2io_nic *sp)
8590 rxdp, sp);
8596 vlan_tag = RXD_GET_VLAN_TAG(rxdp->Control_2);