[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a2iQhxckn0MfLyLpKmyKN_MwAJ0t2yh6DLsS0MvdreYNA@mail.gmail.com>
Date: Thu, 16 Dec 2021 15:18:49 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Jiaxun Yang <jiaxun.yang@...goat.com>
Cc: Arnd Bergmann <arnd@...db.de>, Xi Ruoyao <xry111@...gyan1223.wang>,
Sergio Paracuellos <sergio.paracuellos@...il.com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Rob Herring <robh@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Liviu Dudau <Liviu.Dudau@....com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Matthias Brugger <matthias.bgg@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
linux-pci <linux-pci@...r.kernel.org>,
linux-staging@...ts.linux.dev, NeilBrown <neil@...wn.name>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 5/6] MIPS: implement architecture-specific 'pci_remap_iospace()'
On Thu, Dec 16, 2021 at 3:14 PM Jiaxun Yang <jiaxun.yang@...goat.com> wrote:
> 在 2021/12/16 13:50, Arnd Bergmann 写道:
> > On Thu, Dec 16, 2021 at 2:07 PM Jiaxun Yang <jiaxun.yang@...goat.com> wrote:
> >> 在2021年12月16日十二月 上午11:44,Xi Ruoyao写道:
> >> Another way could be keeping a linked list about PIO->PHYS mapping instead of using the single io_port_base variable.
> > I think that would add a lot of complexity that isn't needed here. Not
> > sure if all MIPS CPUs
> > can do it, but the approach used on Arm is what fits in best with the
> > PCI drivers, these
> > reserve a virtual address range for the ports, and ioremap the
> > physical addresses into
> > the PIO range according to the mapping.
>
> Yes, the Arm way was my previous approach when introducing PCI IO map
> for Loongson.
>
> It got refactored by this patch as TLB entries are expensive on MIPS,
> also the size of IO range doesn't always fits a page.
Are PIO accesses common enough that the TLB entry makes a difference?
I would imagine that on most systems with a PCI bus, there is not even
a single device that exposes an I/O resource, and even on those devices that
do, the kernel drivers tend to pick MMIO whenever both are available.
Arnd
Powered by blists - more mailing lists