[Asterisk-Dev] X101P register map data please?

Mark Burton mark at helenandmark.org
Tue Aug 16 14:59:01 MST 2005


On 15 Aug 2005, at 23:46, Martin Harriss wrote:

> I think this might help:
>
> http://www.tjnet.com/software/download/data_sheets/ 
> Tiger320_data_sheet.pdf
>

you are fantastic, thanks!

I think I am almost there with a very simple solution, BUT, I seem to  
have a problem which MAY be totally unrelated.

I have a patch which does what this piece of text says to do..

In the event that the PCI bus master logic detects an abort condition,  
Interrupt 0 status register  (Index 0x6) bit 4 and 5 will be set based  
on the abort condition. It can be cleared by reading the  status  
register. To recover the PCI master state machine, set the reset bit in  
register 0 to 1 and  reset it to 0, also enable the DMA operation by  
setting register 1 bit 0 to 1.

here's my code...
                outb(0x03, wc->ioaddr + WC_CNTL);
                 outb(0x01, wc->ioaddr + WC_CNTL);

                 outb(0x01, wc->ioaddr + WC_OPER);

The IRQ routine already reads the status register

So. This would seem to be a solution.

In my system, it seems to work, in that, when I get a PCI abort, it is  
handled, and things continue... - but here's the rub, it's not exactly  
100% working!

The symptoms of it's failing are that after about 10 min's or so of  
"activity" on the machine, zttest starts to report %;s around about 0  
!!!!!
	Thats not good, but strangely, it seems to be totally unrelated to any  
PCI Abort event, so I dont understand it...
		When this happens, voice quality across the zap channel dies... And  
the situation is not recoverable (or at least I can't find a way of  
recovering it), unless you unload and reload the modules...

So. Before I offer this as a patch, I need to get to the bottom of this  
"other" problem
	
Anybody seen anything like it before?

Cheers

Mark.



> You might also need the SLIC data sheet from Silicon Labs, not sure  
> about that...
>
> Martin
>
>
> Mark Burton wrote:
>> Hi, I've been trying to debug the problem with the X101P  giving FXO  
>> PCI Master Aborts... I'm doing this blind, and I really need some  
>> info on the X101P's register map - or best of all, the conditions  
>> under which it can generate an IRQ with a mask of 0x10.
>> I have so far set up the mask for the IRQ's in the interrupt handler  
>> (so the poor thing doesn't keep getting them)[as per previous post],  
>> then patched ztcfg so it actually starts the watchdog (which is  
>> assumed by the driver, but in reality doesn't happen - of course it  
>> doesn't need to, because under normal conditions there is no need for  
>> the watchdog - I guess?)
>> That much gives me a system which runs, hits a PCI Master abort (or  
>> at least an IRQ with a mask of 0x10), and then stops the dma, masks  
>> the IRQ... then the watchdog starts the dma again, unmasks the IRQ,  
>> at which point  it gets another IRQ before the next watchdog beat....  
>> so the watchdog can't help.
>> I have tried being a bit more brutal with the activities in the  
>> watchdog routine.... I just caused myself some kernel panic's :-)
>> Again, any help appreciated!
>> Cheers
>> Mark.
>> _______________________________________________
>> Asterisk-Dev mailing list
>> Asterisk-Dev at lists.digium.com
>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>> To UNSUBSCRIBE or update options visit:
>>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>




More information about the asterisk-dev mailing list