- 16 9月, 2015 1 次提交
-
-
由 Bjorn Helgaas 提交于
Revert dff22d20 ("PCI: Call pci_read_bridge_bases() from core instead of arch code"). Reading PCI bridge windows is not arch-specific in itself, but there is PCI core code that doesn't work correctly if we read them too early. For example, Hannes found this case on an ARM Freescale i.mx6 board: pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff] pci 0000:00:00.0: PCI bridge to [bus 01-ff] pci 0000:00:00.0: BAR 8: no space for [mem size 0x01000000] (mem window) pci 0000:01:00.0: BAR 2: failed to assign [mem size 0x00200000] pci 0000:01:00.0: BAR 1: failed to assign [mem size 0x00004000] pci 0000:01:00.0: BAR 0: failed to assign [mem size 0x00000100] The 00:00.0 mem window needs to be at least 3MB: the 01:00.0 device needs 0x204100 of space, and mem windows are megabyte-aligned. Bus sizing can increase a bridge window size, but never *decrease* it (see d65245c3 ("PCI: don't shrink bridge resources")). Prior to dff22d20, ARM didn't read bridge windows at all, so the "original size" was zero, and we assigned a 3MB window. After dff22d20, we read the bridge windows before sizing the bus. The firmware programmed a 16MB window (size 0x01000000) in 00:00.0, and since we never decrease the size, we kept 16MB even though we only needed 3MB. But 16MB doesn't fit in the host bridge aperture, so we failed to assign space for the window and the downstream devices. I think this is a defect in the PCI core: we shouldn't rely on the firmware to assign sensible windows. Ray reported a similar problem, also on ARM, with Broadcom iProc. Issues like this are too hard to fix right now, so revert dff22d20. Reported-by: NHannes <oe5hpm@gmail.com> Reported-by: NRay Jui <rjui@broadcom.com> Link: http://lkml.kernel.org/r/CAAa04yFQEUJm7Jj1qMT57-LG7ZGtnhNDBe=PpSRa70Mj+XhW-A@mail.gmail.com Link: http://lkml.kernel.org/r/55F75BB8.4070405@broadcom.comSigned-off-by: NBjorn Helgaas <bhelgaas@google.com> Acked-by: NYinghai Lu <yinghai@kernel.org> Acked-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-
- 08 9月, 2015 1 次提交
-
-
由 Helge Deller 提交于
Commit 3a9ad0b4 ("PCI: Add pci_bus_addr_t") unconditionally introduced usage of 64-bit PCI bus addresses on all 64-bit platforms which broke PA-RISC. It turned out that due to enabling the 64-bit addresses, the PCI logic decided to use the GMMIO instead of the LMMIO region. This commit simply disables registering the GMMIO and thus we fall back to use the LMMIO region as before. Reverts commit 45ea2a5f ("PCI: Don't use 64-bit bus addresses on PA-RISC") To: linux-parisc@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Meelis Roos <mroos@linux.ee> Cc: stable@vger.kernel.org # v3.19+ Signed-off-by: NHelge Deller <deller@gmx.de>
-
- 23 7月, 2015 1 次提交
-
-
由 Lorenzo Pieralisi 提交于
When we scan a PCI bus, we read PCI-PCI bridge window registers with pci_read_bridge_bases() so we can validate the resource hierarchy. Most architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but PCI-PCI bridges are not arch-specific, so this doesn't need to be in arch-specific code. Call pci_read_bridge_bases() directly from the PCI core instead of from arch code. For alpha and mips, we now call pci_read_bridge_bases() always; previously we only called it if PCI_PROBE_ONLY was set. [bhelgaas: changelog] Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> CC: Ralf Baechle <ralf@linux-mips.org> CC: James E.J. Bottomley <jejb@parisc-linux.org> CC: Michael Ellerman <mpe@ellerman.id.au> CC: Bjorn Helgaas <bhelgaas@google.com> CC: Richard Henderson <rth@twiddle.net> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: David Howells <dhowells@redhat.com> CC: Russell King <linux@arm.linux.org.uk> CC: Tony Luck <tony.luck@intel.com> CC: David S. Miller <davem@davemloft.net> CC: Ingo Molnar <mingo@redhat.com> CC: Guenter Roeck <linux@roeck-us.net> CC: Michal Simek <monstr@monstr.eu> CC: Chris Zankel <chris@zankel.net>
-
- 17 1月, 2015 1 次提交
-
-
由 Yinghai Lu 提交于
Every PCI-PCI bridge window should fit inside an upstream bridge window because orphaned address space is unreachable from the primary side of the upstream bridge. If we inherit invalid bridge windows that overlap an upstream window from firmware, clip them to fit and update the bridge accordingly. [bhelgaas: changelog] Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491Reported-by: NMarek Kordik <kordikmarek@gmail.com> Fixes: 5b285415 ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources") Signed-off-by: NYinghai Lu <yinghai@kernel.org> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> CC: "James E.J. Bottomley" <jejb@parisc-linux.org> CC: Helge Deller <deller@gmx.de> CC: linux-parisc@vger.kernel.org
-
- 26 7月, 2013 1 次提交
-
-
由 Yinghai Lu 提交于
We currently enable PCI bridges after scanning a bus and assigning resources. This is often done in arch code. This patch changes this so we don't enable a bridge until necessary, i.e., until we enable a PCI device behind the bridge. We do this in the generic pci_enable_device() path, so this also removes the arch-specific code to enable bridges. [bhelgaas: changelog] Signed-off-by: NYinghai Lu <yinghai@kernel.org> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 10 7月, 2013 1 次提交
-
-
由 Helge Deller 提交于
The LMMIO length reported by PAT and the length given by the LBA MASK register are not consistent. This leads e.g. to a not-working ATI FireGL card with the radeon DRM driver since the memory can't be mapped. Fix this by correctly adjusting the resource sizes. Signed-off-by: NHelge Deller <deller@gmx.de> Cc: <stable@vger.kernel.org> # 3.10
-
- 01 6月, 2013 2 次提交
-
-
由 Helge Deller 提交于
commit dc7dce28 Author: Bjorn Helgaas <bhelgaas@google.com> Date: Fri Oct 28 16:27:27 2011 -0600 parisc/PCI: lba: convert to pci_create_root_bus() for correct root bus resources Supply root bus resources to pci_create_root_bus() so they're correct immediately. This fixes the problem of "early" and "header" quirks seeing incorrect root bus resources. added tests for elmmio_space.start while it should use elmmio_space.flags. This for example led to incorrect resource assignments and a non-working stifb framebuffer on most parisc machines. LBA 10:1: PCI host bridge to bus 0000:01 pci_bus 0000:01: root bus resource [io 0x12000-0x13fff] (bus address [0x2000-0x3fff]) pci_bus 0000:01: root bus resource [mem 0xfffffffffa000000-0xfffffffffbffffff] (bus address [0xfa000000-0xfbffffff]) pci_bus 0000:01: root bus resource [mem 0xfffffffff4800000-0xfffffffff4ffffff] (bus address [0xf4800000-0xf4ffffff]) pci_bus 0000:01: root bus resource [??? 0x00000001 flags 0x0] Signed-off-by: NHelge Deller <deller@gmx.de> Acked-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Bjorn Helgaas 提交于
The non-PAT resource probing code failed to set the type of the LBA bus_num resource (30aa80da "parisc/PCI: register busn_res for root buses" did the corresponding thing for the PAT case). This causes incorrect resource assignments and a non-working stifb framebuffer on most parisc machines. Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NHelge Deller <deller@gmx.de>
-
- 04 1月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 23 8月, 2012 2 次提交
-
-
由 Bjorn Helgaas 提交于
Replace list_for_each() + pci_dev_b() with the simpler list_for_each_entry(). Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Acked-by: NYinghai Lu <yinghai@kernel.org> CC: linux-parisc@vger.kernel.org
-
由 Bjorn Helgaas 提交于
Previously, we enabled PERR & SERR for the first device on the bus, but left other devices alone. Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Acked-by: NYinghai Lu <yinghai@kernel.org> CC: linux-parisc@vger.kernel.org
-
- 14 6月, 2012 2 次提交
-
-
由 Yinghai Lu 提交于
Add the host bridge bus number aperture to the resource list. Like the MMIO and I/O port apertures, this is used when assigning resources to hot-added devices or in the case of conflicts. [bhelgaas: changelog, set flags directly, at LBA bus_num init] CC: Kyle McMartin <kyle@mcmartin.ca> CC: Helge Deller <deller@gmx.de> CC: linux-parisc@vger.kernel.org Signed-off-by: NYinghai Lu <yinghai@kernel.org> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
由 Yinghai Lu 提交于
Replace the struct pci_bus secondary/subordinate members with the struct resource busn_res. Later we'll build a resource tree of these bus numbers. [bhelgaas: changelog] Signed-off-by: NYinghai Lu <yinghai@kernel.org> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 29 3月, 2012 1 次提交
-
-
由 David Howells 提交于
Remove all #inclusions of asm/system.h preparatory to splitting and killing it. Performed with the following command: perl -p -i -e 's!^#\s*include\s*<asm/system[.]h>.*\n!!' `grep -Irl '^#\s*include\s*<asm/system[.]h>' *` Signed-off-by: NDavid Howells <dhowells@redhat.com>
-
- 24 2月, 2012 1 次提交
-
-
由 Bjorn Helgaas 提交于
Tell the PCI core about host bridge address translation so it can take care of bus-to-resource conversion for us. CC: linux-parisc@vger.kernel.org Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 07 1月, 2012 3 次提交
-
-
由 Bjorn Helgaas 提交于
Supply root bus resources to pci_create_root_bus() so they're correct immediately. This fixes the problem of "early" and "header" quirks seeing incorrect root bus resources. CC: linux-parisc@vger.kernel.org Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
由 Bjorn Helgaas 提交于
No functional change here; just converting from pci_scan_bus_parented() to pci_create_bus() to make a future patch simpler. CC: linux-parisc@vger.kernel.org Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
由 Bjorn Helgaas 提交于
This moves the truncate_pat_collision() call out of the pcibios_fixup_bus() path so that when a future patch builds a list of root bus resources for pci_create_bus(), it can use the truncated LMMIO range. truncate_pat_collision() used to be called in this path: pci_scan_bus_parented pci_create_bus pci_scan_child_bus pcibios_fixup_bus lba_fixup_bus truncate_pat_collision All of the PAT and lba_dev resource setup must be done before we call pci_scan_bus_parented(), so it should be safe to move the truncate_pat_collision() to just before pci_scan_bus_parented(). CC: linux-parisc@vger.kernel.org Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
- 02 8月, 2009 1 次提交
-
-
由 Stoyan Gaydarov 提交于
This patche fixes a spelling error that has resulted from copy and pasting. The location of the error was found using a semantic patch but the semantic patch was not trying to find these errors. After looking things over it seemed logical that this change was needed. Signed-off-by: NStoyan Gaydarov <sgayda2@uiuc.edu> Signed-off-by: NHelge Deller <deller@gmx.de>
-
- 03 7月, 2009 2 次提交
-
-
由 Grant Grundler 提交于
gcc 4.4 warns about: drivers/parisc/lba_pci.c: In function 'lba_pat_resources': drivers/parisc/lba_pci.c:1099: warning: the frame size of 8280 bytes is larger than 4096 bytes The problem is we declare two large structures on the stack. They don't need to be on the stack since they are only used during LBA initialization (which is serialized). Moving to be "static". Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
由 Grant Grundler 提交于
Alex Chiang asked me why PARISC was calling pci_bus_add_devices() and pci_bus_assign_resources() in the opposite order from everyone else. No reason and I couldn't see any data dependency. Patch below applies cleanly to 2.6.30-rc2. Later, I suspected the code worked only because no drivers would be loaded/ready until much later in the system initialization sequence. Tested "LBA" code on J6000 (32-bit) and A500 (64-bit SMP) with 2.6.30-rc2. Not tested with any Dino controllers. Not tested with PCI-PCI Bridge (TBD). Reported-by: NAlex Chiang <achiang@hp.com> Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 13 3月, 2009 1 次提交
-
-
由 Grant Grundler 提交于
Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> posted a patch series to linux-pci to fix a wrong assumption about pci_bus->self==NULL for all PCI host bus controllers. While PARISC platforms to not behave this way, I prefer to have the code consistent across architectures. The following patch replaces pci_bus->self with pci_bus->parent when used as a test to check for "root bus controller". Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 06 1月, 2009 1 次提交
-
-
由 Adrian Bunk 提交于
Make the following needlessly global code static: - asp.c: asp_init_chip() - ccio-dma.c: ccio_io_pdir_entry() - dino.c: struct dino_port_ops - dino.c: struct dino_bios_ops - hppb.c: struct hppb_card_head - lasi.c: lasi_led_init() - lasi.c: lasi_init_chip() - lba_pci.c: struct lba_bios_ops - sba_iommu.c: sba_io_pdir_entry() - sba_iommu.c: sba_driver_callback() - sba_iommu.c: sba_driver_callback() - wax.c: wax_init_chip() Signed-off-by: NAdrian Bunk <bunk@kernel.org> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 15 5月, 2008 1 次提交
-
-
由 Harvey Harrison 提交于
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Matthew Wilcox <willy@debian.org> Cc: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 07 12月, 2007 1 次提交
-
-
由 Kyle McMartin 提交于
radeonfb was HPMC-ing my C8000 by trying to map its expansion rom from IO_VIEW, instead of PA_VIEW. Fix seems to be to ensure that its disabled ROM is properly inserted into the resource tree. FIXME: this will result in a whinging printk for cards which share expansion ROMS, such as a quad tulip. Thankfully, it isn't harmful. Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 19 10月, 2007 1 次提交
-
-
由 Matthew Wilcox 提交于
pcibios_link_hba_resources() could corrupt the resource tree by inserting resources in the wrong place. Fix this by calling pci_claim_resource() for PCI-PCI bridges. Delete pcibios_link_hba_resources as we shouldn't need it any more. Also get rid of lba_claim_dev_resources() and just call pci_claim_resource() directly. Signed-off-by: NMatthew Wilcox <willy@linux.intel.com> Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
-
- 09 5月, 2007 1 次提交
-
-
由 Randy Dunlap 提交于
Remove includes of <linux/smp_lock.h> where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 17 2月, 2007 1 次提交
-
-
由 Matthew Wilcox 提交于
Fix resource_size_t warnings in a variety of ways Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 08 12月, 2006 2 次提交
-
-
由 Matthew Wilcox 提交于
Firmware ignores Cardbus bridges, so when Linux assigns bus numbers, it must override firmware's notion of what the busses are numbered. This is not sufficient to support the Cardbus bridge as there is also no interrupt routing table entry for them. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
0/NULL, missing __user, missing __iomem, non-ANSI prototype. Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 04 10月, 2006 4 次提交
-
-
由 Kyle McMartin 提交于
header. This will allow the use of more constants in the agpgart driver. Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
Pull out struct sba_device and struct lba_device into a common ropes.h header. Also fold the parisc portion of iosapic.h into this file. (Then delete the useless portion of iosapic.h) Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
(it's pretty useless telling a user they have a whole bunch of TR%d.%d LBAs) Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 31 3月, 2006 1 次提交
-
-
由 Helge Deller 提交于
Addresses in F-space must be accessed uncached on most parisc machines. Signed-off-by: NHelge Deller <deller@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 23 1月, 2006 1 次提交
-
-
由 Helge Deller 提交于
Helge, o Convert a bunch of kmalloc/memset uses to kzalloc. o pci.c: Add some __read_mostly annotations. o pci.c: Move constant pci_post_reset_delay to asm/pci.h o grfioctl.h: Add A4450A to comment of CRT_ID_VISUALIZE_EG. o Add some consts to perf.c/perf_images.h Matthew, o sticore.c: Add some consts to suppress compile warnings. Signed-off-by: NHelge Deller <deller@parisc-linux.org> Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 11 1月, 2006 2 次提交
-
-
由 Grant Grundler 提交于
Deal with overlapping LBA MMIO resources, rp3440 PDC BUG: PDC reports lmmio range for the last rope that overlaps with the CPU HPA. Console output was: ... Found devices: 1. Storm Peak Fast at 0xfffffffffe798000 [152] { 0, 0x0, 0x889, 0x00004 } 2. Storm Peak Fast at 0xfffffffffe799000 [153] { 0, 0x0, 0x889, 0x00004 } ... FAILED: lba_fixup_bus() request for lmmio_space [fffffffff0000000/fffffffffecffffe] Output is now: LBA: Truncating lmmio_space [fffffffff0000000/fffffffffecffffe] to [fffffffff0000000,fffffffffe797fff] My only concern with this patch is how C8000 (PAT PDC) will report elmmio ranges when a gfx card is installed. I'll have to test this another day. Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NJames Bottomley <jejb@parisc-linux.org> Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Helge Deller 提交于
Flag a whole bunch of things as __read_mostly on parisc. Also flag a few branches as unlikely() and cleanup a bit of code. Signed-off-by: NHelge Deller <deller@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 22 10月, 2005 1 次提交
-
-
由 Matthew Wilcox 提交于
Convert pa_dev->hpa from an unsigned long to a struct resource. Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Fix up users of ->hpa to use ->hpa.start instead. Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
- 28 6月, 2005 1 次提交
-
-
由 Rajesh Shah 提交于
When you hot-plug a (root) bridge hierarchy, it may have p2p bridges and devices attached to it that have not been configured by firmware. In this case, we need to configure the devices before starting them. This patch separates device start from device scan so that we can introduce the configuration step in the middle. I kept the existing semantics for pci_scan_bus() since there are a huge number of callers to that function. Also, I have no way of testing the changes I made to the parisc files, so this needs review by those folks. Sorry for the massive cross-post, this touches files in many different places. Signed-off-by: NRajesh Shah <rajesh.shah@intel.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-