From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Tomasz Nowicki <tn@semihalf.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Marc Zyngier <marc.zyngier@arm.com>,
Hanjun Guo <hanjun.guo@linaro.org>,
Liviu Dudau <Liviu.Dudau@arm.com>,
linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, x86@kernel.org, arnd@arndb.de
Subject: Re: [Patch v7 4/7] PCI/ACPI: Add interface acpi_pci_root_create()
Date: Mon, 9 Nov 2015 17:10:43 +0000 [thread overview]
Message-ID: <20151109171042.GA11909@red-moon> (raw)
In-Reply-To: <5640A8AA.4000806@semihalf.com>
[CC'ing Arnd]
On Mon, Nov 09, 2015 at 03:07:38PM +0100, Tomasz Nowicki wrote:
> On 06.11.2015 14:22, Jiang Liu wrote:
> >On 2015/11/6 20:40, Tomasz Nowicki wrote:
> >>On 06.11.2015 12:46, Jiang Liu wrote:
> >>>On 2015/11/6 18:37, Tomasz Nowicki wrote:
> >>>>On 06.11.2015 09:52, Jiang Liu wrote:
> >>>>Sure, ARM64 (0-16M IO space) QEMU example:
> >>>>DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
> >>>> 0x00000000, // Granularity
> >>>> 0x00000000, // Range Minimum
> >>>> 0x0000FFFF, // Range Maximum
> >>>> 0x3EFF0000, // Translation Offset
> >>>> 0x00010000, // Length
> >>>> ,, , TypeStatic)
> >>>The above DWordIO resource descriptor doesn't confirm to the ACPI spec.
> >>>According to my understanding, ARM/ARM64 has no concept of IO port
> >>>address space, so the PCI host bridge will map IO port on PCI side
> >>>onto MMIO on host side. In other words, PCI host bridge on ARM64
> >>>implement a IO Port->MMIO translation instead of a IO Port->IO Port
> >>>translation. If that's true, it should use 'TypeTranslation' instead
> >>>of 'TypeStatic'. And kernel ACPI resource parsing interface doesn't
> >>>support 'TypeTranslation' yet, so we need to find a solution for it.
> >>
> >>I think you are right, we need TypeTranslation flag for ARM64 DWordIO
> >>descriptors and an extra kernel patch to support it.
> >How about the attached to patch to support TypeTranslation?
> >It only passes compilation:)
>
> Based on the further discussion, your draft patch looks good to me.
> Lorenzo, do you agree?
No, because I still do not understand the difference between ia64 and
arm64 (they both drive IO ports cycles through MMIO so the resource
descriptors content must be the same or better they must mean the same
thing). On top of that, this is something that was heavily debated for DT:
http://www.spinics.net/lists/arm-kernel/msg345633.html
and I would like to get Arnd and Bjorn opinion on this because we
should not "interpret" ACPI specifications, we should understand
what they are supposed to describe and write kernel code accordingly.
In particular, I would like to understand, for an eg DWordIO descriptor,
what Range Minimum, Range Maximum and Translation Offset represent,
they can't mean different things depending on the SW parsing them,
this totally defeats the purpose.
By the way, ia64 ioremaps the translation_offset (ie new_space()), so
basically that's the CPU physical address at which the PCI host bridge
map the IO space transactions), I do not think ia64 is any different from
arm64 in this respect, if it is please provide an HW description here from
the PCI bus perspective here (also an example of ia64 ACPI PCI host bridge
tables would help).
Thanks,
Lorenzo
next prev parent reply other threads:[~2015-11-09 17:09 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-14 6:29 [Patch v7 0/7] Consolidate ACPI PCI root common code into ACPI core Jiang Liu
2015-10-14 6:29 ` [Patch v7 1/7] ACPI/PCI: Enhance ACPI core to support sparse IO space Jiang Liu
2015-10-14 6:29 ` [Patch v7 2/7] ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge Jiang Liu
2015-10-14 6:29 ` [Patch v7 3/7] ia64/PCI: Use common struct resource_entry to replace struct iospace_resource Jiang Liu
2015-10-14 6:29 ` [Patch v7 4/7] PCI/ACPI: Add interface acpi_pci_root_create() Jiang Liu
2015-10-15 20:47 ` Bjorn Helgaas
2015-10-21 9:57 ` Tomasz Nowicki
2015-10-21 11:02 ` Liviu Dudau
2015-10-21 11:27 ` Tomasz Nowicki
2015-10-21 11:42 ` Lorenzo Pieralisi
2015-10-21 12:16 ` Tomasz Nowicki
2015-10-21 11:48 ` Liviu Dudau
2015-10-21 11:49 ` Jiang Liu
2015-10-21 11:52 ` Liviu Dudau
2015-11-05 14:21 ` Tomasz Nowicki
2015-11-05 18:19 ` Lorenzo Pieralisi
2015-11-06 7:55 ` Jiang Liu
2015-11-06 8:52 ` Jiang Liu
2015-11-06 10:37 ` Tomasz Nowicki
2015-11-06 11:46 ` Jiang Liu
2015-11-06 12:40 ` Tomasz Nowicki
2015-11-06 13:22 ` Jiang Liu
2015-11-06 14:45 ` Lorenzo Pieralisi
2015-11-06 15:32 ` Jiang Liu
2015-11-06 15:44 ` Jiang Liu
2015-11-23 15:23 ` Sinan Kaya
2015-11-09 14:07 ` Tomasz Nowicki
2015-11-09 17:10 ` Lorenzo Pieralisi [this message]
2015-11-09 20:09 ` Arnd Bergmann
2015-11-10 5:50 ` Jiang Liu
2015-11-11 17:46 ` Lorenzo Pieralisi
2015-11-11 18:12 ` Liviu Dudau
2015-11-11 20:55 ` Arnd Bergmann
2015-11-12 12:08 ` Lorenzo Pieralisi
2015-11-12 8:43 ` Jiang Liu
2015-11-12 13:21 ` Tomasz Nowicki
2015-11-12 14:04 ` Jiang Liu
2015-11-12 14:45 ` Tomasz Nowicki
2015-11-12 15:05 ` Jiang Liu
2015-11-13 12:57 ` Tomasz Nowicki
2015-11-13 17:03 ` Lorenzo Pieralisi
2015-11-13 17:49 ` Jiang Liu
2015-11-20 10:18 ` Lorenzo Pieralisi
2015-11-27 6:59 ` Tomasz Nowicki
2015-11-06 12:51 ` Lorenzo Pieralisi
2015-11-06 10:18 ` Tomasz Nowicki
2015-11-06 7:51 ` Jiang Liu
2015-10-14 6:29 ` [Patch v7 5/7] ACPI, PCI: Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set Jiang Liu
2015-10-14 6:29 ` [Patch v7 6/7] x86/PCI/ACPI: Use common interface to support PCI host bridge Jiang Liu
2015-10-15 20:46 ` Bjorn Helgaas
2015-10-14 6:29 ` [Patch v7 7/7] ia64/PCI/ACPI: " Jiang Liu
2015-10-15 20:48 ` [Patch v7 0/7] Consolidate ACPI PCI root common code into ACPI core Bjorn Helgaas
2015-10-15 21:49 ` Rafael J. Wysocki
2015-10-16 1:56 ` Jiang Liu
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=20151109171042.GA11909@red-moon \
--to=lorenzo.pieralisi@arm.com \
--cc=Liviu.Dudau@arm.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=hanjun.guo@linaro.org \
--cc=jiang.liu@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=rafael.j.wysocki@intel.com \
--cc=tn@semihalf.com \
--cc=x86@kernel.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 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).