Thread (45 messages) 45 messages, 7 authors, 2014-06-02

[PATCH v1 5/5] pci: keystone: add pcie driver based on designware core driver

From: bhelgaas@google.com (Bjorn Helgaas)
Date: 2014-05-20 17:17:47
Also in: linux-pci, lkml

On Tue, May 20, 2014 at 1:55 AM, Arnd Bergmann [off-list ref] wrote:
On Monday 19 May 2014 17:10:50 Murali Karicheri wrote:
quoted
On ARM, by default pci_bus_config seems to be set to 0
(PCIE_BUS_TUNE_OFF). So the code doesn't get
executed for this default. But for PCIE_BUS_SAFE, it doesn't change the
mrrs at the EP and is not
good for our platform w.r.t mrrs settings. For PCIE_BUS_PERFORMANCE, it
seems to increase the payload
size as well and Keystone Payload size is limited to 128 bytes. So it is
not safe to increase the payload
size to 256 based on the log.

On other platforms, Why the PCI core try to set the payload size equal
to mrrs? Is this explained in any
PCI spec?  Looks like this is done for performance? Let me know if you
want me to send a patch for
review to add the pcie_bus_configure_settings() code to
arch/arm/kernel/bios32.c

For the Keystone PCI driver, I believe. it is safe to have the quirk so
that controller can handle the
read requests properly. Let me know if the quirk code above looks good
to go.
I don't know enough about these to give you a definite answer, but
I'd still prefer to handle this in generic code. A quirk seems to
be the wrong answer here. If this isn't something we can do in generic
fashion, can you do it in the add_bus() callback perhaps?
I definitely prefer a more generic approach than a quirk.
Unfortunately the MPS management was implemented originally just for
x86, not because there's anything arch-specific about it, but because
the author was only concerned about x86.  Making that more generic has
been an open issue all along.

Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help