Lines Matching refs:txdes

51 	struct ftgmac100_txdes txdes[TX_QUEUE_ENTRIES];  member
154 offsetof(struct ftgmac100_descs, txdes)); in ftgmac100_init_hw()
504 static void ftgmac100_txdes_reset(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_reset() argument
507 txdes->txdes0 &= cpu_to_le32(FTGMAC100_TXDES0_EDOTR); in ftgmac100_txdes_reset()
508 txdes->txdes1 = 0; in ftgmac100_txdes_reset()
509 txdes->txdes2 = 0; in ftgmac100_txdes_reset()
510 txdes->txdes3 = 0; in ftgmac100_txdes_reset()
513 static bool ftgmac100_txdes_owned_by_dma(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_owned_by_dma() argument
515 return txdes->txdes0 & cpu_to_le32(FTGMAC100_TXDES0_TXDMA_OWN); in ftgmac100_txdes_owned_by_dma()
518 static void ftgmac100_txdes_set_dma_own(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_dma_own() argument
525 txdes->txdes0 |= cpu_to_le32(FTGMAC100_TXDES0_TXDMA_OWN); in ftgmac100_txdes_set_dma_own()
528 static void ftgmac100_txdes_set_end_of_ring(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_end_of_ring() argument
530 txdes->txdes0 |= cpu_to_le32(FTGMAC100_TXDES0_EDOTR); in ftgmac100_txdes_set_end_of_ring()
533 static void ftgmac100_txdes_set_first_segment(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_first_segment() argument
535 txdes->txdes0 |= cpu_to_le32(FTGMAC100_TXDES0_FTS); in ftgmac100_txdes_set_first_segment()
538 static void ftgmac100_txdes_set_last_segment(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_last_segment() argument
540 txdes->txdes0 |= cpu_to_le32(FTGMAC100_TXDES0_LTS); in ftgmac100_txdes_set_last_segment()
543 static void ftgmac100_txdes_set_buffer_size(struct ftgmac100_txdes *txdes, in ftgmac100_txdes_set_buffer_size() argument
546 txdes->txdes0 |= cpu_to_le32(FTGMAC100_TXDES0_TXBUF_SIZE(len)); in ftgmac100_txdes_set_buffer_size()
549 static void ftgmac100_txdes_set_txint(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_txint() argument
551 txdes->txdes1 |= cpu_to_le32(FTGMAC100_TXDES1_TXIC); in ftgmac100_txdes_set_txint()
554 static void ftgmac100_txdes_set_tcpcs(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_tcpcs() argument
556 txdes->txdes1 |= cpu_to_le32(FTGMAC100_TXDES1_TCP_CHKSUM); in ftgmac100_txdes_set_tcpcs()
559 static void ftgmac100_txdes_set_udpcs(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_udpcs() argument
561 txdes->txdes1 |= cpu_to_le32(FTGMAC100_TXDES1_UDP_CHKSUM); in ftgmac100_txdes_set_udpcs()
564 static void ftgmac100_txdes_set_ipcs(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_set_ipcs() argument
566 txdes->txdes1 |= cpu_to_le32(FTGMAC100_TXDES1_IP_CHKSUM); in ftgmac100_txdes_set_ipcs()
569 static void ftgmac100_txdes_set_dma_addr(struct ftgmac100_txdes *txdes, in ftgmac100_txdes_set_dma_addr() argument
572 txdes->txdes3 = cpu_to_le32(addr); in ftgmac100_txdes_set_dma_addr()
575 static dma_addr_t ftgmac100_txdes_get_dma_addr(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_get_dma_addr() argument
577 return le32_to_cpu(txdes->txdes3); in ftgmac100_txdes_get_dma_addr()
584 static void ftgmac100_txdes_set_skb(struct ftgmac100_txdes *txdes, in ftgmac100_txdes_set_skb() argument
587 txdes->txdes2 = (unsigned int)skb; in ftgmac100_txdes_set_skb()
590 static struct sk_buff *ftgmac100_txdes_get_skb(struct ftgmac100_txdes *txdes) in ftgmac100_txdes_get_skb() argument
592 return (struct sk_buff *)txdes->txdes2; in ftgmac100_txdes_get_skb()
615 return &priv->descs->txdes[priv->tx_pointer]; in ftgmac100_current_txdes()
621 return &priv->descs->txdes[priv->tx_clean_pointer]; in ftgmac100_current_clean_txdes()
627 struct ftgmac100_txdes *txdes; in ftgmac100_tx_complete_packet() local
634 txdes = ftgmac100_current_clean_txdes(priv); in ftgmac100_tx_complete_packet()
636 if (ftgmac100_txdes_owned_by_dma(txdes)) in ftgmac100_tx_complete_packet()
639 skb = ftgmac100_txdes_get_skb(txdes); in ftgmac100_tx_complete_packet()
640 map = ftgmac100_txdes_get_dma_addr(txdes); in ftgmac100_tx_complete_packet()
649 ftgmac100_txdes_reset(txdes); in ftgmac100_tx_complete_packet()
671 struct ftgmac100_txdes *txdes; in ftgmac100_xmit() local
674 txdes = ftgmac100_current_txdes(priv); in ftgmac100_xmit()
678 ftgmac100_txdes_set_skb(txdes, skb); in ftgmac100_xmit()
679 ftgmac100_txdes_set_dma_addr(txdes, map); in ftgmac100_xmit()
680 ftgmac100_txdes_set_buffer_size(txdes, len); in ftgmac100_xmit()
682 ftgmac100_txdes_set_first_segment(txdes); in ftgmac100_xmit()
683 ftgmac100_txdes_set_last_segment(txdes); in ftgmac100_xmit()
684 ftgmac100_txdes_set_txint(txdes); in ftgmac100_xmit()
691 ftgmac100_txdes_set_ipcs(txdes); in ftgmac100_xmit()
693 ftgmac100_txdes_set_tcpcs(txdes); in ftgmac100_xmit()
695 ftgmac100_txdes_set_udpcs(txdes); in ftgmac100_xmit()
705 ftgmac100_txdes_set_dma_own(txdes); in ftgmac100_xmit()
761 struct ftgmac100_txdes *txdes = &priv->descs->txdes[i]; in ftgmac100_free_buffers() local
762 struct sk_buff *skb = ftgmac100_txdes_get_skb(txdes); in ftgmac100_free_buffers()
763 dma_addr_t map = ftgmac100_txdes_get_dma_addr(txdes); in ftgmac100_free_buffers()
797 ftgmac100_txdes_set_end_of_ring(&priv->descs->txdes[TX_QUEUE_ENTRIES - 1]); in ftgmac100_alloc_buffers()