Print this page
5042 stop using deprecated atomic functions


 770                         /*
 771                          * count a chained packet only once.
 772                          */
 773                         if (tx_msg_p->tx_message != NULL) {
 774                                 freemsg(tx_msg_p->tx_message);
 775                                 tx_msg_p->tx_message = NULL;
 776                         }
 777                         tx_msg_p->flags.dma_type = USE_NONE;
 778                         tx_rd_index = tx_ring_p->rd_index;
 779                         tx_rd_index = (tx_rd_index + 1) &
 780                             tx_ring_p->tx_wrap_mask;
 781                         tx_ring_p->rd_index = tx_rd_index;
 782                         tx_ring_p->descs_pending--;
 783                         tx_desc_p = &tx_desc_ring_vp[tx_rd_index];
 784                         tx_msg_p = &tx_msg_ring[tx_rd_index];
 785                 }
 786 
 787                 status = (nmblks <= ((int)tx_ring_p->tx_ring_size -
 788                     (int)tx_ring_p->descs_pending - TX_FULL_MARK));
 789                 if (status) {
 790                         (void) cas32((uint32_t *)&tx_ring_p->queueing, 1, 0);

 791                 }
 792         } else {
 793                 status = (nmblks <= ((int)tx_ring_p->tx_ring_size -
 794                     (int)tx_ring_p->descs_pending - TX_FULL_MARK));
 795         }
 796 
 797         HXGE_DEBUG_MSG((hxgep, TX_CTL,
 798             "<== hxge_txdma_reclaim status = 0x%08x", status));
 799         return (status);
 800 }
 801 
 802 uint_t
 803 hxge_tx_intr(caddr_t arg1, caddr_t arg2)
 804 {
 805         p_hxge_ldv_t    ldvp = (p_hxge_ldv_t)arg1;
 806         p_hxge_t        hxgep = (p_hxge_t)arg2;
 807         p_hxge_ldg_t    ldgp;
 808         uint8_t         channel;
 809         uint32_t        vindex;
 810         hpi_handle_t    handle;




 770                         /*
 771                          * count a chained packet only once.
 772                          */
 773                         if (tx_msg_p->tx_message != NULL) {
 774                                 freemsg(tx_msg_p->tx_message);
 775                                 tx_msg_p->tx_message = NULL;
 776                         }
 777                         tx_msg_p->flags.dma_type = USE_NONE;
 778                         tx_rd_index = tx_ring_p->rd_index;
 779                         tx_rd_index = (tx_rd_index + 1) &
 780                             tx_ring_p->tx_wrap_mask;
 781                         tx_ring_p->rd_index = tx_rd_index;
 782                         tx_ring_p->descs_pending--;
 783                         tx_desc_p = &tx_desc_ring_vp[tx_rd_index];
 784                         tx_msg_p = &tx_msg_ring[tx_rd_index];
 785                 }
 786 
 787                 status = (nmblks <= ((int)tx_ring_p->tx_ring_size -
 788                     (int)tx_ring_p->descs_pending - TX_FULL_MARK));
 789                 if (status) {
 790                         (void) atomic_cas_32((uint32_t *)&tx_ring_p->queueing,
 791                             1, 0);
 792                 }
 793         } else {
 794                 status = (nmblks <= ((int)tx_ring_p->tx_ring_size -
 795                     (int)tx_ring_p->descs_pending - TX_FULL_MARK));
 796         }
 797 
 798         HXGE_DEBUG_MSG((hxgep, TX_CTL,
 799             "<== hxge_txdma_reclaim status = 0x%08x", status));
 800         return (status);
 801 }
 802 
 803 uint_t
 804 hxge_tx_intr(caddr_t arg1, caddr_t arg2)
 805 {
 806         p_hxge_ldv_t    ldvp = (p_hxge_ldv_t)arg1;
 807         p_hxge_t        hxgep = (p_hxge_t)arg2;
 808         p_hxge_ldg_t    ldgp;
 809         uint8_t         channel;
 810         uint32_t        vindex;
 811         hpi_handle_t    handle;