[svn-commits] sruffell: branch linux/2.4 r9695 - /linux/branches/2.4/drivers/dahdi/wct4xxp/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Jan 20 23:33:21 CST 2011


Author: sruffell
Date: Thu Jan 20 23:33:17 2011
New Revision: 9695

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=9695
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9635

Modified:
    linux/branches/2.4/drivers/dahdi/wct4xxp/base.c

Modified: linux/branches/2.4/drivers/dahdi/wct4xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/branches/2.4/drivers/dahdi/wct4xxp/base.c?view=diff&rev=9695&r1=9694&r2=9695
==============================================================================
--- linux/branches/2.4/drivers/dahdi/wct4xxp/base.c (original)
+++ linux/branches/2.4/drivers/dahdi/wct4xxp/base.c Thu Jan 20 23:33:17 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;
@@ -4413,7 +4419,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);
@@ -4454,8 +4461,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