From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Andrew Halaney <ahalaney@redhat.com>
Cc: Rob Herring <robh@kernel.org>,
Siddharth Vadapalli <s-vadapalli@ti.com>,
bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com,
vigneshr@ti.com, kishon@kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org,
srk@ti.com
Subject: Re: [PATCH] PCI: j721e: Set .map_irq and .swizzle_irq to NULL
Date: Fri, 9 Aug 2024 11:03:04 +0530 [thread overview]
Message-ID: <20240809053304.GB2826@thinkpad> (raw)
In-Reply-To: <wr2z74wsqhitisgp4qsfrmuvvhw3cpp3bdzkp5batawv6btfyd@xcyhug7jyfxg>
On Thu, Aug 08, 2024 at 03:56:10PM -0500, Andrew Halaney wrote:
[...]
> > There's a lot of history and the interrupt parsing is fragile due to
> > all the "interesting" DT interrupt hierarchies. So while I think it
> > would work, that's just a guess. I'm open to trying it and seeing.
>
> Would something like this be what you're imagining? If so I can post a
> patch if this patch is a dead end:
>
> diff --git a/drivers/pci/of.c b/drivers/pci/of.c
> index dacea3fc5128..4e4ecaa95599 100644
> --- a/drivers/pci/of.c
> +++ b/drivers/pci/of.c
> @@ -512,6 +512,10 @@ static int of_irq_parse_pci(const struct pci_dev *pdev, struct of_phandle_args *
> if (ppnode == NULL) {
> rc = -EINVAL;
> goto err;
> + } else if (!of_get_property(ppnode, "interrupt-map", NULL)) {
> + /* No interrupt-map on a host bridge means we're done here */
> + rc = -ENOENT;
> + goto err;
> }
> } else {
> /* We found a P2P bridge, check if it has a node */
>
This is a reasonable change if the parent is the host bridge. But if parent is a
PCI bridge node (note the else condition), then of_irq_parse_raw() will get
called and we will hit the same issue.
IMO, either we need to fix of_irq_parse_raw() or come up with another
implementation that does the right thing i.e., travese upto the host bridge and
check for the 'interrupt-map'. Currently it goes till the top level interrupt
controller.
> I must admit that you being nervous has me being nervous since I'm not all
> that familiar with PCI... but if y'all think this is ok then I'm for it.
> I'm sure I'm not picturing all the cases here so would appreciate
> some scrutiny.
>
> You still end up with warnings, which kind of sucks, since as I
> understand it the lack of INTx interrupts on this platform is
> *intentional*:
>
> [ 3.342548] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
> [ 3.346716] pcieport 0000:00:00.0: of_irq_parse_pci: no interrupt-map found, INTx interrupts not available
> [ 3.346721] PCI: OF: of_irq_parse_pci: possibly some PCI slots don't have level triggered interrupts capability
>
I propose to demote these prints to debug as these are not warnings by any
means.
> You could have a combo of both this patch (to indicate that a specific driver (even further
> limited to a match data based on compatible) doesn't support these) as well as
> the above diff (to improve the message printed in the situation where a driver
> *does* claim to support these interrupts but fails to describe them properly).
>
Again, I don't think we need to have the change in the driver. DT already
indicated that there is no INTx support, so why should driver duplicate the same
info?
- Mani
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2024-08-09 5:33 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-24 6:50 [PATCH] PCI: j721e: Set .map_irq and .swizzle_irq to NULL Siddharth Vadapalli
2024-07-24 6:54 ` kernel test robot
2024-07-24 16:19 ` Manivannan Sadhasivam
2024-07-25 4:20 ` Manivannan Sadhasivam
2024-07-25 8:20 ` Siddharth Vadapalli
2024-07-26 11:56 ` Manivannan Sadhasivam
2024-08-05 16:01 ` Rob Herring
2024-08-05 16:45 ` Manivannan Sadhasivam
2024-08-05 19:05 ` Rob Herring
2024-08-05 20:40 ` Rob Herring
2024-08-08 20:56 ` Andrew Halaney
2024-08-09 5:33 ` Manivannan Sadhasivam [this message]
2024-07-25 5:20 ` Siddharth Vadapalli
2024-07-25 7:47 ` Manivannan Sadhasivam
2024-07-25 8:31 ` Siddharth Vadapalli
2024-07-26 10:24 ` Siddharth Vadapalli
2024-07-26 11:30 ` Manivannan Sadhasivam
2024-07-26 12:06 ` Siddharth Vadapalli
2024-07-24 16:23 ` Bjorn Helgaas
2024-07-25 5:53 ` Siddharth Vadapalli
2024-07-25 21:19 ` Bjorn Helgaas
2024-07-25 22:21 ` Andrew Halaney
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=20240809053304.GB2826@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=ahalaney@redhat.com \
--cc=bhelgaas@google.com \
--cc=kishon@kernel.org \
--cc=kw@linux.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=robh@kernel.org \
--cc=s-vadapalli@ti.com \
--cc=srk@ti.com \
--cc=stable@vger.kernel.org \
--cc=vigneshr@ti.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 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.