|
@@ -415,7 +415,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
-@@ -2437,8 +2497,8 @@ static int mtk_stop(struct net_device *d
|
|
|
+@@ -2439,8 +2499,8 @@ static int mtk_stop(struct net_device *d
|
|
|
cancel_work_sync(ð->tx_dim.work);
|
|
|
|
|
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
|
|
@@ -426,7 +426,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
|
|
|
mtk_dma_free(eth);
|
|
|
|
|
|
-@@ -2492,6 +2552,7 @@ static void mtk_dim_rx(struct work_struc
|
|
|
+@@ -2494,6 +2554,7 @@ static void mtk_dim_rx(struct work_struc
|
|
|
{
|
|
|
struct dim *dim = container_of(work, struct dim, work);
|
|
|
struct mtk_eth *eth = container_of(dim, struct mtk_eth, rx_dim);
|
|
@@ -434,7 +434,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
struct dim_cq_moder cur_profile;
|
|
|
u32 val, cur;
|
|
|
|
|
|
-@@ -2499,7 +2560,7 @@ static void mtk_dim_rx(struct work_struc
|
|
|
+@@ -2501,7 +2562,7 @@ static void mtk_dim_rx(struct work_struc
|
|
|
dim->profile_ix);
|
|
|
spin_lock_bh(ð->dim_lock);
|
|
|
|
|
@@ -443,7 +443,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
val &= MTK_PDMA_DELAY_TX_MASK;
|
|
|
val |= MTK_PDMA_DELAY_RX_EN;
|
|
|
|
|
|
-@@ -2509,9 +2570,9 @@ static void mtk_dim_rx(struct work_struc
|
|
|
+@@ -2511,9 +2572,9 @@ static void mtk_dim_rx(struct work_struc
|
|
|
cur = min_t(u32, cur_profile.pkts, MTK_PDMA_DELAY_PINT_MASK);
|
|
|
val |= cur << MTK_PDMA_DELAY_RX_PINT_SHIFT;
|
|
|
|
|
@@ -455,7 +455,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
|
|
|
spin_unlock_bh(ð->dim_lock);
|
|
|
|
|
|
-@@ -2522,6 +2583,7 @@ static void mtk_dim_tx(struct work_struc
|
|
|
+@@ -2524,6 +2585,7 @@ static void mtk_dim_tx(struct work_struc
|
|
|
{
|
|
|
struct dim *dim = container_of(work, struct dim, work);
|
|
|
struct mtk_eth *eth = container_of(dim, struct mtk_eth, tx_dim);
|
|
@@ -463,7 +463,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
struct dim_cq_moder cur_profile;
|
|
|
u32 val, cur;
|
|
|
|
|
|
-@@ -2529,7 +2591,7 @@ static void mtk_dim_tx(struct work_struc
|
|
|
+@@ -2531,7 +2593,7 @@ static void mtk_dim_tx(struct work_struc
|
|
|
dim->profile_ix);
|
|
|
spin_lock_bh(ð->dim_lock);
|
|
|
|
|
@@ -472,7 +472,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
val &= MTK_PDMA_DELAY_RX_MASK;
|
|
|
val |= MTK_PDMA_DELAY_TX_EN;
|
|
|
|
|
|
-@@ -2539,9 +2601,9 @@ static void mtk_dim_tx(struct work_struc
|
|
|
+@@ -2541,9 +2603,9 @@ static void mtk_dim_tx(struct work_struc
|
|
|
cur = min_t(u32, cur_profile.pkts, MTK_PDMA_DELAY_PINT_MASK);
|
|
|
val |= cur << MTK_PDMA_DELAY_TX_PINT_SHIFT;
|
|
|
|
|
@@ -484,7 +484,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
|
|
|
spin_unlock_bh(ð->dim_lock);
|
|
|
|
|
|
-@@ -2552,6 +2614,7 @@ static int mtk_hw_init(struct mtk_eth *e
|
|
|
+@@ -2554,6 +2616,7 @@ static int mtk_hw_init(struct mtk_eth *e
|
|
|
{
|
|
|
u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
|
|
|
ETHSYS_DMA_AG_MAP_PPE;
|
|
@@ -492,7 +492,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
int i, val, ret;
|
|
|
|
|
|
if (test_and_set_bit(MTK_HW_INIT, ð->state))
|
|
|
-@@ -2626,10 +2689,10 @@ static int mtk_hw_init(struct mtk_eth *e
|
|
|
+@@ -2628,10 +2691,10 @@ static int mtk_hw_init(struct mtk_eth *e
|
|
|
mtk_rx_irq_disable(eth, ~0);
|
|
|
|
|
|
/* FE int grouping */
|
|
@@ -507,7 +507,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
|
|
|
|
|
return 0;
|
|
|
-@@ -3168,14 +3231,6 @@ static int mtk_probe(struct platform_dev
|
|
|
+@@ -3170,14 +3233,6 @@ static int mtk_probe(struct platform_dev
|
|
|
if (IS_ERR(eth->base))
|
|
|
return PTR_ERR(eth->base);
|
|
|
|
|
@@ -522,7 +522,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
|
|
|
eth->rx_dma_l4_valid = RX_DMA_L4_VALID_PDMA;
|
|
|
eth->ip_align = NET_IP_ALIGN;
|
|
|
-@@ -3409,6 +3464,7 @@ static int mtk_remove(struct platform_de
|
|
|
+@@ -3411,6 +3466,7 @@ static int mtk_remove(struct platform_de
|
|
|
}
|
|
|
|
|
|
static const struct mtk_soc_data mt2701_data = {
|
|
@@ -530,7 +530,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
.caps = MT7623_CAPS | MTK_HWLRO,
|
|
|
.hw_features = MTK_HW_FEATURES,
|
|
|
.required_clks = MT7623_CLKS_BITMAP,
|
|
|
-@@ -3420,6 +3476,7 @@ static const struct mtk_soc_data mt2701_
|
|
|
+@@ -3422,6 +3478,7 @@ static const struct mtk_soc_data mt2701_
|
|
|
};
|
|
|
|
|
|
static const struct mtk_soc_data mt7621_data = {
|
|
@@ -538,7 +538,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
.caps = MT7621_CAPS,
|
|
|
.hw_features = MTK_HW_FEATURES,
|
|
|
.required_clks = MT7621_CLKS_BITMAP,
|
|
|
-@@ -3432,6 +3489,7 @@ static const struct mtk_soc_data mt7621_
|
|
|
+@@ -3434,6 +3491,7 @@ static const struct mtk_soc_data mt7621_
|
|
|
};
|
|
|
|
|
|
static const struct mtk_soc_data mt7622_data = {
|
|
@@ -546,7 +546,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
.ana_rgc3 = 0x2028,
|
|
|
.caps = MT7622_CAPS | MTK_HWLRO,
|
|
|
.hw_features = MTK_HW_FEATURES,
|
|
|
-@@ -3445,6 +3503,7 @@ static const struct mtk_soc_data mt7622_
|
|
|
+@@ -3447,6 +3505,7 @@ static const struct mtk_soc_data mt7622_
|
|
|
};
|
|
|
|
|
|
static const struct mtk_soc_data mt7623_data = {
|
|
@@ -554,7 +554,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
.caps = MT7623_CAPS | MTK_HWLRO,
|
|
|
.hw_features = MTK_HW_FEATURES,
|
|
|
.required_clks = MT7623_CLKS_BITMAP,
|
|
|
-@@ -3457,6 +3516,7 @@ static const struct mtk_soc_data mt7623_
|
|
|
+@@ -3459,6 +3518,7 @@ static const struct mtk_soc_data mt7623_
|
|
|
};
|
|
|
|
|
|
static const struct mtk_soc_data mt7629_data = {
|
|
@@ -562,7 +562,7 @@ Signed-off-by: David S. Miller <[email protected]>
|
|
|
.ana_rgc3 = 0x128,
|
|
|
.caps = MT7629_CAPS | MTK_HWLRO,
|
|
|
.hw_features = MTK_HW_FEATURES,
|
|
|
-@@ -3469,6 +3529,7 @@ static const struct mtk_soc_data mt7629_
|
|
|
+@@ -3471,6 +3531,7 @@ static const struct mtk_soc_data mt7629_
|
|
|
};
|
|
|
|
|
|
static const struct mtk_soc_data rt5350_data = {
|