From: Honghui Zhang <honghui.zhang@mediatek.com>
To: Bjorn Helgaas <helgaas@kernel.org>, paul.burton@imgtec.com
Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org,
hongkun.cao@mediatek.com, ryder.lee@mediatek.com,
linux-pci@vger.kernel.org, sean.wang@mediatek.com,
xinping.qian@mediatek.com, linux-kernel@vger.kernel.org,
robh+dt@kernel.org, yt.shen@mediatek.com, matthias.bgg@gmail.com,
robh@kerenl.org, linux-mediatek@lists.infradead.org,
yong.wu@mediatek.com, bhelgaas@google.com,
yingjoe.chen@mediatek.com, eddie.huang@mediatek.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 4/5] PCI: mediatek: Add new generation controller support
Date: Wed, 9 Aug 2017 14:49:52 +0800 [thread overview]
Message-ID: <1502261392.17420.5.camel@mtksdaap41> (raw)
In-Reply-To: <20170808201912.GJ16580@bhelgaas-glaptop.roam.corp.google.com>
On Tue, 2017-08-08 at 15:19 -0500, Bjorn Helgaas wrote:
> On Fri, Aug 04, 2017 at 08:18:09AM -0500, Bjorn Helgaas wrote:
> > On Fri, Aug 04, 2017 at 04:39:36PM +0800, Honghui Zhang wrote:
> > > On Thu, 2017-08-03 at 17:42 -0500, Bjorn Helgaas wrote:
>
> > > > > + port->irq_domain = irq_domain_add_linear(pcie_intc_node, INTX_NUM,
> > > > > + &intx_domain_ops, port);
> > > >
> > > > I think there's an issue here with a 4-element IRQ domain and the
> > > > hwirq numbers 1-4 from the of_irq_parse_and_map_pci() path, so INTD
> > > > may not work correctly.
> > > >
> > > > See
> > > > http://lkml.kernel.org/r/20170801212931.GA26498@bhelgaas-glaptop.roam.corp.google.com
> > > > and related discussion.
> > >
> > > Sorry, I did not get this,
> > > I do some test with an intel E350T4 PCIe NICs, it's a x1 lane
> > > multi-function device.
> > > What I got from the log is below:
> > > ->of_irq_parse_and_map_pci
> > > ->of_irq_parse_pci
> > > ->irq_create_of_mapping
> > > ->irq_create_fwspec_mapping
> > > ->irq_domain_translate
> > > which will go through
> > > d->ops->translate #the hwirq really start from 0
> > >
> > > And I tested every NIC port of the Intel E350T4 with tftp transfer data,
> > > seems all are OK with this code.
> >
> > OK. I don't know what d->ops->translate is involved here, but if it
> > works, I guess this is OK for now. We're trying to clean this up and
> > make it consistent across all the drivers. Many of them allocate a
> > 5-element IRQ domain, some make a 4-element domain, and on some of
> > them INTD doesn't work. It's a mess.
>
> Paul Burton is cleaning this up. Can you point out the d->ops->translate
> function that's involved here?
Hi, Bjorn,
Sorry for my last reply, I was tracking the wrong logs. The real trick
is here:
->of_irq_parse_and_map_pci
->of_irq_parse_pci #out_irq->args[0] start from 1(1 == INTA)
->of_irq_parse_raw
After of_irq_parse_raw finished it's work, the out_irq->args[0] will be
remapped as "interrupt-map" property defines[1], which in my case, it's
start from 0, and then fwspec->param[0] is start from 0 (0 == INTA).
My "interrupt-map" property is defined as below:
interrupt-map = <0 0 0 1 &pcie_intc0 0>,
<0 0 0 2 &pcie_intc0 1>,
<0 0 0 3 &pcie_intc0 2>,
<0 0 0 4 &pcie_intc0 3>;
I do some test with the changes of property defined as below:
interrupt-map = <0 0 0 1 &pcie_intc0 1>,
<0 0 0 2 &pcie_intc0 2>,
<0 0 0 3 &pcie_intc0 3>,
<0 0 0 4 &pcie_intc0 4>;
Then I got the same running complain as Paul have got[2]
So I guess it's the "interrupt-map" property defined in dtsi node play
the key role in this.
[1]http://elixir.free-electrons.com/linux/v4.13-rc4/source/drivers/of/irq.c#L265
[2]https://patchwork.kernel.org/patch/9794355
thanks.
next prev parent reply other threads:[~2017-08-09 6:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-27 2:58 [PATCH v2 0/5] PCI: MediaTek: Add support for new generation host controller honghui.zhang
2017-07-27 2:58 ` [PATCH v2 1/5] PCI: mediatek: Add a structure to abstract the controller generations honghui.zhang
[not found] ` <948f9bd0881402d13e6913ad425e7dff50f3fcfc.1501122135.git.honghui.zhang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2017-07-27 3:19 ` Honghui Zhang
2017-07-27 3:28 ` Honghui Zhang
2017-08-03 22:15 ` Bjorn Helgaas
2017-07-27 2:58 ` [PATCH v2 2/5] PCI: mediatek: switch to use platform_get_resource_byname() honghui.zhang
2017-07-27 2:58 ` [PATCH v2 3/5] dt-bindings: PCI: rename and cleanup MediaTek binding text honghui.zhang
2017-08-03 19:10 ` Rob Herring
2017-08-03 22:17 ` Bjorn Helgaas
2017-07-27 2:58 ` [PATCH v2 4/5] PCI: mediatek: Add new generation controller support honghui.zhang
2017-08-03 22:42 ` Bjorn Helgaas
[not found] ` <20170803224206.GN20308-1RhO1Y9PlrlHTL0Zs8A6p5iNqAH0jzoTYJqu5kTmcBRl57MIdRCFDg@public.gmane.org>
2017-08-04 8:39 ` Honghui Zhang
2017-08-04 13:18 ` Bjorn Helgaas
2017-08-05 4:52 ` Ryder Lee
2017-08-05 6:16 ` Ryder Lee
2017-08-07 3:40 ` Honghui Zhang
2017-08-08 20:16 ` Bjorn Helgaas
2017-08-08 20:19 ` Bjorn Helgaas
2017-08-09 6:49 ` Honghui Zhang [this message]
2017-08-09 16:43 ` Paul Burton
2017-07-27 2:58 ` [PATCH v2 5/5] dt-bindings: PCI: add support for new generation controller honghui.zhang
2017-07-27 3:31 ` Honghui Zhang
[not found] ` <06c9b3439431221794fc9f723fef52ff59be7ec6.1501122135.git.honghui.zhang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2017-07-27 3:38 ` Honghui Zhang
2017-08-03 22:45 ` Bjorn Helgaas
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=1502261392.17420.5.camel@mtksdaap41 \
--to=honghui.zhang@mediatek.com \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=eddie.huang@mediatek.com \
--cc=helgaas@kernel.org \
--cc=hongkun.cao@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=paul.burton@imgtec.com \
--cc=robh+dt@kernel.org \
--cc=robh@kerenl.org \
--cc=ryder.lee@mediatek.com \
--cc=sean.wang@mediatek.com \
--cc=xinping.qian@mediatek.com \
--cc=yingjoe.chen@mediatek.com \
--cc=yong.wu@mediatek.com \
--cc=youlin.pei@mediatek.com \
--cc=yt.shen@mediatek.com \
/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 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).