carl9170 firmware: streamline dma_put hot-path
[carl9170fw.git] / carlfw / src / dma.c
index 3da9f8c328c1de3cbd66c478f764bfcc43fb38b9..dc4d2785ac4175fd1ca93cda5c29eba89ba59d63 100644 (file)
@@ -192,7 +192,7 @@ void dma_reclaim(struct dma_queue *q, struct dma_desc *desc)
        desc->status = AR9170_OWN_BITS_SW;
 
        /* 5. Copy TTD to last TD */
-       tdesc.status &= (~AR9170_OWN_BITS_MASK);
+       tdesc.status &= (~AR9170_OWN_BITS);
        copy_dma_desc((void *)q->terminator, (void *)&tdesc);
        q->terminator->status |= AR9170_OWN_BITS_HW;
 
@@ -212,9 +212,6 @@ void dma_put(struct dma_queue *q, struct dma_desc *desc)
 
        tmpDesc = desc;
 
-       /* force correct CTRL_BITS */
-       tmpDesc->ctrl = 0;
-       tmpDesc->ctrl |= AR9170_CTRL_FS_BIT;
        while (1) {
                /* update totalLen */
                tmpDesc->totalLen = desc->totalLen;
@@ -229,9 +226,7 @@ void dma_put(struct dma_queue *q, struct dma_desc *desc)
                        break;
 
                tmpDesc = tmpDesc->nextAddr;
-               tmpDesc->ctrl = 0;
        }
-       tmpDesc->ctrl |= AR9170_CTRL_LS_BIT;
 
        /* 2. Next address of Last TD to be added = first TD */
        desc->lastAddr->nextAddr = desc;
@@ -253,7 +248,7 @@ void dma_put(struct dma_queue *q, struct dma_desc *desc)
        desc->dataAddr = NULL;
 
        /* 5. Copy TTD to last TD */
-       tdesc.status &= (~AR9170_OWN_BITS_MASK);
+       tdesc.status &= (~AR9170_OWN_BITS);
        copy_dma_desc((void *)q->terminator, (void *)&tdesc);
        q->terminator->status |= AR9170_OWN_BITS_HW;