mISDN: Add some debug option for clock problems
authorAndreas Eversberg <andreas@eversberg.eu>
Sun, 3 Aug 2008 08:36:53 +0000 (10:36 +0200)
committerKarsten Keil <kkeil@suse.de>
Fri, 9 Jan 2009 21:44:23 +0000 (22:44 +0100)
Add a new debug bit for clock problems.

Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <kkeil@suse.de>
drivers/isdn/mISDN/dsp.h
drivers/isdn/mISDN/dsp_cmx.c

index ded9480693350659ce876d6b9cb3cf4d2d8c24db..98a33c58f0911f4b7482eb40a949a9a2412407f2 100644 (file)
@@ -15,6 +15,7 @@
 #define DEBUG_DSP_TONE         0x0020
 #define DEBUG_DSP_BLOWFISH     0x0040
 #define DEBUG_DSP_DELAY                0x0100
+#define DEBUG_DSP_CLOCK                0x0200
 #define DEBUG_DSP_DTMFCOEFF    0x8000 /* heavy output */
 
 /* options may be:
index fc8ea41ae6a238afbeff4faafdec58bffc72e1ca..93fb819c5203c96c50b68fb27c54c4641928c3d0 100644 (file)
@@ -1192,7 +1192,7 @@ dsp_cmx_receive(struct dsp *dsp, struct sk_buff *skb)
         * we set our new read pointer, and write silence to buffer
         */
        if (((dsp->rx_W-dsp->rx_R) & CMX_BUFF_MASK) >= CMX_BUFF_HALF) {
-               if (dsp_debug & DEBUG_DSP_CMX)
+               if (dsp_debug & DEBUG_DSP_CLOCK)
                        printk(KERN_DEBUG
                            "cmx_receive(dsp=%lx): UNDERRUN (or overrun the "
                            "maximum delay), adjusting read pointer! "
@@ -1218,7 +1218,7 @@ dsp_cmx_receive(struct dsp *dsp, struct sk_buff *skb)
        if (dsp->cmx_delay)
                if (((dsp->rx_W - dsp->rx_R) & CMX_BUFF_MASK) >=
                    (dsp->cmx_delay << 1)) {
-                       if (dsp_debug & DEBUG_DSP_CMX)
+                       if (dsp_debug & DEBUG_DSP_CLOCK)
                                printk(KERN_DEBUG
                                    "cmx_receive(dsp=%lx): OVERRUN (because "
                                    "twice the delay is reached), adjusting "
@@ -1374,8 +1374,9 @@ dsp_cmx_send_member(struct dsp *dsp, int len, s32 *c, int members)
                                r = (r+1) & CMX_BUFF_MASK;
                        }
                        if (r != rr) {
-                               printk(KERN_DEBUG "%s: buffer empty\n",
-                                       __func__);
+                               if (dsp_debug & DEBUG_DSP_CLOCK)
+                                       printk(KERN_DEBUG "%s: RX empty\n",
+                                               __func__);
                                memset(d, dsp_silence, (rr-r)&CMX_BUFF_MASK);
                        }
                /* -> if echo is enabled */
@@ -1724,7 +1725,7 @@ dsp_cmx_send(void *arg)
                         * the delay is greater dsp_poll
                         */
                        if (delay > dsp_poll && !dsp->cmx_delay) {
-                               if (dsp_debug & DEBUG_DSP_CMX)
+                               if (dsp_debug & DEBUG_DSP_CLOCK)
                                        printk(KERN_DEBUG
                                            "%s lowest rx_delay of %d bytes for"
                                            " dsp %s are now removed.\n",
@@ -1755,7 +1756,7 @@ dsp_cmx_send(void *arg)
                         * have enabled tx_dejitter
                         */
                        if (delay > dsp_poll && dsp->tx_dejitter) {
-                               if (dsp_debug & DEBUG_DSP_CMX)
+                               if (dsp_debug & DEBUG_DSP_CLOCK)
                                        printk(KERN_DEBUG
                                            "%s lowest tx_delay of %d bytes for"
                                            " dsp %s are now removed.\n",
@@ -1821,7 +1822,8 @@ dsp_cmx_transmit(struct dsp *dsp, struct sk_buff *skb)
        if (space < skb->len) {
                /* write to the space we have left */
                ww = (ww - 1) & CMX_BUFF_MASK; /* end one byte prior tx_R */
-               printk(KERN_DEBUG "%s: buffer overflow\n", __func__);
+               if (dsp_debug & DEBUG_DSP_CLOCK)
+                       printk(KERN_DEBUG "%s: TX overflow\n", __func__);
        } else
                /* write until all byte are copied */
                ww = (w + skb->len) & CMX_BUFF_MASK;