[Prism54-devel] control/status bits and interrupt bits

Rafiq Shaikh rafiq.shaikh at analog.com
Fri Nov 5 19:37:02 UTC 2004


Hi Bill,

I also faced similar problem with Prism-GT and probably it is applicable 
to Duette too.
After the card is initialized and functioning fine, if the Interrupt Id 
Register contains 0x00004000 (ie 14th bit is ON)
it means PCI fatal error occured. Once this happens the card goes back 
to reset state and only way to recover is
to restart the initialization process all over again.
As far as I know this interrupt bit (0x00004000) is undocumented.

The possible reasons for the card to issue this interrupt could be:
1)The card is trying to access an illegal address in host memory and as 
a result host PCI  issues Abort to the card.
2)The host PCI is not responding to the incoming PCI read/write requests 
from the card for an extended period of
    time as a result card will give-up and issue this interrupt.

I hope this helps.

Regards,
-Rafiq.


Bill Parsons wrote:

>Has anyone figured out the meaning of the extended
>control/status bits and interrupt mask bits in the
>memory mapped registers?
>
>The driver only mentions these ones in the source
>code:
>
>// Control/Status register bits
>#define ISL38XX_CTRL_STAT_SLEEPMODE            
>0x00000200
>#define	ISL38XX_CTRL_STAT_CLKRUN				0x00800000
>#define ISL38XX_CTRL_STAT_RESET                
>0x10000000
>#define ISL38XX_CTRL_STAT_RAMBOOT              
>0x20000000
>#define ISL38XX_CTRL_STAT_STARTHALTED          
>0x40000000
>#define ISL38XX_CTRL_STAT_HOST_OVERRIDE        
>0x80000000
>
>Under normal conditions, my Prism Duette (in AP mode)
>seems to show 20004400 in the status register, but
>sometimes it hangs while I am doing a large download.
>When that happens, the status register always reads as
>200044DB.
>
>
>The driver also lists the following interrupt sources:
>
>#define ISL38XX_INT_IDENT_UPDATE                0x0002
>#define ISL38XX_INT_IDENT_INIT                  0x0004
>#define ISL38XX_INT_IDENT_WAKEUP                0x0008
>#define ISL38XX_INT_IDENT_SLEEP                 0x0010
>#define ISL38XX_INT_SOURCES                     0x001E
>
>However, when I read the interrupt identity register,
>I see that it normally reads 80004000.
>
>Does anyone here know what these extended bits mean?
>Are they the same for every firmware version?
>
>Thanks in advance,
>Bill
>
>
>		
>__________________________________ 
>Do you Yahoo!? 
>Check out the new Yahoo! Front Page. 
>www.yahoo.com 
> 
>
>_______________________________________________
>Prism54-devel mailing list
>Prism54-devel at prism54.org
>http://prism54.org/mailman/listinfo/prism54-devel
>
>
>  
>



More information about the Prism54-devel mailing list