cns3xxx: fix a ethernet driver napi poll handling bug
[openwrt/openwrt.git] / target / linux / cns3xxx / patches-3.18 / 090-timers.patch
index 2bddc1f67b126285ad3c2f2cef9f95fd19aa160b..0bf686d22f28e0f0f3667040e2cd401ca4f1e028 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-cns3xxx/core.c
 +++ b/arch/arm/mach-cns3xxx/core.c
-@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum 
+@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum
  
        switch (mode) {
        case CLOCK_EVT_MODE_PERIODIC:
@@ -24,8 +24,8 @@
        .cpumask        = cpu_all_mask,
  };
  
-@@ -215,6 +216,35 @@ static void __init cns3xxx_init_twd(void
- #endif
+@@ -213,6 +214,35 @@ static void __init cns3xxx_init_twd(void
+       twd_local_timer_register(&cns3xx_twd_local_timer);
  }
  
 +static cycle_t cns3xxx_get_cycles(struct clocksource *cs)
@@ -60,7 +60,7 @@
  /*
   * Set up the clock source and clock events devices
   */
-@@ -232,13 +262,12 @@ static void __init __cns3xxx_timer_init(
+@@ -230,13 +260,12 @@ static void __init __cns3xxx_timer_init(
        /* stop free running timer3 */
        writel(0, cns3xxx_tmr1 + TIMER_FREERUN_CONTROL_OFFSET);
  
@@ -77,7 +77,7 @@
        /* mask irq, non-mask timer1 overflow */
        irq_mask = readl(cns3xxx_tmr1 + TIMER1_2_INTERRUPT_MASK_OFFSET);
        irq_mask &= ~(1 << 2);
-@@ -250,23 +279,9 @@ static void __init __cns3xxx_timer_init(
+@@ -248,23 +277,9 @@ static void __init __cns3xxx_timer_init(
        val |= (1 << 9);
        writel(val, cns3xxx_tmr1 + TIMER1_2_CONTROL_OFFSET);