arch/arm/src/lpc17xx/lpc17_ethernet.c
/****************************************************************************
 * Function: lpc17_txdone_process
 *
 * Description:
 *   An interrupt was received indicating that the last TX packet(s) is done
 *
 * Parameters:
 *   priv  - Reference to the driver state structure
 *
 * Returned Value:
 *   None
 *
 * Assumptions:
 *   Global interrupts are disabled by interrupt handling logic.
 *
 ****************************************************************************/
lpc17_txdone_process
Description:
An interrupt was received indicating that the last TX packet(s) is done

priv  - Reference to the driver state structure

Returned Value:
None

Global interrupts are disabled by interrupt handling logic.
lpc17_txdone_process Description : An interrupt was received indicating that the last TX packet ( s ) is done priv - Reference to the driver state structure Returned Value : None Global interrupts are disabled by interrupt handling logic .
static void lpc17_txdone_process(struct lpc17_driver_s *priv)
{
  DEBUGASSERT(lpc17_txdesc(priv) == OK);
  if (priv->lp_txpending)
    {
      priv->lp_txpending = false;
      EMAC_STAT(priv, tx_unpend);
      lpc17_transmit(priv);
      priv->lp_inten |= ETH_RXINTS;
      lpc17_putreg(priv->lp_inten, LPC17_ETH_INTEN);
    }
  else
    {
      (void)devif_poll(&priv->lp_dev, lpc17_txpoll);
    }
}
static void lpc17_txdone_process ( struct lpc17_driver_s * priv ) { DEBUGASSERT ( lpc17_txdesc ( priv ) == OK ) ; if ( priv -> lp_txpending ) { priv -> lp_txpending = false ; EMAC_STAT ( priv , tx_unpend ) ; lpc17_transmit ( priv ) ; priv -> lp_inten |= ETH_RXINTS ; lpc17_putreg ( priv -> lp_inten , LPC17_ETH_INTEN ) ; } else { ( void ) devif_poll ( & priv -> lp_dev , lpc17_txpoll ) ; } }
Function: lpc17_txdone_process
 Description:
   An interrupt was received indicating that the last TX packet(s) is done
Function : lpc17_txdone_process Description : An interrupt was received indicating that the last TX packet ( s ) is done
/* Verify that the hardware is ready to send another packet.  Since a Tx
   * just completed, this must be the case.
   */ /* Check if there is a pending Tx transfer that was scheduled by Rx handling
   * while the Tx logic was busy.  If so, processing that pending Tx now.
   */ /* Clear the pending condition, send the packet, and restore Rx interrupts */ /* Otherwise poll the network layer for new XMIT data */