]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/mediatek/mtk_eth_soc.h
net-next: mediatek: add RX IRQ delay support
[karo-tx-linux.git] / drivers / net / ethernet / mediatek / mtk_eth_soc.h
index 3c46a3b613b9db73300acc717db2a7e85cd9f8df..e130c3b24c4cb3c8f0f91ff2a7bbced19a45d44b 100644 (file)
 #define MTK_PST_DRX_IDX_CFG(x) (MTK_PST_DRX_IDX0 << (x))
 
 /* PDMA Delay Interrupt Register */
-#define MTK_PDMA_DELAY_INT     0xa0c
+#define MTK_PDMA_DELAY_INT             0xa0c
+#define MTK_PDMA_DELAY_RX_EN           BIT(15)
+#define MTK_PDMA_DELAY_RX_PINT         4
+#define MTK_PDMA_DELAY_RX_PINT_SHIFT   8
+#define MTK_PDMA_DELAY_RX_PTIME                4
+#define MTK_PDMA_DELAY_RX_DELAY                \
+       (MTK_PDMA_DELAY_RX_EN | MTK_PDMA_DELAY_RX_PTIME | \
+       (MTK_PDMA_DELAY_RX_PINT << MTK_PDMA_DELAY_RX_PINT_SHIFT))
 
 /* PDMA Interrupt Status Register */
 #define MTK_PDMA_INT_STATUS    0xa20
 
 /* QDMA Interrupt Status Register */
 #define MTK_QMTK_INT_STATUS    0x1A18
+#define MTK_RX_DONE_DLY                BIT(30)
 #define MTK_RX_DONE_INT3       BIT(19)
 #define MTK_RX_DONE_INT2       BIT(18)
 #define MTK_RX_DONE_INT1       BIT(17)
 #define MTK_TX_DONE_INT2       BIT(2)
 #define MTK_TX_DONE_INT1       BIT(1)
 #define MTK_TX_DONE_INT0       BIT(0)
-#define MTK_RX_DONE_INT                (MTK_RX_DONE_INT0 | MTK_RX_DONE_INT1 | \
-                                MTK_RX_DONE_INT2 | MTK_RX_DONE_INT3)
+#define MTK_RX_DONE_INT                MTK_RX_DONE_DLY
 #define MTK_TX_DONE_INT                (MTK_TX_DONE_INT0 | MTK_TX_DONE_INT1 | \
                                 MTK_TX_DONE_INT2 | MTK_TX_DONE_INT3)