[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160504012531.GB17170@localhost>
Date: Tue, 3 May 2016 20:25:31 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: Yinghai Lu <yinghai@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
David Miller <davem@...emloft.net>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Wei Yang <weiyang@...ux.vnet.ibm.com>, TJ <linux@....tj>,
Yijing Wang <wangyijing@...wei.com>,
Khalid Aziz <khalid.aziz@...cle.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Michael Ellerman <mpe@...erman.id.au>
Subject: Re: [PATCH v11 04/60] sparc/PCI: Use correct offset for bus address
to resource
On Wed, May 04, 2016 at 10:37:40AM +1000, Benjamin Herrenschmidt wrote:
> On Tue, 2016-05-03 at 15:52 -0700, Yinghai Lu wrote:
> > BenH and DavidM,
> > Are you ok to let /proc/bus/pci/devices to expose resource value
> > instead of
> > BAR value?
> > powerpc already expose MMIO as resource value, but still keep IO as
> > BAR value?
> >
> > Or can we just dump /proc/bus/pci support from now?
>
> The problem tends to be old Xserver expectations...
>
> That stuff has been a can of worms over the years and we did things in
> the kernel to work around X limitations. I'm not that keen on touching
> /proc at all in that regard. Leave it there do what it does today, it's
> a user visible ABI, don't change it.
I did not propose changing any user-visible ABI. To recap what I did
propose:
- The sysfs path uses offsets between 0 and BAR size on all arches.
It uses pci_resource_to_user() today, but I think it should not.
- The procfs path uses offsets of resource values (CPU physical
addresses) on most architectures, but uses something else, e.g.,
BAR values, on others. pci_resource_to_user() does this
translation. The procfs path does not use pci_resource_to_user()
today, but I think it should.
- This implies that pci_mmap_page_range() should deal with resource
values (CPU physical addresses), and proc_bus_pci_mmap() should do
any necessary arch-specific translation from BAR values to
resource values.
Powered by blists - more mailing lists