From: Paul Walmsley <paul.walmsley@sifive.com>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: "sorear2@gmail.com" <sorear2@gmail.com>,
"aou@eecs.berkeley.edu" <aou@eecs.berkeley.edu>,
"alex@ghiti.fr" <alex@ghiti.fr>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"Palmer Dabbelt \( Sifive\)" <palmer@g.sifive.com>,
"Anup.Patel@wdc.com" <Anup.Patel@wdc.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Paul Walmsley \( Sifive\)" <paul.walmsley@g.sifive.com>,
"rppt@linux.ibm.com" <rppt@linux.ibm.com>,
Sachin Ghadi <sachin.ghadi@sifive.com>,
Yash Shah <yash.shah@sifive.com>,
Greentime Hu <greentime.hu@g.sifive.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-riscv@lists.infradead.org"
<linux-riscv@lists.infradead.org>,
"will@kernel.org" <will@kernel.org>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"allison@lohutok.net" <allison@lohutok.net>
Subject: Re: [PATCH] RISC-V: Add PCIe I/O BAR memory mapping
Date: Thu, 24 Oct 2019 09:51:25 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.21.9999.1910240937350.20010@viisi.sifive.com> (raw)
In-Reply-To: <c4817ec1-4e50-5646-68f0-caeb0ab6f0bf@deltatee.com>
On Thu, 24 Oct 2019, Logan Gunthorpe wrote:
> On 2019-10-24 3:14 a.m., Yash Shah wrote:
> > For I/O BARs to work correctly on RISC-V Linux, we need to establish a
> > reserved memory region for them, so that drivers that wish to use I/O BARs
> > can issue reads and writes against a memory region that is mapped to the
> > host PCIe controller's I/O BAR MMIO mapping.
>
> I don't think other arches do this.
$ git grep 'define PCI_IOBASE' arch/
arch/arm/include/asm/io.h:#define PCI_IOBASE ((void __iomem *)PCI_IO_VIRT_BASE)
arch/arm64/include/asm/io.h:#define PCI_IOBASE ((void __iomem *)PCI_IO_START)
arch/m68k/include/asm/io_no.h:#define PCI_IOBASE ((void __iomem *) PCI_IO_PA)
arch/microblaze/include/asm/io.h:#define PCI_IOBASE ((void __iomem *)_IO_BASE)
arch/unicore32/include/asm/io.h:#define PCI_IOBASE PKUNITY_PCILIO_BASE
arch/xtensa/include/asm/io.h:#define PCI_IOBASE ((void __iomem *)XCHAL_KIO_BYPASS_VADDR)
$
This is for the old x86-style, non-memory mapped I/O address space the
legacy PCI stuff that one would use in{b,w,l}()/out{b,w,l}() for.
Yash, you might consider updating your patch description to note that this
is for "legacy I/O BARs (i.e., non-MMIO BARs)" or something similar. That
might make things clearer.
> ioremap() typically just uses virtual address space in the VMALLOC
> region, PCI doesn't need it's own range. As far as I know the ioremap()
> implementation in riscv already does this.
>
> In any case, 16MB for PCI bar space seems woefully inadequate.
The modern MMIO PCI resources wind up in jost controller apertures, which
as you note, are usually much larger. They don't go in this legacy space.
Regarding sizing - I haven't seen any PCIe cards with more than 64KiB of
legacy I/O resources. (16MiB / 64KiB) = 256, so 16MiB sounds reasonable
from that point of view? ARM64 is using that.
- Paul
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2019-10-24 16:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-24 9:14 [PATCH] RISC-V: Add PCIe I/O BAR memory mapping Yash Shah
2019-10-24 16:24 ` Logan Gunthorpe
2019-10-24 16:51 ` Paul Walmsley [this message]
2019-10-24 17:07 ` Logan Gunthorpe
2019-10-25 6:35 ` Yash Shah
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=alpine.DEB.2.21.9999.1910240937350.20010@viisi.sifive.com \
--to=paul.walmsley@sifive.com \
--cc=Anup.Patel@wdc.com \
--cc=alex@ghiti.fr \
--cc=allison@lohutok.net \
--cc=aou@eecs.berkeley.edu \
--cc=catalin.marinas@arm.com \
--cc=greentime.hu@g.sifive.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=logang@deltatee.com \
--cc=palmer@g.sifive.com \
--cc=paul.walmsley@g.sifive.com \
--cc=rppt@linux.ibm.com \
--cc=sachin.ghadi@sifive.com \
--cc=sorear2@gmail.com \
--cc=tglx@linutronix.de \
--cc=will@kernel.org \
--cc=yash.shah@sifive.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).