From: Marc Zyngier <marc.zyngier@arm.com>
To: okaya@codeaurora.org
Cc: Tomasz Nowicki <tn@semihalf.com>,
tglx@linutronix.de, jason@lakedaemon.net, rjw@rjwysocki.net,
lorenzo.pieralisi@arm.com, robert.richter@caviumnetworks.com,
shijie.huang@arm.com, Suravee.Suthikulpanit@amd.com,
hanjun.guo@linaro.org, al.stone@linaro.org, mw@semihalf.com,
graeme.gregory@linaro.org, Catalin.Marinas@arm.com,
will.deacon@arm.com, linux-kernel@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
ddaney.cavm@gmail.com
Subject: Re: [PATCH V4 4/7] ARM64, ACPI, PCI: I/O Remapping Table (IORT) initial support.
Date: Thu, 14 Apr 2016 12:48:18 +0100 [thread overview]
Message-ID: <570F8382.6040307@arm.com> (raw)
In-Reply-To: <32c49fc25832b4cee05e5c9352c2f6cf@codeaurora.org>
On 14/04/16 12:37, okaya@codeaurora.org wrote:
> On 2016-04-14 03:36, Marc Zyngier wrote:
>> On 14/04/16 08:20, Tomasz Nowicki wrote:
>>> On 13.04.2016 23:18, Sinan Kaya wrote:
>>>> On 4/13/2016 11:52 AM, Marc Zyngier wrote:
>>>>>>> Sure. Please see:
>>>>>>> http://infocenter.arm.com/help/topic/com.arm.doc.den0049a/DEN0049A_IO_Remapping_Table.pdf
>>>>>>> 3.1.1.5 PCI root complex node
>>>>>>> PCI Segment number -> The PCI segment number, as in MCFG and as
>>>>>>> returned by _SEG in the namespace.
>>>>>>>
>>>>>>> So IORT spec states that pci_segment_number corresponds to the
>>>>>>> segment
>>>>>>> number from MCFG table and _SEG method. Here is my patch which
>>>>>>> makes
>>>>>>> sure pci_domain_nr(bus) is set properly:
>>>>>>> https://lkml.org/lkml/2016/2/16/418
>>>>> Lovely. So this series is actually dependent on the PCI one. I guess
>>>>> we
>>>>> need to solve that one first, because IORT seems pretty pointless if
>>>>> we
>>>>> don't have PCI support. What's the plan?
>>>>
>>>> Would it be OK to split the PCI specific section of the patch and
>>>> continue
>>>> review? PCI is a user of the IORT table. Not the other way around.
>>>
>>> I need to disagree. What would be the use case for patches w/o "PCI
>>> part" ?
>>
>> Quite. PCI (as a subsystem) doesn't need IORT at all, thank you very
>> much. GIC (implementing MSI) and SMMU (implementing DMA) do, by virtue
>> of RID/SID/DID being translated all over the place.
>>
>> So by the look of it, the dependency chain is GIC+SMMU->IORT->PCI.
>>
>> The GIC changes here are pretty mechanical, and not that interesting.
>> The stuff that needs sorting quickly is PCI, because all this work is
>> pointless if we don't have it.
>>
>> At the risk of sounding like a stuck record: What's the plan?
>>
>> Thanks,
>>
>> M.
>
> My answer is based on the spec definition. The spec defines named
> components for other peripherals that are behind iommu and can
> potentially implement msi.
>
> You could have used a basic device like platform sata to take care of
> basic iort and smmu support.
>
> You can then come back and implement PCIe support.
I could. You could do it too. Thankfully, the dependency is dictated by
whoever is writing the code.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 4/7] ARM64, ACPI, PCI: I/O Remapping Table (IORT) initial support.
Date: Thu, 14 Apr 2016 12:48:18 +0100 [thread overview]
Message-ID: <570F8382.6040307@arm.com> (raw)
In-Reply-To: <32c49fc25832b4cee05e5c9352c2f6cf@codeaurora.org>
On 14/04/16 12:37, okaya at codeaurora.org wrote:
> On 2016-04-14 03:36, Marc Zyngier wrote:
>> On 14/04/16 08:20, Tomasz Nowicki wrote:
>>> On 13.04.2016 23:18, Sinan Kaya wrote:
>>>> On 4/13/2016 11:52 AM, Marc Zyngier wrote:
>>>>>>> Sure. Please see:
>>>>>>> http://infocenter.arm.com/help/topic/com.arm.doc.den0049a/DEN0049A_IO_Remapping_Table.pdf
>>>>>>> 3.1.1.5 PCI root complex node
>>>>>>> PCI Segment number -> The PCI segment number, as in MCFG and as
>>>>>>> returned by _SEG in the namespace.
>>>>>>>
>>>>>>> So IORT spec states that pci_segment_number corresponds to the
>>>>>>> segment
>>>>>>> number from MCFG table and _SEG method. Here is my patch which
>>>>>>> makes
>>>>>>> sure pci_domain_nr(bus) is set properly:
>>>>>>> https://lkml.org/lkml/2016/2/16/418
>>>>> Lovely. So this series is actually dependent on the PCI one. I guess
>>>>> we
>>>>> need to solve that one first, because IORT seems pretty pointless if
>>>>> we
>>>>> don't have PCI support. What's the plan?
>>>>
>>>> Would it be OK to split the PCI specific section of the patch and
>>>> continue
>>>> review? PCI is a user of the IORT table. Not the other way around.
>>>
>>> I need to disagree. What would be the use case for patches w/o "PCI
>>> part" ?
>>
>> Quite. PCI (as a subsystem) doesn't need IORT at all, thank you very
>> much. GIC (implementing MSI) and SMMU (implementing DMA) do, by virtue
>> of RID/SID/DID being translated all over the place.
>>
>> So by the look of it, the dependency chain is GIC+SMMU->IORT->PCI.
>>
>> The GIC changes here are pretty mechanical, and not that interesting.
>> The stuff that needs sorting quickly is PCI, because all this work is
>> pointless if we don't have it.
>>
>> At the risk of sounding like a stuck record: What's the plan?
>>
>> Thanks,
>>
>> M.
>
> My answer is based on the spec definition. The spec defines named
> components for other peripherals that are behind iommu and can
> potentially implement msi.
>
> You could have used a basic device like platform sata to take care of
> basic iort and smmu support.
>
> You can then come back and implement PCIe support.
I could. You could do it too. Thankfully, the dependency is dictated by
whoever is writing the code.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2016-04-14 11:48 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-04 8:52 [PATCH V4 0/7] Introduce ACPI world to ITS irqchip Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-04 8:52 ` [PATCH V4 1/7] acpi, pci: Setup MSI domain on a per-devices basis Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-13 10:18 ` Marc Zyngier
2016-04-13 10:18 ` Marc Zyngier
2016-04-13 10:49 ` Tomasz Nowicki
2016-04-13 10:49 ` Tomasz Nowicki
2016-04-04 8:52 ` [PATCH V4 2/7] irqchip, GICv3, ITS: Cleanup for ITS domain initialization Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-13 14:18 ` Marc Zyngier
2016-04-13 14:18 ` Marc Zyngier
2016-04-04 8:52 ` [PATCH V4 3/7] irqchip, GICv3, ITS: Refator ITS DT init code to prepare for ACPI Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-12 10:18 ` Tomasz Nowicki
2016-04-12 10:18 ` Tomasz Nowicki
2016-04-13 15:09 ` Marc Zyngier
2016-04-13 15:09 ` Marc Zyngier
2016-04-04 8:52 ` [PATCH V4 4/7] ARM64, ACPI, PCI: I/O Remapping Table (IORT) initial support Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-13 15:23 ` Marc Zyngier
2016-04-13 15:23 ` Marc Zyngier
2016-04-13 15:36 ` Tomasz Nowicki
2016-04-13 15:36 ` Tomasz Nowicki
2016-04-13 15:52 ` Marc Zyngier
2016-04-13 15:52 ` Marc Zyngier
2016-04-13 21:18 ` Sinan Kaya
2016-04-13 21:18 ` Sinan Kaya
2016-04-14 7:20 ` Tomasz Nowicki
2016-04-14 7:20 ` Tomasz Nowicki
2016-04-14 7:36 ` Marc Zyngier
2016-04-14 7:36 ` Marc Zyngier
2016-04-14 11:37 ` okaya
2016-04-14 11:37 ` okaya at codeaurora.org
2016-04-14 11:48 ` Marc Zyngier [this message]
2016-04-14 11:48 ` Marc Zyngier
2016-04-14 7:39 ` Tomasz Nowicki
2016-04-14 7:39 ` Tomasz Nowicki
2016-04-14 7:46 ` Marc Zyngier
2016-04-14 7:46 ` Marc Zyngier
2016-04-04 8:52 ` [PATCH V4 5/7] irqchip, gicv3, its: Probe ITS in the ACPI way Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-14 9:01 ` Marc Zyngier
2016-04-14 9:01 ` Marc Zyngier
2016-04-04 8:52 ` [PATCH V4 6/7] its, pci, msi: Factor out code that might be reused for ACPI Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-04 8:52 ` [PATCH V4 7/7] acpi, gicv3, its: Use MADT ITS subtable to do PCI/MSI domain initialization Tomasz Nowicki
2016-04-04 8:52 ` Tomasz Nowicki
2016-04-12 7:39 ` [PATCH V4 0/7] Introduce ACPI world to ITS irqchip Tomasz Nowicki
2016-04-12 7:39 ` Tomasz Nowicki
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=570F8382.6040307@arm.com \
--to=marc.zyngier@arm.com \
--cc=Catalin.Marinas@arm.com \
--cc=Suravee.Suthikulpanit@amd.com \
--cc=al.stone@linaro.org \
--cc=ddaney.cavm@gmail.com \
--cc=graeme.gregory@linaro.org \
--cc=hanjun.guo@linaro.org \
--cc=jason@lakedaemon.net \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mw@semihalf.com \
--cc=okaya@codeaurora.org \
--cc=rjw@rjwysocki.net \
--cc=robert.richter@caviumnetworks.com \
--cc=shijie.huang@arm.com \
--cc=tglx@linutronix.de \
--cc=tn@semihalf.com \
--cc=will.deacon@arm.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.