Lines Matching defs:descp
126 HCF_STATIC void put_frame_lst( IFBP ifbp, DESC_STRCT *descp, int tx_rx_flag );
1396 put_frame_lst( IFBP ifbp, DESC_STRCT *descp, int tx_rx_flag )
1398 DESC_STRCT *p = descp;
1419 HCFASSERT( descp == p, (hcf_32)descp ) //singleton DescriptorList
1422 descp->BUF_CNT = 0; //&= ~DESC_DMA_OWNED;
1423 ifbp->IFB_FirstDesc[tx_rx_flag] = descp;
1424 // part of alternative ifbp->IFB_LastDesc[tx_rx_flag] = ifbp->IFB_FirstDesc[tx_rx_flag] = descp;
1428 // part of alternative descp = descp->next_desc_addr;
1430 HCFASSERT( ifbp->IFB_FirstDesc[tx_rx_flag], (hcf_32)descp )
1431 HCFASSERT( ifbp->IFB_LastDesc[tx_rx_flag], (hcf_32)descp )
1435 ifbp->IFB_LastDesc[tx_rx_flag]->next_desc_addr = descp;
1436 ifbp->IFB_LastDesc[tx_rx_flag]->next_desc_phys_addr = descp->desc_phys_addr;
1440 descp->BUF_SIZE |= DESC_SOP;
1443 OUT_PORT_DWORD( (ifbp->IFB_IOBase + port), descp->desc_phys_addr );
1503 DESC_STRCT *descp; // pointer to start of FrameList
1505 descp = get_frame_lst( ifbp, DMA_RX );
1506 if ( descp && descp->buf_addr ) //!be aware of the missing curly bracket
1515 DESC_STRCT *p = descp->next_desc_addr; //pointer to 2nd descriptor of frame
1519 i = *(wci_recordp)&descp->buf_addr[HFS_STAT] & ( HFS_STAT_MSG_TYPE | HFS_STAT_ERR );
1529 for ( i=0; i<8; i++) p->buf_addr[i] = descp->buf_addr[HFS_ADDR_DEST + i];
1531 descp->BUF_CNT = HFS_ADDR_DEST;
1535 if ( descp == NULL ) ifbp->IFB_DmaPackets &= (hcf_16)~HREG_EV_RDMAD; //;?could be integrated into get_frame_lst
1537 return descp;
1543 *.MODULE void hcf_dma_rx_put( IFBP ifbp, DESC_STRCT *descp )
1549 * descp address of a DescriptorList
1587 hcf_dma_rx_put( IFBP ifbp, DESC_STRCT *descp )
1594 put_frame_lst( ifbp, descp, DMA_RX );
1596 if ( descp->buf_addr ) {
1597 HCFASSERT( descp->BUF_SIZE == HCF_DMA_RX_BUF1_SIZE, descp->BUF_SIZE )
1598 HCFASSERT( descp->next_desc_addr, 0 ) // first descriptor should be followed by another descriptor
1600 HCFASSERT( descp->next_desc_addr->BUF_SIZE >= 12, descp->next_desc_addr->BUF_SIZE )
1636 DESC_STRCT *descp; // pointer to start of FrameList
1638 descp = get_frame_lst( ifbp, DMA_TX );
1639 if ( descp && descp->buf_addr ) //!be aware of the missing curly bracket
1642 if ( ( descp->BUF_CNT == HFS_TYPE )
1644 || ( descp->BUF_CNT == HFS_DAT )
1647 descp->next_desc_addr->buf_phys_addr -= HCF_DASA_SIZE;
1648 descp->next_desc_addr->BUF_CNT += HCF_DASA_SIZE;
1651 if ( descp == NULL ) { //;?could be integrated into get_frame_lst
1655 return descp;
1661 *.MODULE void hcf_dma_tx_put( IFBP ifbp, DESC_STRCT *descp, hcf_16 tx_cntl )
1667 * descp address of Tx Descriptor Chain (i.e. a single Tx frame)
1775 hcf_dma_tx_put( IFBP ifbp, DESC_STRCT *descp, hcf_16 tx_cntl )
1777 DESC_STRCT *p = descp->next_desc_addr;
1789 if ( descp->buf_addr ) {
1790 *(hcf_16*)(descp->buf_addr + HFS_TX_CNTL) = tx_cntl; /*1*/
1792 HCFASSERT( descp->next_desc_addr, 0 ) //at least 2 descripors
1793 HCFASSERT( descp->BUF_CNT == HFS_ADDR_DEST, descp->BUF_CNT ) //exact length required for 1st buffer
1794 HCFASSERT( descp->BUF_SIZE >= HCF_DMA_TX_BUF1_SIZE, descp->BUF_SIZE ) //minimal storage for encapsulation
1808 descp->buf_addr[i + HFS_ADDR_DEST] = p->buf_addr[i];
1816 *(hcf_16*)(&descp->buf_addr[HFS_LEN]) = (hcf_16)i;
1817 descp->BUF_CNT = HFS_DAT;
1819 descp->next_desc_addr->buf_phys_addr += HCF_DASA_SIZE;
1820 descp->next_desc_addr->BUF_CNT -= HCF_DASA_SIZE;
1825 descp->buf_addr[HFS_TYPE-1] = hcf_encap(&descp->next_desc_addr->buf_addr[HCF_DASA_SIZE]); /*4*/
1826 if ( descp->buf_addr[HFS_TYPE-1] != ENC_NONE ) {
1828 descp->buf_addr[i + HFS_ADDR_DEST] = descp->next_desc_addr->buf_addr[i];
1832 *(hcf_16*)(&descp->buf_addr[HFS_LEN]) = CNV_END_SHORT(i); //!! this converts on ALL platforms, how does that relate to the CCX code
1834 descp->buf_addr[HFS_TYPE - sizeof(snap_header) + i] = snap_header[i];
1836 descp->BUF_CNT = HFS_TYPE; /*8*/
1837 descp->next_desc_addr->buf_phys_addr += HCF_DASA_SIZE;
1838 descp->next_desc_addr->BUF_CNT -= HCF_DASA_SIZE;
1843 put_frame_lst( ifbp, descp, DMA_TX );
2327 *.MODULE int hcf_rcv_msg( IFBP ifbp, DESC_STRCT *descp, unsigned int offset )
2335 * descp Pointer to the Descriptor List location.
2372 * identified by descp.
2414 * - descp is a NULL pointer
2432 hcf_rcv_msg( IFBP ifbp, DESC_STRCT *descp, unsigned int offset )
2445 HCFASSERT( descp, HCF_TRACE_RCV_MSG )
2456 HCFASSERT( ((hcf_32)descp & 3 ) == 0, (hcf_32)descp )
2457 cp = descp->buf_addr;
2458 j = min( (hcf_16)tot_len, descp->BUF_SIZE ); //minimum of "what's` available" and fragment size
2459 descp->BUF_CNT = j;
2473 } while ( ( descp = descp->next_desc_addr ) != NULL );
2490 *.MODULE int hcf_send_msg( IFBP ifbp, DESC_STRCT *descp, hcf_16 tx_cntl )
2497 * descp pointer to the DescriptorList or NULL
2530 * The Send Message Functions transfers a message to NIC memory when it is called with a non-NULL descp.
2534 * The message is copied from the buffer structure identified by descp to the NIC.
2541 * If the descp parameter of the current call is non-NULL, the message as represented by descp is send.
2542 * If the descp parameter of the current call is NULL, and if the preceding call of the Send Message Function had
2543 * a non-NULL descp and the preceding call had the HFS_TX_CNTL_TX_DELAY bit of tx_cntl set, then the message as
2544 * represented by the descp of the preceding call is send.
2593 * - descp is a NULL pointer
2643 hcf_send_msg( IFBP ifbp, DESC_STRCT *descp, hcf_16 tx_cntl )
2646 DESC_STRCT *p /* = descp*/; //working pointer
2652 HCFASSERT( ifbp->IFB_RscInd || descp == NULL, ifbp->IFB_RscInd )
2660 HCFASSERT( ((hcf_32)descp & 3 ) == 0, (hcf_32)descp )
2667 if ( descp ) ifbp->IFB_TxFID = 0; //cancel a pre-put message
2676 for ( p = descp; p; p = p->next_desc_addr ) {
2707 p = descp;
2709 p = descp;
2713 HCFASSERT( ( descp != NULL ) ^ ( tx_cntl & HFS_TX_CNTL_TX_DELAY ), tx_cntl )