--- ixp425-eth-1.1-r4/ixp425_eth.c 2005-06-16 00:47:55.360598896 -0700 +++ ixp425-eth-1.1-r4/ixp425_eth.c 2005-06-16 18:42:09.840377651 -0700 @@ -1028,6 +1030,7 @@ */ /* PMU Timer reload : this should be done at each interrupt */ +#if 0 /* UNUSED - used for polling */ static void dev_pmu_timer_restart(void) { __asm__(" mcr p14,0,%0,c1,c1,0\n" /* write current counter */ @@ -1039,6 +1042,7 @@ " mcr p14,0,r1,c4,c1,0\n" /* enable interrupts */ : : : "r1"); } +#endif /* Internal ISR : run a few thousand times per second and calls * the queue manager dispatcher entry point. @@ -1086,6 +1088,7 @@ /* Internal ISR : run a few thousand times per second and calls * the ethernet entry point. */ +#if 0 /* UNUSED - used for polling */ static irqreturn_t dev_poll_os_isr(int irg, void *dev_id, struct pt_regs *regs) { int qlevel = __get_cpu_var(softnet_data).input_pkt_queue.qlen; @@ -1127,8 +1130,10 @@ ixEthTxFrameDoneQMCallback(0,0); return IRQ_HANDLED; } +#endif /* initialize the PMU timer */ +#if 0 /* UNUSED - used for polling */ static int dev_pmu_timer_init(void) { UINT32 controlRegisterMask = @@ -1164,6 +1169,7 @@ return 0; } +#endif /* stops the timer when the module terminates */ static void dev_pmu_timer_disable(void) @@ -1636,6 +1636,7 @@ return 0; } +#if 0 /* UNUSED - used for polling */ /* The QMgr dispatch entry point can be called from the * IXP425_INT_LVL_QM1 irq (which will trigger * an interrupt for every packet) or a timer (which will @@ -1686,7 +1687,7 @@ */ if (request_irq(IXP425_INT_LVL_QM1, dev_qmgr_os_isr, - SA_SHIRQ, + SA_SHIRQ | SA_SAMPLE_RANDOM, DRV_NAME, (void *)IRQ_ANY_PARAMETER)) { @@ -1710,6 +1711,7 @@ } return 0; } +#endif /* Enable the MAC port. * Called on do_dev_open, dev_tx_timeout and mtu size changes @@ -2234,7 +2236,7 @@ */ if (request_irq(IXP425_INT_LVL_QM1, dev_qmgr_os_isr, - SA_SHIRQ, + SA_SHIRQ | SA_SAMPLE_RANDOM, DRV_NAME, (void *)IRQ_ANY_PARAMETER)) { @@ -2669,6 +2671,10 @@ TRACE; +#if 0 /* DISABLE polling */ + /* Enable Interrupt driven driver + * see http://www.nslu2-linux.org/wiki/OpenSlug/StabilizeEthernetDriver + */ if (no_csr_init == 0) /* module parameter */ { /* The QMgr dispatch entry point is called from the IXP425_INT_LVL_QM1 irq @@ -2681,6 +2687,7 @@ return res; } } +#endif TRACE;