[svn-commits] sruffell: linux/trunk r9635 - /linux/trunk/drivers/dahdi/wct4xxp/base.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Mon Jan 17 11:17:43 CST 2011
Author: sruffell
Date: Mon Jan 17 11:17:39 2011
New Revision: 9635
URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=9635
Log:
wct4xxp: Perform an extended reset on PCI-Express cards by default.
Extended reset is needed primarily with the PCI express version of the
dual and quad-span cards. Enable it by default for those cards and
allow it to be forced on or off globally for the driver as a compile
time option.
The options to force it should be able to come out if there aren't any
further reports that the compile time option needs to be set.
DAHDI-773
Signed-off-by: Shaun Ruffell <sruffell at digium.com>
Modified:
linux/trunk/drivers/dahdi/wct4xxp/base.c
Modified: linux/trunk/drivers/dahdi/wct4xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wct4xxp/base.c?view=diff&rev=9635&r1=9634&r2=9635
==============================================================================
--- linux/trunk/drivers/dahdi/wct4xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wct4xxp/base.c Mon Jan 17 11:17:39 2011
@@ -169,12 +169,18 @@
#endif
/*
- * Define CONFIG_EXTENDED_RESET to allow the qfalc framer extra time
+ * Define CONFIG_FORCE_EXTENDED_RESET to allow the qfalc framer extra time
* to reset itself upon hardware initialization. This exits for rare
* cases for customers who are seeing the qfalc returning unexpected
* information at initialization
*/
-#undef CONFIG_EXTENDED_RESET
+/* #define CONFIG_FORCE_EXTENDED_RESET */
+/* #define CONFIG_NOEXTENDED_RESET */
+
+#if defined(CONFIG_FORCE_EXTENDED_RESET) && defined(CONFIG_NOEXTENDED_RESET)
+#error "You cannot define both CONFIG_FORCE_EXTENDED_RESET and " \
+ "CONFIG_NOEXTENDED_RESET."
+#endif
static int pedanticpci = 1;
static int debug=0;
@@ -4445,7 +4451,8 @@
__t4_pci_out(wc, WC_DMACTRL, wc->dmactrl);
spin_unlock_irqrestore(&wc->reglock, flags);
}
-#ifdef CONFIG_EXTENDED_RESET
+
+#ifndef CONFIG_NOEXTENDED_RESET
static void t4_extended_reset(struct t4 *wc)
{
unsigned int oldreg = t4_pci_in(wc, 0x4);
@@ -4486,8 +4493,11 @@
dev_info(&wc->dev->dev, "Work Queues: Enabled\n");
#endif
-#ifdef CONFIG_EXTENDED_RESET
+#if defined(CONFIG_FORCE_EXTENDED_RESET)
t4_extended_reset(wc);
+#elif !defined(CONFIG_NOEXTENDED_RESET)
+ if (wc->flags & FLAG_EXPRESS)
+ t4_extended_reset(wc);
#endif
/* Make sure DMA engine is not running and interrupts are acknowledged */
More information about the svn-commits
mailing list