From: "tiejun.chen" <tiejun.chen@windriver.com>
To: Fabian Bertholm <fabeisageek@googlemail.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: P1020RDB PCI-E Interrupt problem
Date: Fri, 08 Oct 2010 17:10:22 +0800 [thread overview]
Message-ID: <4CAEDFFE.10404@windriver.com> (raw)
In-Reply-To: <AANLkTikDsENpooCJZe68_WF4sb5qrQpjFN9ZqanUDMRx@mail.gmail.com>
Fabian Bertholm wrote:
> Hi,
>
> I try to run ath9k on a P1020RDB Freescale board.
> I run into the problem similar to the Bug/Patch here:
> http://patchwork.ozlabs.org/patch/52137/
>
> I get irq 16: nobody cared....
Firstly you should check if 'irq 16' is issue from your PCIe device.
>
> I tried to fix the dts file in the same manner but this does not help.
> Currently I am using 2.6.33.7
>
> Any hints? Anybody?
>
Then if so I think it's unnecessary to add any #interrupt-map on dts since MSI
is used as interrupt mode on P1020RDB, not legacy interrupt. So please remove
all #interrupt-map on both pci nodes, then enable CONFIG_PCI_MSI to build/boot
again.
> The modified pci section from my dts:
>
> pci0: pcie@ffe09000 {
> cell-index = <1>;
> compatible = "fsl,mpc8548-pcie";
> device_type = "pci";
> #interrupt-cells = <1>;
> #size-cells = <2>;
> #address-cells = <3>;
> reg = <0 0xffe09000 0 0x1000>;
> bus-range = <0 255>;
> ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
> 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>;
> clock-frequency = <33333333>;
> interrupt-parent = <&mpic>;
> interrupts = <16 2>;
> interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
> interrupt-map = <
> /* IDSEL 0x0 */
> 0000 0x0 0x0 0x1 &mpic 0x4 0x2
> 0000 0x0 0x0 0x2 &mpic 0x5 0x2
> 0000 0x0 0x0 0x3 &mpic 0x6 0x2
> 0000 0x0 0x0 0x4 &mpic 0x7 0x2
I don't know how you generate these interrupt-map. So even you really want to
use legacy interrupt you should make sure your PCIe bus number/device
number/function number, and actual interrupt number. Especially please check
interrupt trigger sense. Sometimes incorrect sense will issue your PCIe to
receive interrupt storm. As a result no interrupt handler deal with this
spurious interrupt like you saw 'irq 16: nobody cared'.
> >;
> pcie@0 {
> reg = <0x0 0x0 0x0 0x0 0x0>;
> #size-cells = <2>;
> #address-cells = <3>;
> device_type = "pci";
> ranges = <0x2000000 0x0 0xa0000000
> 0x2000000 0x0 0xa0000000
> 0x0 0x20000000
>
> 0x1000000 0x0 0x0
> 0x1000000 0x0 0x0
> 0x0 0x100000>;
> };
> };
>
> pci1: pcie@ffe0a000 {
> cell-index = <2>;
> compatible = "fsl,mpc8548-pcie";
> device_type = "pci";
> #interrupt-cells = <1>;
> #size-cells = <2>;
> #address-cells = <3>;
> reg = <0 0xffe0a000 0 0x1000>;
> bus-range = <0 255>;
> ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
> 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
> clock-frequency = <33333333>;
> interrupt-parent = <&mpic>;
> interrupts = <16 2>;
> interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
> interrupt-map = <
> /* IDSEL 0x0 */
> 0000 0x0 0x0 0x1 &mpic 0x0 0x1
> 0000 0x0 0x0 0x2 &mpic 0x1 0x1
> 0000 0x0 0x0 0x3 &mpic 0x2 0x1
> 0000 0x0 0x0 0x4 &mpic 0x3 0x1
> >;
>
There are two PCIe controller so you also have to make sure which controller
your device exist.
-Tiejun
> pcie@0 {
> reg = <0x0 0x0 0x0 0x0 0x0>;
> #size-cells = <2>;
> #address-cells = <3>;
> device_type = "pci";
> ranges = <0x2000000 0x0 0xc0000000
> 0x2000000 0x0 0xc0000000
> 0x0 0x20000000
>
> 0x1000000 0x0 0x0
> 0x1000000 0x0 0x0
> 0x0 0x100000>;
> };
> };
>
>
> Best Regards,
> Fabian
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
prev parent reply other threads:[~2010-10-08 9:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 13:45 P1020RDB PCI-E Interrupt problem Fabian Bertholm
2010-10-08 9:10 ` tiejun.chen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CAEDFFE.10404@windriver.com \
--to=tiejun.chen@windriver.com \
--cc=fabeisageek@googlemail.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.