[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: support for DBRI



On Sun, Sep 26, 2004 at 04:24:46PM +0200, Hendrik Sattler wrote:
> Note that the box does not has a speaker itself, it just has the needed 
> standard-plugs :)
> I am not sure that the box is not broken, I never actually heard it working. 
> However, I had it open and it looked ok.
> The SS20 is actually a Tritec WS-20L.

Ah, thanks for clearing that up.

> The debug output always begins with:
> DBRI: Found SUNW,DBRIe in SBUS slot 15
> DBRI: DMA Cmd Block 0xfff0e000 (0xfff0e000)
> DBRI: reset 0:4008 2:9 8:0 9:0
> DBRI: init: cmd: fff0e000, int: fff0e100
> DBRI cmd: fff0e000:38000000
> DBRI cmd: fff0e004:fff0e100
> DBRI: INTR: Command: PAUSE  Value:0
> DBRI: INTR: Command: WAIT   Value:0
> DBRI: Chip completed command buffer (22)
> DBRI: Interrupt!  (reg1=0x00000001)
> 
> Without that box:
> DBRI: no mmcodec found.
> DBRI: reset 0:8 2:8 8:fff0e00c 9:fff0e100

Yep, that's clear. No internal codec and speaker.

> With that box:
> DBRI: Speakerbox detected

Seems you've got it plugged in correctly :)

<snip>

> DBRI: INTR: Command: SSP    Value:17
> DBRI: INTR: Command: PAUSE  Value:0
> DBRI: INTR: Command: WAIT   Value:0
> DBRI: Chip completed command buffer (28)
> DBRI: Interrupt!  (reg1=0x00000001)
> DBRI: INTR: Chan:18 Code:10 Val:0x0
> DBRI: CS4215 didn't respond to CLB (0x00)
> DBRI: CS4215 failed probe at offset 8
> DBRI: reset 0:400018 2:f6 8:fff0e00c 9:fff0e100
> DBRI: INTR: Chan:19 Code:10 Val:0x0
> DBRI: INTR: Chan:18 Code:10 Val:0x24
> DBRI: INTR: Chan:19 Code:10 Val:0x48
> DBRI: INTR: Chan:18 Code:10 Val:0xc

This is where the driver talks to the external chip for the first
time. The interrupts after the reset actually contain the answer
it was looking for. So I think the driver gives up too soon.

Can you try the patch attached? It just makes the driver wait longer.
If it still fails the same way, bump up the 256 some more.

-- 
Martin

--- 2.4.22/drivers/sbus/audio/dbri.c.orig	2004-09-26 18:20:28.000000000 +0100
+++ 2.4.22/drivers/sbus/audio/dbri.c	2004-09-26 18:21:08.000000000 +0100
@@ -1422,9 +1422,9 @@
         tmp |= D_C;	/* Enable CHI */
         sbus_writel(tmp, dbri->regs + REG0);
 
-	i = 64;
+	i = 256;
 	while (((dbri->mm.status & 0xe4) != 0x20) && --i)
-                udelay(125);
+                udelay(500);
         if (i == 0) {
 		dprintk(D_MM, ("DBRI: CS4215 didn't respond to CLB (0x%02x)\n",
 			       dbri->mm.status));



Reply to: