* txdma tx descriptor cache write index reg in txdma address map at 0x1030
*
* txdma error reg in txdma address map at address 0x1034
+ * 0: PyldResend
+ * 1: PyldRewind
+ * 4: DescrResend
+ * 5: DescrRewind
+ * 8: WrbkResend
+ * 9: WrbkRewind
*/
-typedef union _TXDMA_ERROR_t {
- u32 value;
- struct {
-#ifdef _BIT_FIELDS_HTOL
- u32 unused3:22; /* bits 10-31 */
- u32 WrbkRewind:1; /* bit 9 */
- u32 WrbkResend:1; /* bit 8 */
- u32 unused2:2; /* bits 6-7 */
- u32 DescrRewind:1; /* bit 5 */
- u32 DescrResend:1; /* bit 4 */
- u32 unused1:2; /* bits 2-3 */
- u32 PyldRewind:1; /* bit 1 */
- u32 PyldResend:1; /* bit 0 */
-#else
- u32 PyldResend:1; /* bit 0 */
- u32 PyldRewind:1; /* bit 1 */
- u32 unused1:2; /* bits 2-3 */
- u32 DescrResend:1; /* bit 4 */
- u32 DescrRewind:1; /* bit 5 */
- u32 unused2:2; /* bits 6-7 */
- u32 WrbkResend:1; /* bit 8 */
- u32 WrbkRewind:1; /* bit 9 */
- u32 unused3:22; /* bits 10-31 */
-#endif
- } bits;
-} TXDMA_ERROR_t, *PTXDMA_ERROR_t;
-
/*
* Tx DMA Module of JAGCore Address Mapping
* Located at address 0x1000
u32 service_complete; /* 0x1028 */
u32 cache_rd_index; /* 0x102C */
u32 cache_wr_index; /* 0x1030 */
- TXDMA_ERROR_t TxDmaError; /* 0x1034 */
+ u32 TxDmaError; /* 0x1034 */
u32 DescAbortCount; /* 0x1038 */
u32 PayloadAbortCnt; /* 0x103c */
u32 WriteBackAbortCnt; /* 0x1040 */
if (status) {
/* Handle the TXDMA Error interrupt */
if (status & ET_INTR_TXDMA_ERR) {
- TXDMA_ERROR_t TxDmaErr;
+ u32 txdma_err;
/* Following read also clears the register (COR) */
- TxDmaErr.value = readl(&iomem->txdma.TxDmaError.value);
+ txdma_err = readl(&iomem->txdma.TxDmaError);
dev_warn(&etdev->pdev->dev,
"TXDMA_ERR interrupt, error = %d\n",
- TxDmaErr.value);
+ txdma_err);
}
/* Handle Free Buffer Ring 0 and 1 Low interrupt */