[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