Lines Matching refs:hwdescr
276 spider_net_get_descr_status(struct spider_net_hw_descr *hwdescr) in spider_net_get_descr_status() argument
278 return hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_IND_PROC_MASK; in spider_net_get_descr_status()
296 descr->hwdescr->next_descr_addr = 0; in spider_net_free_chain()
320 struct spider_net_hw_descr *hwdescr; in spider_net_init_chain() local
335 hwdescr = chain->hwring; in spider_net_init_chain()
337 for (i=0; i < chain->num_desc; i++, descr++, hwdescr++) { in spider_net_init_chain()
338 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_init_chain()
339 hwdescr->next_descr_addr = 0; in spider_net_init_chain()
341 descr->hwdescr = hwdescr; in spider_net_init_chain()
372 pci_unmap_single(card->pdev, descr->hwdescr->buf_addr, in spider_net_free_rx_chain_contents()
396 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_prepare_rx_descr() local
417 hwdescr->buf_size = bufsize; in spider_net_prepare_rx_descr()
418 hwdescr->result_size = 0; in spider_net_prepare_rx_descr()
419 hwdescr->valid_size = 0; in spider_net_prepare_rx_descr()
420 hwdescr->data_status = 0; in spider_net_prepare_rx_descr()
421 hwdescr->data_error = 0; in spider_net_prepare_rx_descr()
436 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_prepare_rx_descr()
438 hwdescr->buf_addr = buf; in spider_net_prepare_rx_descr()
440 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_CARDOWNED | in spider_net_prepare_rx_descr()
511 while (spider_net_get_descr_status(chain->head->hwdescr) == in spider_net_refill_rx_chain()
536 descr->prev->hwdescr->next_descr_addr = descr->bus_addr; in spider_net_alloc_rx_skbs()
663 struct spider_net_hw_descr *hwdescr; in spider_net_prepare_tx_descr() local
683 hwdescr = descr->hwdescr; in spider_net_prepare_tx_descr()
687 hwdescr->buf_addr = buf; in spider_net_prepare_tx_descr()
688 hwdescr->buf_size = skb->len; in spider_net_prepare_tx_descr()
689 hwdescr->next_descr_addr = 0; in spider_net_prepare_tx_descr()
690 hwdescr->data_status = 0; in spider_net_prepare_tx_descr()
692 hwdescr->dmac_cmd_status = in spider_net_prepare_tx_descr()
699 hwdescr->dmac_cmd_status |= SPIDER_NET_DMAC_TCP; in spider_net_prepare_tx_descr()
702 hwdescr->dmac_cmd_status |= SPIDER_NET_DMAC_UDP; in spider_net_prepare_tx_descr()
708 descr->prev->hwdescr->next_descr_addr = descr->bus_addr; in spider_net_prepare_tx_descr()
718 struct spider_net_hw_descr *hwdescr; in spider_net_set_low_watermark() local
727 status = descr->hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_set_low_watermark()
746 descr->hwdescr->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG; in spider_net_set_low_watermark()
748 hwdescr = card->low_watermark->hwdescr; in spider_net_set_low_watermark()
749 hwdescr->dmac_cmd_status = in spider_net_set_low_watermark()
750 hwdescr->dmac_cmd_status & ~SPIDER_NET_DESCR_TXDESFLG; in spider_net_set_low_watermark()
775 struct spider_net_hw_descr *hwdescr; in spider_net_release_tx_chain() local
788 hwdescr = descr->hwdescr; in spider_net_release_tx_chain()
790 status = spider_net_get_descr_status(hwdescr); in spider_net_release_tx_chain()
825 hwdescr->dmac_cmd_status |= SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_release_tx_chain()
828 buf_addr = hwdescr->buf_addr; in spider_net_release_tx_chain()
863 if (spider_net_get_descr_status(descr->hwdescr) == in spider_net_kick_tx_dma()
956 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_pass_skb_up() local
959 u32 data_status = hwdescr->data_status; in spider_net_pass_skb_up()
960 u32 data_error = hwdescr->data_error; in spider_net_pass_skb_up()
962 skb_put(skb, hwdescr->valid_size); in spider_net_pass_skb_up()
996 struct spider_net_hw_descr *hwd = start->hwdescr; in show_rx_chain()
1017 hwd = descr->hwdescr; in show_rx_chain()
1058 struct spider_net_hw_descr *hwd = descr->hwdescr; in show_rx_chain()
1097 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1105 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1109 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1124 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_tail_ptr()
1130 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_tail_ptr()
1156 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_decode_one_descr() local
1160 status = spider_net_get_descr_status(hwdescr); in spider_net_decode_one_descr()
1171 hw_buf_addr = hwdescr->buf_addr; in spider_net_decode_one_descr()
1172 hwdescr->buf_addr = 0xffffffff; in spider_net_decode_one_descr()
1196 if (hwdescr->data_error & SPIDER_NET_DESTROY_RX_FLAGS) { in spider_net_decode_one_descr()
1201 hwdescr->data_status, hwdescr->data_error); in spider_net_decode_one_descr()
1205 if (hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_BAD_STATUS) { in spider_net_decode_one_descr()
1207 hwdescr->dmac_cmd_status); in spider_net_decode_one_descr()
1209 pr_err("buf_size=x%08x\n", hwdescr->buf_size); in spider_net_decode_one_descr()
1210 pr_err("next_descr_addr=x%08x\n", hwdescr->next_descr_addr); in spider_net_decode_one_descr()
1211 pr_err("result_size=x%08x\n", hwdescr->result_size); in spider_net_decode_one_descr()
1212 pr_err("valid_size=x%08x\n", hwdescr->valid_size); in spider_net_decode_one_descr()
1213 pr_err("data_status=x%08x\n", hwdescr->data_status); in spider_net_decode_one_descr()
1214 pr_err("data_error=x%08x\n", hwdescr->data_error); in spider_net_decode_one_descr()
1224 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_decode_one_descr()
1232 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_decode_one_descr()