From: John Garry <john.garry@huawei.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Hanjun Guo <hanjun.guo@linaro.org>,
"Rob Herring" <robh+dt@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
"Arnd Bergmann" <arnd@arndb.de>,
Mark Rutland <mark.rutland@arm.com>,
Olof Johansson <olof@lixom.net>,
Dann Frazier <dann.frazier@canonical.com>,
Rob Herring <robh@kernel.org>, Joe Perches <joe@perches.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
<linux-pci@vger.kernel.org>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Linuxarm <linuxarm@huawei.com>, Corey Minyard <minyard@acm.org>,
devicetree <devicetree@vger.kernel.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
Randy Dunlap <rdunlap@infradead.org>
Subject: Re: [PATCH v14 1/9] LIB: Introduce a generic PIO mapping method
Date: Tue, 20 Feb 2018 15:06:51 +0000 [thread overview]
Message-ID: <7197ce31-c4c2-d00e-be04-1edc14c3e721@huawei.com> (raw)
In-Reply-To: <CAHp75Vf102MDDZ8d9kXw2K0+0_WkhFMSq7o=Vz=KrzOM=NRW5A@mail.gmail.com>
On 20/02/2018 14:33, Andy Shevchenko wrote:
> On Mon, Feb 19, 2018 at 7:48 PM, John Garry <john.garry@huawei.com> wrote:
>> From: Zhichang Yuan <yuanzhichang@hisilicon.com>
>>
>> In commit 41f8bba7f555 ("of/pci: Add pci_register_io_range() and
>> pci_pio_to_address()"), a new I/O space management was supported. With
>> that driver, the I/O ranges configured for PCI/PCIe hosts on some
>> architectures can be mapped to logical PIO, converted easily between
>> CPU address and the corresponding logicial PIO. Based on this, PCI
>> I/O devices can be accessed in a memory read/write way through the
>> unified in/out accessors.
>>
>> But on some archs/platforms, there are bus hosts which access I/O
>> peripherals with host-local I/O port addresses rather than memory
>> addresses after memory-mapped.
>>
>> To support those devices, a more generic I/O mapping method is introduced
>> here. Through this patch, both the CPU addresses and the host-local port
>> can be mapped into the logical PIO space with different logical/fake PIOs.
>> After this, all the I/O accesses to either PCI MMIO devices or host-local
>> I/O peripherals can be unified into the existing I/O accessors defined in
>> asm-generic/io.h and be redirected to the right device-specific hooks
>> based on the input logical PIO.
>
Hi Andy,
>> +#define PIO_INDIRECT 0x01UL /* indirect IO flag */
>> +#define PIO_CPU_MMIO 0x00UL /* memory mapped io flag */
>
> It looks like bitfield, but from use I don't see it.
>
IIRC, the orignal intention was that this would be a bit value in a
bitfield.
> Perhaps use enum instead?
I'll change to enum to be clear.
>> + resource_size_t hwaddr = -1;
>
>> +unsigned long
>> + return -1;
>> + return -1;
>
>> +unsigned long
>> + return -1;
>
>> +type logic_in##bw(unsigned long addr) \
>> + type ret = -1; \
>
> All types above are unsigned. I'm not sure it's the best approach to
> use -1 implicitly casted to unsigned type.
>
> I would rather use ~0UL or alike.
>
Yes, I can change these.
Much appreciated,
John
next prev parent reply other threads:[~2018-02-20 15:07 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-19 17:48 [PATCH v14 0/9] LPC: legacy ISA I/O support John Garry
2018-02-19 17:48 ` [PATCH v14 1/9] LIB: Introduce a generic PIO mapping method John Garry
2018-02-20 14:33 ` Andy Shevchenko
2018-02-20 15:06 ` John Garry [this message]
2018-02-19 17:48 ` [PATCH v14 2/9] PCI: Remove unused __weak attribute in pci_register_io_range() John Garry
2018-02-19 17:48 ` [PATCH v14 3/9] PCI: Add fwnode handler as input param of pci_register_io_range() John Garry
2018-02-19 17:48 ` [PATCH v14 4/9] PCI: Apply the new generic I/O management on PCI IO hosts John Garry
2018-02-19 17:48 ` [PATCH v14 5/9] OF: Add missing I/O range exception for indirect-IO devices John Garry
2018-02-20 14:36 ` Andy Shevchenko
2018-02-19 17:48 ` [PATCH v14 6/9] HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings John Garry
2018-02-20 14:50 ` Andy Shevchenko
2018-02-20 15:39 ` John Garry
2018-02-19 17:48 ` [PATCH v14 7/9] ACPI / scan: do not enumerate Indirect IO host children John Garry
2018-02-19 21:38 ` Rafael J. Wysocki
2018-02-19 17:48 ` [PATCH v14 8/9] HISI LPC: Add ACPI support John Garry
2018-02-20 14:52 ` Andy Shevchenko
2018-02-19 17:48 ` [PATCH v14 9/9] MAINTAINERS: Add maintainer for HiSilicon LPC driver John Garry
2018-02-20 14:54 ` [PATCH v14 0/9] LPC: legacy ISA I/O support Andy Shevchenko
2018-02-20 15:41 ` John Garry
2018-02-21 23:15 ` dann frazier
2018-02-22 10:10 ` John Garry
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=7197ce31-c4c2-d00e-be04-1edc14c3e721@huawei.com \
--to=john.garry@huawei.com \
--cc=andy.shevchenko@gmail.com \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=dann.frazier@canonical.com \
--cc=devicetree@vger.kernel.org \
--cc=hanjun.guo@linaro.org \
--cc=joe@perches.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=mika.westerberg@linux.intel.com \
--cc=minyard@acm.org \
--cc=olof@lixom.net \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=robh@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
all inboxes | Powered by JetHome®