SAM3/4 and SAMA5 Ethernet: Fix an error in the function that determines the number of free TX descriptors

This commit is contained in:
Gregory Nutt 2014-07-02 10:40:11 -06:00
parent a2741940f9
commit ca353a2644
4 changed files with 8 additions and 9 deletions

View File

@ -516,7 +516,7 @@ static uint16_t sam_txinuse(struct sam_emac_s *priv)
uint32_t txhead32 = (uint32_t)priv->txhead;
if ((uint32_t)priv->txtail > txhead32)
{
return txhead32 += CONFIG_SAM34_EMAC_NTXBUFFERS;
txhead32 += CONFIG_SAM34_EMAC_NTXBUFFERS;
}
return (uint16_t)(txhead32 - (uint32_t)priv->txtail);
@ -1251,7 +1251,7 @@ static void sam_txdone(struct sam_emac_s *priv)
/* At least one TX descriptor is available. Re-enable RX interrupts.
* RX interrupts may previously have been disabled when we ran out of
* TX desciptors (see commits in sam_transmit()).
* TX descriptors (see comments in sam_transmit()).
*/
sam_putreg(priv, SAM_EMAC_IER, EMAC_INT_RCOMP);

View File

@ -521,7 +521,7 @@ static uint16_t sam_txinuse(struct sam_emac_s *priv)
uint32_t txhead32 = (uint32_t)priv->txhead;
if ((uint32_t)priv->txtail > txhead32)
{
return txhead32 += CONFIG_SAMA5_EMAC_NTXBUFFERS;
txhead32 += CONFIG_SAMA5_EMAC_NTXBUFFERS;
}
return (uint16_t)(txhead32 - (uint32_t)priv->txtail);
@ -1293,7 +1293,7 @@ static void sam_txdone(struct sam_emac_s *priv)
/* At least one TX descriptor is available. Re-enable RX interrupts.
* RX interrupts may previously have been disabled when we ran out of
* TX desciptors (see commits in sam_transmit()).
* TX descriptors (see comments in sam_transmit()).
*/
sam_putreg(priv, SAM_EMAC_IER, EMAC_INT_RCOMP);

View File

@ -843,7 +843,7 @@ static uint16_t sam_txinuse(struct sam_emac_s *priv)
uint32_t txhead32 = (uint32_t)priv->txhead;
if ((uint32_t)priv->txtail > txhead32)
{
return txhead32 += priv->attr->ntxbuffers;
txhead32 += priv->attr->ntxbuffers;
}
return (uint16_t)(txhead32 - (uint32_t)priv->txtail);
@ -1259,7 +1259,6 @@ static int sam_recvframe(struct sam_emac_s *priv)
cp15_invalidate_dcache((uintptr_t)rxdesc,
(uintptr_t)rxdesc + sizeof(struct emac_rxdesc_s));
nllvdbg("rxndx: %d\n", rxndx);
while ((rxdesc->addr & EMACRXD_ADDR_OWNER) != 0)
@ -1615,7 +1614,7 @@ static void sam_txdone(struct sam_emac_s *priv)
/* At least one TX descriptor is available. Re-enable RX interrupts.
* RX interrupts may previously have been disabled when we ran out of
* TX descriptors (see commits in sam_transmit()).
* TX descriptors (see comments in sam_transmit()).
*/
sam_putreg(priv, SAM_EMAC_IER_OFFSET, EMAC_INT_RCOMP);

View File

@ -452,7 +452,7 @@ static uint16_t sam_txinuse(struct sam_gmac_s *priv)
uint32_t txhead32 = (uint32_t)priv->txhead;
if ((uint32_t)priv->txtail > txhead32)
{
return txhead32 += CONFIG_SAMA5_GMAC_NTXBUFFERS;
txhead32 += CONFIG_SAMA5_GMAC_NTXBUFFERS;
}
return (uint16_t)(txhead32 - (uint32_t)priv->txtail);
@ -1221,7 +1221,7 @@ static void sam_txdone(struct sam_gmac_s *priv)
/* At least one TX descriptor is available. Re-enable RX interrupts.
* RX interrupts may previously have been disabled when we ran out of
* TX desciptors (see commits in sam_transmit()).
* TX descriptors (see comments in sam_transmit()).
*/
sam_putreg(priv, SAM_GMAC_IER, GMAC_INT_RCOMP);