* MPC8572 - IPR Register
[not found] <mailman.2123.1229452170.29923.linuxppc-dev@ozlabs.org>
@ 2008-12-16 19:54 ` Morrison, Tom
2008-12-16 21:34 ` Kumar Gala
0 siblings, 1 reply; 5+ messages in thread
From: Morrison, Tom @ 2008-12-16 19:54 UTC (permalink / raw)
To: linuxppc-dev, linuxppc-embedded
We are having a problem with an external interrupt not actually being
received / detected on the MPC8572.=20
This external device 'believes' that it has sent an interrupt
(over PCIe) to the MPC8572 and we believe that the associated
ExVPR register has correctly unmasked/configured this correctly.
But, still NO interrupt...
If you read the documentation about this configuration register, it
indicates that there is some type of "IPR" register internal to the
8572 that indicates if an interrupt has been received by the PIC...
We want to read that IPR register to verify that:
a) the external device has sent the interrupt=20
and we have configured something wrong in the chip
b) there is no pending interrupt (thus none received) from
this external device...
Is there any way (hook (indirection) or crook (aka: secret register))
that would allow us to read this register? From all my investigations
it looks like there isn't a 'straight forward' / documented way to=20
do so...I am hoping you guys have gone beyond the 'straight forward'=20
means and have found a way...
Thanks in Advance...
Sincerely...
Tom Morrison
Principal S/W Engineer=20
Tmorrison (at) empirix (dot) com
www.empirix.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: MPC8572 - IPR Register
2008-12-16 19:54 ` MPC8572 - IPR Register Morrison, Tom
@ 2008-12-16 21:34 ` Kumar Gala
2008-12-16 22:08 ` bterrell
0 siblings, 1 reply; 5+ messages in thread
From: Kumar Gala @ 2008-12-16 21:34 UTC (permalink / raw)
To: Morrison, Tom; +Cc: linuxppc-dev, linuxppc-embedded
On Dec 16, 2008, at 1:54 PM, Morrison, Tom wrote:
> We are having a problem with an external interrupt not actually being
> received / detected on the MPC8572.
>
> This external device 'believes' that it has sent an interrupt
> (over PCIe) to the MPC8572 and we believe that the associated
> ExVPR register has correctly unmasked/configured this correctly.
>
> But, still NO interrupt...
>
> If you read the documentation about this configuration register, it
> indicates that there is some type of "IPR" register internal to the
> 8572 that indicates if an interrupt has been received by the PIC...
>
> We want to read that IPR register to verify that:
> a) the external device has sent the interrupt
> and we have configured something wrong in the chip
>
> b) there is no pending interrupt (thus none received) from
> this external device...
>
> Is there any way (hook (indirection) or crook (aka: secret register))
> that would allow us to read this register? From all my investigations
> it looks like there isn't a 'straight forward' / documented way to
> do so...I am hoping you guys have gone beyond the 'straight forward'
> means and have found a way...
>
> Thanks in Advance...
1. Which PCIe port is the device on?
2. is this a INT-X style or MSI interrupt?
3. if INT-X is INT-A, B, C, D?
- k
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: MPC8572 - IPR Register
2008-12-16 21:34 ` Kumar Gala
@ 2008-12-16 22:08 ` bterrell
2008-12-16 23:00 ` Kumar Gala
0 siblings, 1 reply; 5+ messages in thread
From: bterrell @ 2008-12-16 22:08 UTC (permalink / raw)
To: linuxppc-dev
Kumar Gala-3 wrote:
>
>
> <1. Which PCIe port is the device on?
> 2. is this a INT-X style or MSI interrupt?
> 3. if INT-X is INT-A, B, C, D?
>
> - k
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
>
He was posting a question for me. The external device (PLX8616
non-transparent bridge) which is sending the interrupt is connected to the
first PCIE controller. The PCIE controller is configured in RC mode and is
"x4". I'm using legacy (INTx) interrupts from the external switch NTB port.
The NTB port always generates INTA, but is swizzled by the upstream port of
the PLX8616 switch, so it comes to the PCIE controller as INTB I believe.
It works fine when the the 8572 and 8616 both start after power-on reset.
Can send multiple interrupts and each is acknowledged properly. However,
after I generate a "hot reset" event from the PCIE controller to the
upstream port on the 8616 (or link goes down/up), it no longer seems to
propagate the INTx interrupt to the CPU. Either the 8616 is not sending the
interrrupt or the 8572 is ignoring/masking it. I'm trying to determine
which device is at fault. I don't have access to a PCIE analyzer at the
moment. Looking for some more visibility into received interrupts within
the 8572 PCIE or MPIC.
FYI, I have not tried MSI yet but will soon.
thanks,
Bill
--
View this message in context: http://www.nabble.com/MPC8572---IPR-Register-tp21040440p21042870.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: MPC8572 - IPR Register
2008-12-16 22:08 ` bterrell
@ 2008-12-16 23:00 ` Kumar Gala
2008-12-17 18:41 ` bterrell
0 siblings, 1 reply; 5+ messages in thread
From: Kumar Gala @ 2008-12-16 23:00 UTC (permalink / raw)
To: bterrell; +Cc: linuxppc-dev
On Dec 16, 2008, at 4:08 PM, bterrell wrote:
>
>
> Kumar Gala-3 wrote:
>>
>>
>> <1. Which PCIe port is the device on?
>> 2. is this a INT-X style or MSI interrupt?
>> 3. if INT-X is INT-A, B, C, D?
>>
>> - k
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>>
>>
>
> He was posting a question for me. The external device (PLX8616
> non-transparent bridge) which is sending the interrupt is connected
> to the
> first PCIE controller. The PCIE controller is configured in RC mode
> and is
> "x4". I'm using legacy (INTx) interrupts from the external switch
> NTB port.
> The NTB port always generates INTA, but is swizzled by the upstream
> port of
> the PLX8616 switch, so it comes to the PCIE controller as INTB I
> believe.
>
> It works fine when the the 8572 and 8616 both start after power-on
> reset.
> Can send multiple interrupts and each is acknowledged properly.
> However,
> after I generate a "hot reset" event from the PCIE controller to the
> upstream port on the 8616 (or link goes down/up), it no longer seems
> to
> propagate the INTx interrupt to the CPU. Either the 8616 is not
> sending the
> interrrupt or the 8572 is ignoring/masking it. I'm trying to
> determine
> which device is at fault. I don't have access to a PCIE analyzer at
> the
> moment. Looking for some more visibility into received interrupts
> within
> the 8572 PCIE or MPIC.
>
> FYI, I have not tried MSI yet but will soon.
So I'll ask the same questions. I can point you at some registers to
look at but wanted the details I asked about earlier.
- k
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: MPC8572 - IPR Register
2008-12-16 23:00 ` Kumar Gala
@ 2008-12-17 18:41 ` bterrell
0 siblings, 0 replies; 5+ messages in thread
From: bterrell @ 2008-12-17 18:41 UTC (permalink / raw)
To: linuxppc-dev
On Dec 16, 2008, at 4:08 PM, bterrell wrote:
>
>
> Kumar Gala-3 wrote:
>>
>>
>> <1. Which PCIe port is the device on?
>> 2. is this a INT-X style or MSI interrupt?
>> 3. if INT-X is INT-A, B, C, D?
1. Non-transparent bridge device is on port 1 of the PLX8616 switch, which
is connected to first PCIE controller.
2. Using INTx style interrupts.
3. NT device asserts INTA, but this is swizzled by the upstream port of the
switch to be INTB before sending to 8572.
The problem also occurs when a hot-reset is sent inband from the PCIE
controller on 8572. I see the following differences in 8572 PCIE registers
in configuration space before/after the "hot reset" is sent:
PEX Config Space Register 0x414: before 0x00000000 after 0x000000001 <==
undocumented reg??
PEX Config Space Register 0x43C: before 0x00C2DC76 after 0x00013014 <==
undocumented reg??
PEX Config Space Register 0x4E8: before 0x00004D4D after 0x00000101 <==
undocumented reg??
Any idea what these registers are?
thanks,
Bill Terrell
Empirix, Inc.
--
View this message in context: http://www.nabble.com/MPC8572---IPR-Register-tp21040440p21058850.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-12-17 18:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mailman.2123.1229452170.29923.linuxppc-dev@ozlabs.org>
2008-12-16 19:54 ` MPC8572 - IPR Register Morrison, Tom
2008-12-16 21:34 ` Kumar Gala
2008-12-16 22:08 ` bterrell
2008-12-16 23:00 ` Kumar Gala
2008-12-17 18:41 ` bterrell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).