Lines Matching refs:desc

71         struct tulip_descriptor *desc)  in tulip_desc_read()  argument
76 ldl_be_pci_dma(&s->dev, p, &desc->status, attrs); in tulip_desc_read()
77 ldl_be_pci_dma(&s->dev, p + 4, &desc->control, attrs); in tulip_desc_read()
78 ldl_be_pci_dma(&s->dev, p + 8, &desc->buf_addr1, attrs); in tulip_desc_read()
79 ldl_be_pci_dma(&s->dev, p + 12, &desc->buf_addr2, attrs); in tulip_desc_read()
81 ldl_le_pci_dma(&s->dev, p, &desc->status, attrs); in tulip_desc_read()
82 ldl_le_pci_dma(&s->dev, p + 4, &desc->control, attrs); in tulip_desc_read()
83 ldl_le_pci_dma(&s->dev, p + 8, &desc->buf_addr1, attrs); in tulip_desc_read()
84 ldl_le_pci_dma(&s->dev, p + 12, &desc->buf_addr2, attrs); in tulip_desc_read()
89 struct tulip_descriptor *desc) in tulip_desc_write() argument
94 stl_be_pci_dma(&s->dev, p, desc->status, attrs); in tulip_desc_write()
95 stl_be_pci_dma(&s->dev, p + 4, desc->control, attrs); in tulip_desc_write()
96 stl_be_pci_dma(&s->dev, p + 8, desc->buf_addr1, attrs); in tulip_desc_write()
97 stl_be_pci_dma(&s->dev, p + 12, desc->buf_addr2, attrs); in tulip_desc_write()
99 stl_le_pci_dma(&s->dev, p, desc->status, attrs); in tulip_desc_write()
100 stl_le_pci_dma(&s->dev, p + 4, desc->control, attrs); in tulip_desc_write()
101 stl_le_pci_dma(&s->dev, p + 8, desc->buf_addr1, attrs); in tulip_desc_write()
102 stl_le_pci_dma(&s->dev, p + 12, desc->buf_addr2, attrs); in tulip_desc_write()
134 struct tulip_descriptor *desc) in tulip_dump_tx_descriptor() argument
137 desc->status, desc->control >> 22, in tulip_dump_tx_descriptor()
138 desc->control & 0x7ff, (desc->control >> 11) & 0x7ff, in tulip_dump_tx_descriptor()
139 desc->buf_addr1, desc->buf_addr2); in tulip_dump_tx_descriptor()
143 struct tulip_descriptor *desc) in tulip_dump_rx_descriptor() argument
146 desc->status, desc->control >> 22, in tulip_dump_rx_descriptor()
147 desc->control & 0x7ff, (desc->control >> 11) & 0x7ff, in tulip_dump_rx_descriptor()
148 desc->buf_addr1, desc->buf_addr2); in tulip_dump_rx_descriptor()
152 struct tulip_descriptor *desc) in tulip_next_rx_descriptor() argument
154 if (desc->control & RDES1_RER) { in tulip_next_rx_descriptor()
156 } else if (desc->control & RDES1_RCH) { in tulip_next_rx_descriptor()
157 s->current_rx_desc = desc->buf_addr2; in tulip_next_rx_descriptor()
165 static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc) in tulip_copy_rx_bytes() argument
167 int len1 = (desc->control >> RDES1_BUF1_SIZE_SHIFT) & RDES1_BUF1_SIZE_MASK; in tulip_copy_rx_bytes()
168 int len2 = (desc->control >> RDES1_BUF2_SIZE_SHIFT) & RDES1_BUF2_SIZE_MASK; in tulip_copy_rx_bytes()
178 pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame + in tulip_copy_rx_bytes()
190 pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame + in tulip_copy_rx_bytes()
232 struct tulip_descriptor desc; in tulip_receive() local
246 tulip_desc_read(s, s->current_rx_desc, &desc); in tulip_receive()
247 tulip_dump_rx_descriptor(s, &desc); in tulip_receive()
249 if (!(desc.status & RDES0_OWN)) { in tulip_receive()
254 desc.status = 0; in tulip_receive()
260 desc.status |= RDES0_FS; in tulip_receive()
265 tulip_copy_rx_bytes(s, &desc); in tulip_receive()
268 desc.status |= s->rx_status; in tulip_receive()
272 tulip_dump_rx_descriptor(s, &desc); in tulip_receive()
273 tulip_desc_write(s, s->current_rx_desc, &desc); in tulip_receive()
274 tulip_next_rx_descriptor(s, &desc); in tulip_receive()
561 static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc) in tulip_tx() argument
573 if (desc->control & TDES1_IC) { in tulip_tx()
579 static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc) in tulip_copy_tx_buffers() argument
581 int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK; in tulip_copy_tx_buffers()
582 int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK; in tulip_copy_tx_buffers()
591 pci_dma_read(&s->dev, desc->buf_addr1, in tulip_copy_tx_buffers()
603 pci_dma_read(&s->dev, desc->buf_addr2, in tulip_copy_tx_buffers()
607 desc->status = (len1 + len2) ? 0 : 0x7fffffff; in tulip_copy_tx_buffers()
630 struct tulip_descriptor *desc) in tulip_setup_frame() argument
633 int len = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK; in tulip_setup_frame()
639 pci_dma_read(&s->dev, desc->buf_addr1, buf, len); in tulip_setup_frame()
645 desc->status = 0x7fffffff; in tulip_setup_frame()
647 if (desc->control & TDES1_IC) { in tulip_setup_frame()
654 struct tulip_descriptor *desc) in tulip_next_tx_descriptor() argument
656 if (desc->control & TDES1_TER) { in tulip_next_tx_descriptor()
658 } else if (desc->control & TDES1_TCH) { in tulip_next_tx_descriptor()
659 s->current_tx_desc = desc->buf_addr2; in tulip_next_tx_descriptor()
676 struct tulip_descriptor desc; in tulip_xmit_list_update() local
683 tulip_desc_read(s, s->current_tx_desc, &desc); in tulip_xmit_list_update()
684 tulip_dump_tx_descriptor(s, &desc); in tulip_xmit_list_update()
686 if (!(desc.status & TDES0_OWN)) { in tulip_xmit_list_update()
693 if (desc.control & TDES1_SET) { in tulip_xmit_list_update()
694 tulip_setup_frame(s, &desc); in tulip_xmit_list_update()
696 if (desc.control & TDES1_FS) { in tulip_xmit_list_update()
700 if (!tulip_copy_tx_buffers(s, &desc)) { in tulip_xmit_list_update()
701 if (desc.control & TDES1_LS) { in tulip_xmit_list_update()
702 tulip_tx(s, &desc); in tulip_xmit_list_update()
706 tulip_desc_write(s, s->current_tx_desc, &desc); in tulip_xmit_list_update()
707 tulip_next_tx_descriptor(s, &desc); in tulip_xmit_list_update()