09 May, 2013

1 commit


12 Feb, 2013

2 commits


07 Jan, 2013

1 commit

  • Pull microblaze update from Michal Simek:
    "This fixes noMMU kernel and I have also added defconfig updates which
    fix issue with one external dependency and enable all xilinx device
    drivers for 0-day testing system.

    Additionally wire up finit_module system call, and do highmem fixup
    and pci warnings reported by the 0-day testing system"

    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Update microblaze defconfigs
    microblaze: Fix pci compilation and sparse warnings
    microblaze: Add finit_module syscall
    microblaze: Kill __kmap_atomic()
    microblaze: Change section flags for noMMU
    microblaze: Microblaze wants sys_fork for noMMU too

    Linus Torvalds
     

04 Jan, 2013

2 commits

  • Warning log:
    CHECK arch/microblaze/pci/pci-common.c
    arch/microblaze/pci/pci-common.c:290:14: warning: Using plain integer as NULL pointer
    arch/microblaze/pci/pci-common.c:1127:6: warning: symbol
    'pcibios_allocate_bus_resources' was not declared. Should it be static?
    arch/microblaze/pci/pci-common.c:1436:61: warning: incorrect type in argument 3 (different base types)
    arch/microblaze/pci/pci-common.c:1436:61: expected unsigned int [unsigned] [usertype] offset
    arch/microblaze/pci/pci-common.c:1436:61: got void [noderef] *
    CC arch/microblaze/pci/pci-common.o
    arch/microblaze/pci/pci-common.c: In function 'pci_proc_domain':
    arch/microblaze/pci/pci-common.c:825:25: warning: unused variable 'hose' [-Wunused-variable]
    arch/microblaze/pci/pci-common.c: In function 'pcibios_allocate_bus_resources':
    arch/microblaze/pci/pci-common.c:1182:1: warning: label 'clear_resource' defined but not used [-Wunused-label]
    arch/microblaze/pci/pci-common.c: In function 'pcibios_setup_phb_resources':
    arch/microblaze/pci/pci-common.c:1436:2: warning: passing argument 3 of
    'pci_add_resource_offset' makes integer from pointer without a cast [enabled by default]
    include/linux/pci.h:999:6: note: expected 'resource_size_t' but argument is of type 'void *'

    Signed-off-by: Michal Simek

    Michal Simek
     
  • This fixes up all of the smaller arches that had __dev* markings for
    their platform-specific drivers.

    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
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Mike Frysinger
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: David Howells
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: Koichi Yasutake
    Cc: Jonas Bonn
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Paul Mundt
    Cc: Chris Metcalf
    Cc: Guan Xuetao
    Cc: Bob Liu
    Cc: Srinivas Kandagatla
    Cc: Bjorn Helgaas
    Cc: Myron Stowe
    Cc: Thomas Gleixner
    Cc: Andrew Morton
    Cc: Andi Kleen
    Cc: Jesse Barnes
    Cc: Sebastian Andrzej Siewior
    Cc: Yinghai Lu
    Cc: Thierry Reding
    Cc: Greg Ungerer
    Cc: Grant Likely
    Cc: "Srivatsa S. Bhat"
    Cc: Mark Salter
    Cc: Yong Zhang
    Cc: Michael Holzheu
    Cc: Cornelia Huck
    Cc: Jan Glauber
    Cc: Wei Yongjun
    Cc: Nobuhiro Iwamatsu
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

29 Nov, 2012

1 commit


25 Jul, 2012

1 commit

  • Pull PCI changes from Bjorn Helgaas:
    "Host bridge hotplug:
    - Add MMCONFIG support for hot-added host bridges (Jiang Liu)
    Device hotplug:
    - Move fixups from __init to __devinit (Sebastian Andrzej Siewior)
    - Call FINAL fixups for hot-added devices, too (Myron Stowe)
    - Factor out generic code for P2P bridge hot-add (Yinghai Lu)
    - Remove all functions in a slot, not just those with _EJx (Amos
    Kong)
    Dynamic resource management:
    - Track bus number allocation (struct resource tree per domain)
    (Yinghai Lu)
    - Make P2P bridge 1K I/O windows work with resource reassignment
    (Bjorn Helgaas, Yinghai Lu)
    - Disable decoding while updating 64-bit BARs (Bjorn Helgaas)
    Power management:
    - Add PCIe runtime D3cold support (Huang Ying)
    Virtualization:
    - Add VFIO infrastructure (ACS, DMA source ID quirks) (Alex
    Williamson)
    - Add quirks for devices with broken INTx masking (Jan Kiszka)
    Miscellaneous:
    - Fix some PCI Express capability version issues (Myron Stowe)
    - Factor out some arch code with a weak, generic, pcibios_setup()
    (Myron Stowe)"

    * tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (122 commits)
    PCI: hotplug: ensure a consistent return value in error case
    PCI: fix undefined reference to 'pci_fixup_final_inited'
    PCI: build resource code for M68K architecture
    PCI: pciehp: remove unused pciehp_get_max_lnk_width(), pciehp_get_cur_lnk_width()
    PCI: reorder __pci_assign_resource() (no change)
    PCI: fix truncation of resource size to 32 bits
    PCI: acpiphp: merge acpiphp_debug and debug
    PCI: acpiphp: remove unused res_lock
    sparc/PCI: replace pci_cfg_fake_ranges() with pci_read_bridge_bases()
    PCI: call final fixups hot-added devices
    PCI: move final fixups from __init to __devinit
    x86/PCI: move final fixups from __init to __devinit
    MIPS/PCI: move final fixups from __init to __devinit
    PCI: support sizing P2P bridge I/O windows with 1K granularity
    PCI: reimplement P2P bridge 1K I/O windows (Intel P64H2)
    PCI: disable MEM decoding while updating 64-bit MEM BARs
    PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too
    PCI: never discard enable/suspend/resume_early/resume fixups
    PCI: release temporary reference in __nv_msi_ht_cap_quirk()
    PCI: restructure 'pci_do_fixups()'
    ...

    Linus Torvalds
     

06 Jul, 2012

3 commits

  • The pattern (np ? np->full_name : "") is rather common in the
    kernel, but can also make for quite long lines. This patch adds a new
    inline function, of_node_full_name() so that the test for a valid node
    pointer doesn't need to be open coded at all call sites.

    Signed-off-by: Grant Likely
    Cc: Paul Mundt
    Cc: Benjamin Herrenschmidt
    Cc: Thomas Gleixner
    Signed-off-by: Rob Herring

    Grant Likely
     
  • * pci/myron-pcibios_setup:
    xtensa/PCI: factor out pcibios_setup()
    x86/PCI: adjust section annotations for pcibios_setup()
    unicore32/PCI: adjust section annotations for pcibios_setup()
    tile/PCI: factor out pcibios_setup()
    sparc/PCI: factor out pcibios_setup()
    sh/PCI: adjust section annotations for pcibios_setup()
    sh/PCI: factor out pcibios_setup()
    powerpc/PCI: factor out pcibios_setup()
    parisc/PCI: factor out pcibios_setup()
    MIPS/PCI: adjust section annotations for pcibios_setup()
    MIPS/PCI: factor out pcibios_setup()
    microblaze/PCI: factor out pcibios_setup()
    ia64/PCI: factor out pcibios_setup()
    cris/PCI: factor out pcibios_setup()
    alpha/PCI: factor out pcibios_setup()
    PCI: pull pcibios_setup() up into core

    Bjorn Helgaas
     
  • The PCI core provides a generic pcibios_setup() routine. Drop this
    architecture-specific version in favor of that.

    Acked-by: Michal Simek
    Signed-off-by: Myron Stowe
    Signed-off-by: Bjorn Helgaas

    Myron Stowe
     

14 Jun, 2012

1 commit


16 May, 2012

1 commit


24 Feb, 2012

2 commits


12 Jan, 2012

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)
    x86/PCI: Expand the x86_msi_ops to have a restore MSIs.
    PCI: Increase resource array mask bit size in pcim_iomap_regions()
    PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES
    PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)
    PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB
    x86/PCI: amd: factor out MMCONFIG discovery
    PCI: Enable ATS at the device state restore
    PCI: msi: fix imbalanced refcount of msi irq sysfs objects
    PCI: kconfig: English typo in pci/pcie/Kconfig
    PCI/PM/Runtime: make PCI traces quieter
    PCI: remove pci_create_bus()
    xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources
    x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()
    x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()
    x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan
    sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources
    sparc/PCI: convert to pci_create_root_bus()
    sh/PCI: convert to pci_scan_root_bus() for correct root bus resources
    powerpc/PCI: convert to pci_create_root_bus()
    powerpc/PCI: split PHB part out of pcibios_map_io_space()
    ...

    Fix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due
    to the same patches being applied in other branches.

    Linus Torvalds
     

11 Jan, 2012

1 commit

  • lib: use generic pci_iomap on all architectures

    Many architectures don't want to pull in iomap.c,
    so they ended up duplicating pci_iomap from that file.
    That function isn't trivial, and we are going to modify it
    https://lkml.org/lkml/2011/11/14/183
    so the duplication hurts.

    This reduces the scope of the problem significantly,
    by moving pci_iomap to a separate file and
    referencing that from all architectures.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    alpha: drop pci_iomap/pci_iounmap from pci-noop.c
    mn10300: switch to GENERIC_PCI_IOMAP
    mn10300: add missing __iomap markers
    frv: switch to GENERIC_PCI_IOMAP
    tile: switch to GENERIC_PCI_IOMAP
    tile: don't panic on iomap
    sparc: switch to GENERIC_PCI_IOMAP
    sh: switch to GENERIC_PCI_IOMAP
    powerpc: switch to GENERIC_PCI_IOMAP
    parisc: switch to GENERIC_PCI_IOMAP
    mips: switch to GENERIC_PCI_IOMAP
    microblaze: switch to GENERIC_PCI_IOMAP
    arm: switch to GENERIC_PCI_IOMAP
    alpha: switch to GENERIC_PCI_IOMAP
    lib: add GENERIC_PCI_IOMAP
    lib: move GENERIC_IOMAP to lib/Kconfig

    Fix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig

    Linus Torvalds
     

07 Jan, 2012

5 commits

  • Microblaze doesn't need to replace pci_scan_child_bus() or do anything
    special before pci_bus_add_devices(), so we can use the more generic PCI
    path in pci_scan_root_bus().

    CC: Michal Simek
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • Convert from pci_create_bus() to pci_create_root_bus(). This way the root
    bus resources are correct immediately. This patch doesn't fix a problem
    because microblaze fixed the resources before scanning the bus, but it makes
    microblaze more consistent with other architectures. It also allows us to
    use the pci_scan_root_bus() path safely.

    CC: Michal Simek
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • CC: Michal Simek
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • The pci_bus_for_each_resource() iterator sets "res" itself, so there's
    no need to look it up in the bus->resource[] table.

    Logically part of 89a74ecccd and 8a66da71fa.

    CC: Michal Simek
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • This patch converts MicroBlaze's architecture-specific
    'pcibios_set_master()' routine to a non-inlined function. This will
    allow follow on patches to create a generic 'pcibios_set_master()'
    function using the '__weak' attribute which can be used by all
    architectures as a default which, if necessary, can then be over-
    ridden by architecture-specific code.

    Converting 'pci_bios_set_master()' to a non-inlined function will
    allow MicroBlaze's 'pcibios_set_master()' implementation to remain
    architecture-specific after the generic version is introduced and thus,
    not change current behavior.

    No functional change.

    Signed-off-by: Myron Stowe
    Signed-off-by: Jesse Barnes

    Myron Stowe
     

05 Jan, 2012

1 commit

  • NO_IRQ shouldn't be used by any driver. All Microblaze
    drivers are fixed that's why NO_IRQ can be removed.

    Also fix pci-common.c which has references to NO_IRQ removed.

    Signed-off-by: Michal Simek
    Reviewed-by: Ryan Mallon
    Acked-by: Grant Likely
    CC: Benjamin Herrenschmidt

    Michal Simek
     

29 Nov, 2011

1 commit

  • microblaze copied pci_iomap from generic code, probably to avoid
    pulling the rest of iomap.c in. Since that's in
    a separate file now, we can reuse the common implementation.

    The only difference is handling of nocache flag,
    that turns out to be done correctly by the
    generic code since arch/microblaze/include/asm/io.h
    defines ioremap_nocache same as ioremap.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     

01 Nov, 2011

1 commit


26 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

10 Jun, 2011

1 commit


08 Jun, 2011

3 commits

  • There's no point in keeping this separate. Even if microblaze grows
    a 64-bit variant, it will probably be able to re-use that code as-is

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Grant Likely

    Benjamin Herrenschmidt
     
  • The whole business with re-assigning all bus numbers, creating
    an OF bus "map" etc... is ancient powermac stuff that you really
    don't care about on microblaze.

    Similarly pci_device_from_OF_node() is unused and by getting rid
    of it we can get rid of a whole lot of code otherwise unused on
    this architecture

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Grant Likely
    Acked-by: Michal Simek

    Benjamin Herrenschmidt
     
  • powerpc has two different ways of matching PCI devices to their
    corresponding OF node (if any) for historical reasons. The ppc64 one
    does a scan looking for matching bus/dev/fn, while the ppc32 one does a
    scan looking only for matching dev/fn on each level in order to be
    agnostic to busses being renumbered (which Linux does on some
    platforms).

    This removes both and instead moves the matching code to the PCI core
    itself. It's the most logical place to do it: when a pci_dev is created,
    we know the parent and thus can do a single level scan for the matching
    device_node (if any).

    The benefit is that all archs now get the matching for free. There's one
    hook the arch might want to provide to match a PHB bus to its device
    node. A default weak implementation is provided that looks for the
    parent device device node, but it's not entirely reliable on powerpc for
    various reasons so powerpc provides its own.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     

31 Mar, 2011

1 commit


29 Mar, 2011

1 commit


05 Feb, 2011

2 commits

  • Currently, ppc32 uses sysdata for the pci_controller pointer, and
    ppc64 uses it to hold the device_node pointer. This patch moves the
    of_node pointer into (struct pci_bus*)->dev.of_node and
    (struct pci_dev*)->dev.of_node so that sysdata can be converted to always
    use the pci_controller pointer instead. It also fixes up the
    allocating of pci devices so that the of_node pointer gets assigned
    consistently and increments the ref count.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • There is a tiny difference between PPC32 and PPC64. Microblaze uses the
    PPC32 variant.

    Signed-off-by: Sebastian Andrzej Siewior
    [grant.likely@secretlab.ca: Added comment to #endif, moved documentation
    block to function implementation, fixed for non ppc and microblaze
    compiles]
    Signed-off-by: Grant Likely

    Sebastian Andrzej Siewior
     

21 Oct, 2010

2 commits


17 Aug, 2010

2 commits


12 Jun, 2010

1 commit

  • Yannick found that video does not work with 2.6.34. The cause of this
    bug was that the BIOS had assigned the wrong range to the PCI bridge
    above the video device. Before 2.6.34 the kernel would have shrunk
    the size of the bridge window, but since
    d65245c PCI: don't shrink bridge resources
    the kernel will avoid shrinking BIOS ranges.

    So zero out the old range if we fail to claim it at boot time; this will
    cause us to allocate a new range at startup, restoring the 2.6.34
    behavior.

    Fixes regression https://bugzilla.kernel.org/show_bug.cgi?id=16009.

    Reported-by: Yannick
    Acked-by: Bjorn Helgaas
    Signed-off-by: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     

13 May, 2010

1 commit