[Prism54-devel] control/status bits and interrupt bits
Rafiq Shaikh
rafiq.shaikh at analog.com
Fri Nov 5 23:44:08 UTC 2004
Hi Bill
Please see my response below in lines:
Regards,
-Rafiq.
Bill Parsons wrote:
>Hi Rafiq, thanks for the information.
>
>
>
>
>>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.
>>
>>
>
>It is very strange that you say that because actually
>I find that that bit is on 100% of time, even when the
>card is working fine.
>
>
***** It may be true for Duette (I still doubt it because I believe the
conventions in Duette and GT are same).
However for Prism-GT I am sure that if the card gives an
interrupt to the host and at that time the
"Interrupt Identification Register" shows 14th bit ON
(0x00004000) then it means the card got a PCI
Fatal error and it went to the Reset state.
Please note that I am referring to the "Interrupt
Identification Register" and NOT the "Control/Status
Register"
>
>Actually, for the control/status register bits, I
>stupidly cut and pasted them out of an old version of
>the header file. I found this information in the
>latest version:
>
>/* Control/Status register bits */
>/* Looks like there are other meaningful bits
> 0x20004400 seen in normal operation,
> 0x200044db at 'timeout waiting for mgmt response'
>*/
>
>So it looks like someone saw my problem before and
>identified it as a timeout while waiting for a
>management response. I have modified the management
>code slightly, so maybe I did something wrong.
>
>I am trying to debug it, but now I am confused. My
>understanding is that the driver initiates all
>management transactions, however this flag is set by
>the firmware. Why would the firmware be waiting for a
>management response? It should be sending the
>management response.
>
>Also, does anyone know what the length of this timeout
>is or whether it is configurable?
>
>Sorry if I am asking a stupid question. I am not an
>expert at writing device drivers (yet), but I am
>trying to learn.
>
>Bill
>
>
>
>
>
>>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
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>
>
>__________________________________
>Do you Yahoo!?
>Check out the new Yahoo! Front Page.
>www.yahoo.com
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://prism54.org/pipermail/prism54-devel/attachments/20041105/b7a22be0/attachment.htm
More information about the Prism54-devel
mailing list