summaryrefslogtreecommitdiff
path: root/target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch')
-rw-r--r--target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch34
1 files changed, 16 insertions, 18 deletions
diff --git a/target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch b/target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch
index 0cb200b..f0b6375 100644
--- a/target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch
+++ b/target/linux/storm/patches/1005-gmac-napi-mask-intrs.patch
@@ -1,8 +1,6 @@
-Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/sl351x_gmac.c
-+++ linux-2.6.23.17/drivers/net/sl351x_gmac.c
-@@ -127,6 +127,7 @@ static char _debug_prefetch_buf[_DEBUG_P
+--- a/drivers/net/sl351x_gmac.c
++++ b/drivers/net/sl351x_gmac.c
+@@ -127,6 +127,7 @@
static int gmac_initialized = 0;
TOE_INFO_T toe_private_data;
static int do_again = 0;
@@ -10,7 +8,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
spinlock_t gmac_fq_lock;
unsigned int FLAG_SWITCH;
-@@ -1065,7 +1066,8 @@ static void toe_init_gmac(struct net_dev
+@@ -1065,7 +1066,8 @@
tp->intr3_enabled = 0xffffffff;
tp->intr4_selected = GMAC0_INT_BITS | CLASS_RX_FULL_INT_BITS |
HWFQ_EMPTY_INT_BIT | SWFQ_EMPTY_INT_BIT;
@@ -20,7 +18,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
data = readl(TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_SELECT_0_REG) & ~tp->intr0_selected;
writel(data, TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_SELECT_0_REG);
-@@ -1115,7 +1117,7 @@ static void toe_init_gmac(struct net_dev
+@@ -1115,7 +1117,7 @@
tp->intr3_enabled |= 0xffffffff;
tp->intr4_selected |= CLASS_RX_FULL_INT_BITS |
HWFQ_EMPTY_INT_BIT | SWFQ_EMPTY_INT_BIT;
@@ -29,7 +27,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
}
data = readl(TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_SELECT_0_REG) | tp->intr0_selected;
writel(data, TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_SELECT_0_REG);
-@@ -2408,7 +2410,7 @@ static inline void toe_gmac_fill_free_q(
+@@ -2408,7 +2410,7 @@
// unsigned short max_cnt=TOE_SW_FREEQ_DESC_NUM>>1;
fq_rwptr.bits32 = readl(TOE_GLOBAL_BASE + GLOBAL_SWFQ_RWPTR_REG);
@@ -38,7 +36,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
//while ((max_cnt--) && (unsigned short)RWPTR_ADVANCE_ONE(fq_rwptr.bits.wptr,
// TOE_SW_FREEQ_DESC_NUM) != fq_rwptr.bits.rptr) {
while ((unsigned short)RWPTR_ADVANCE_ONE(fq_rwptr.bits.wptr,
-@@ -2428,10 +2430,47 @@ static inline void toe_gmac_fill_free_q(
+@@ -2428,10 +2430,47 @@
SET_WPTR(TOE_GLOBAL_BASE+GLOBAL_SWFQ_RWPTR_REG, fq_rwptr.bits.wptr);
toe_private_data.fq_rx_rwptr.bits32 = fq_rwptr.bits32;
}
@@ -87,7 +85,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
/*----------------------------------------------------------------------
* toe_gmac_interrupt
*----------------------------------------------------------------------*/
-@@ -2492,6 +2531,7 @@ if (1)
+@@ -2492,6 +2531,7 @@
writel(status3 & tp->intr3_enabled, TOE_GLOBAL_BASE+GLOBAL_INTERRUPT_STATUS_3_REG);
if (status4)
writel(status4 & tp->intr4_enabled, TOE_GLOBAL_BASE+GLOBAL_INTERRUPT_STATUS_4_REG);
@@ -95,7 +93,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
#if 0
/* handle freeq interrupt first */
if (status4 & tp->intr4_enabled) {
-@@ -2536,10 +2576,31 @@ if (1)
+@@ -2536,10 +2576,31 @@
}
if (netif_running(dev) && (status1 & DEFAULT_Q0_INT_BIT) && (tp->intr1_enabled & DEFAULT_Q0_INT_BIT))
{
@@ -130,7 +128,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
// class-Q & TOE-Q are implemented in future
//data32 = readl(TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_ENABLE_1_REG);
//data32 &= ~DEFAULT_Q0_INT_BIT;
-@@ -2549,7 +2610,8 @@ if (1)
+@@ -2549,7 +2610,8 @@
//tp->total_q_cnt_napi=0;
//rx_time = jiffies;
//rx_old_bytes = isPtr->rx_bytes;
@@ -140,7 +138,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
}
}
}
-@@ -2569,9 +2631,31 @@ if (1)
+@@ -2569,9 +2631,31 @@
if (netif_running(dev) && (status1 & DEFAULT_Q1_INT_BIT) && (tp->intr1_enabled & DEFAULT_Q1_INT_BIT))
{
@@ -174,7 +172,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
// disable GMAC-0 rx interrupt
// class-Q & TOE-Q are implemented in future
//data32 = readl(TOE_GLOBAL_BASE + GLOBAL_INTERRUPT_ENABLE_1_REG);
-@@ -2583,9 +2667,13 @@ if (1)
+@@ -2583,9 +2667,13 @@
//rx_time = jiffies;
//rx_old_bytes = isPtr->rx_bytes;
__netif_rx_schedule(dev);
@@ -188,7 +186,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
}
// Interrupt Status 0
-@@ -3306,8 +3394,10 @@ next_rx:
+@@ -3306,8 +3394,10 @@
SET_RPTR(&tp->default_qhdr->word1, rwptr.bits.rptr);
tp->rx_rwptr.bits32 = rwptr.bits32;
@@ -200,7 +198,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
}
/*----------------------------------------------------------------------
-@@ -4217,6 +4307,7 @@ static int gmac_rx_poll(struct net_devic
+@@ -4217,6 +4307,7 @@
GMAC_RXDESC_T *curr_desc;
struct sk_buff *skb;
DMA_RWPTR_T rwptr;
@@ -208,7 +206,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
unsigned int pkt_size;
unsigned int desc_count;
unsigned int good_frame, chksum_status, rx_status;
-@@ -4231,7 +4322,7 @@ static int gmac_rx_poll(struct net_devic
+@@ -4231,7 +4322,7 @@
//unsigned long long rx_time;
@@ -217,7 +215,7 @@ Index: linux-2.6.23.17/drivers/net/sl351x_gmac.c
#if 1
if (do_again)
{
-@@ -4516,6 +4607,30 @@ static int gmac_rx_poll(struct net_devic
+@@ -4516,6 +4607,30 @@
#endif
//toe_gmac_fill_free_q();
netif_rx_complete(dev);