02 Apr, 2014

3 commits

  • Pull PCI changes from Bjorn Helgaas:
    "Enumeration
    - Increment max correctly in pci_scan_bridge() (Andreas Noever)
    - Clarify the "scan anyway" comment in pci_scan_bridge() (Andreas Noever)
    - Assign CardBus bus number only during the second pass (Andreas Noever)
    - Use request_resource_conflict() instead of insert_ for bus numbers (Andreas Noever)
    - Make sure bus number resources stay within their parents bounds (Andreas Noever)
    - Remove pci_fixup_parent_subordinate_busnr() (Andreas Noever)
    - Check for child busses which use more bus numbers than allocated (Andreas Noever)
    - Don't scan random busses in pci_scan_bridge() (Andreas Noever)
    - x86: Drop pcibios_scan_root() check for bus already scanned (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_with_sysdata() (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_on_node() (Bjorn Helgaas)
    - x86: Merge pci_scan_bus_on_node() into pcibios_scan_root() (Bjorn Helgaas)
    - x86: Drop return value of pcibios_scan_root() (Bjorn Helgaas)

    NUMA
    - x86: Add x86_pci_root_bus_node() to look up NUMA node from PCI bus (Bjorn Helgaas)
    - x86: Use x86_pci_root_bus_node() instead of get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Remove mp_bus_to_node[], set_mp_bus_to_node(), get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Use NUMA_NO_NODE, not -1, for unknown node (Bjorn Helgaas)
    - x86: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ia64: Use NUMA_NO_NODE, not MAX_NUMNODES, for unknown node (Bjorn Helgaas)
    - ia64: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ACPI: Fix acpi_get_node() prototype (Bjorn Helgaas)

    Resource management
    - i2o: Fix and refactor PCI space allocation (Bjorn Helgaas)
    - Add resource_contains() (Bjorn Helgaas)
    - Add %pR support for IORESOURCE_UNSET (Bjorn Helgaas)
    - Mark resources as IORESOURCE_UNSET if we can't assign them (Bjorn Helgaas)
    - Don't clear IORESOURCE_UNSET when updating BAR (Bjorn Helgaas)
    - Check IORESOURCE_UNSET before updating BAR (Bjorn Helgaas)
    - Don't try to claim IORESOURCE_UNSET resources (Bjorn Helgaas)
    - Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit (Bjorn Helgaas)
    - Don't enable decoding if BAR hasn't been assigned an address (Bjorn Helgaas)
    - Add "weak" generic pcibios_enable_device() implementation (Bjorn Helgaas)
    - alpha, microblaze, sh, sparc, tile: Use default pcibios_enable_device() (Bjorn Helgaas)
    - s390: Use generic pci_enable_resources() (Bjorn Helgaas)
    - Don't check resource_size() in pci_bus_alloc_resource() (Bjorn Helgaas)
    - Set type in __request_region() (Bjorn Helgaas)
    - Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region() (Bjorn Helgaas)
    - Change pci_bus_alloc_resource() type_mask to unsigned long (Bjorn Helgaas)
    - Log IDE resource quirk in dmesg (Bjorn Helgaas)
    - Revert "[PATCH] Insert GART region into resource map" (Bjorn Helgaas)

    PCI device hotplug
    - Make check_link_active() non-static (Rajat Jain)
    - Use link change notifications for hot-plug and removal (Rajat Jain)
    - Enable link state change notifications (Rajat Jain)
    - Don't disable the link permanently during removal (Rajat Jain)
    - Don't check adapter or latch status while disabling (Rajat Jain)
    - Disable link notification across slot reset (Rajat Jain)
    - Ensure very fast hotplug events are also processed (Rajat Jain)
    - Add hotplug_lock to serialize hotplug events (Rajat Jain)
    - Remove a non-existent card, regardless of "surprise" capability (Rajat Jain)
    - Don't turn slot off when hot-added device already exists (Yijing Wang)

    MSI
    - Keep pci_enable_msi() documentation (Alexander Gordeev)
    - ahci: Fix broken single MSI fallback (Alexander Gordeev)
    - ahci, vfio: Use pci_enable_msi_range() (Alexander Gordeev)
    - Check kmalloc() return value, fix leak of name (Greg Kroah-Hartman)
    - Fix leak of msi_attrs (Greg Kroah-Hartman)
    - Fix pci_msix_vec_count() htmldocs failure (Masanari Iida)

    Virtualization
    - Device-specific ACS support (Alex Williamson)

    Freescale i.MX6
    - Wait for retraining (Marek Vasut)

    Marvell MVEBU
    - Use Device ID and revision from underlying endpoint (Andrew Lunn)
    - Fix incorrect size for PCI aperture resources (Jason Gunthorpe)
    - Call request_resource() on the apertures (Jason Gunthorpe)
    - Fix potential issue in range parsing (Jean-Jacques Hiblot)

    Renesas R-Car
    - Check platform_get_irq() return code (Ben Dooks)
    - Add error interrupt handling (Ben Dooks)
    - Fix bridge logic configuration accesses (Ben Dooks)
    - Register each instance independently (Magnus Damm)
    - Break out window size handling (Magnus Damm)
    - Make the Kconfig dependencies more generic (Magnus Damm)

    Synopsys DesignWare
    - Fix RC BAR to be single 64-bit non-prefetchable memory (Mohit Kumar)

    Miscellaneous
    - Remove unused SR-IOV VF Migration support (Bjorn Helgaas)
    - Enable INTx if BIOS left them disabled (Bjorn Helgaas)
    - Fix hex vs decimal typo in cpqhpc_probe() (Dan Carpenter)
    - Clean up par-arch object file list (Liviu Dudau)
    - Set IORESOURCE_ROM_SHADOW only for the default VGA device (Sander Eikelenboom)
    - ACPI, ARM, drm, powerpc, pcmcia, PCI: Use list_for_each_entry() for bus traversal (Yijing Wang)
    - Fix pci_bus_b() build failure (Paul Gortmaker)"

    * tag 'pci-v3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (108 commits)
    Revert "[PATCH] Insert GART region into resource map"
    PCI: Log IDE resource quirk in dmesg
    PCI: Change pci_bus_alloc_resource() type_mask to unsigned long
    PCI: Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region()
    resources: Set type in __request_region()
    PCI: Don't check resource_size() in pci_bus_alloc_resource()
    s390/PCI: Use generic pci_enable_resources()
    tile PCI RC: Use default pcibios_enable_device()
    sparc/PCI: Use default pcibios_enable_device() (Leon only)
    sh/PCI: Use default pcibios_enable_device()
    microblaze/PCI: Use default pcibios_enable_device()
    alpha/PCI: Use default pcibios_enable_device()
    PCI: Add "weak" generic pcibios_enable_device() implementation
    PCI: Don't enable decoding if BAR hasn't been assigned an address
    PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled
    PCI: Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit
    PCI: Don't try to claim IORESOURCE_UNSET resources
    PCI: Check IORESOURCE_UNSET before updating BAR
    PCI: Don't clear IORESOURCE_UNSET when updating BAR
    PCI: Mark resources as IORESOURCE_UNSET if we can't assign them
    ...

    Conflicts:
    arch/x86/include/asm/topology.h
    drivers/ata/ahci.c

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael Wysocki:
    "The majority of this material spent some time in linux-next, some of
    it even several weeks. There are a few relatively fresh commits in
    it, but they are mostly fixes and simple cleanups.

    ACPI took the lead this time, both in terms of the number of commits
    and the number of modified lines of code, cpufreq follows and there
    are a few changes in the PM core and in cpuidle too.

    A new feature that already got some LWN.net's attention is the device
    PM QoS extension allowing latency tolerance requirements to be
    propagated from leaf devices to their ancestors with hardware
    interfaces for specifying latency tolerance. That should help systems
    with hardware-driven power management to avoid going too far with it
    in cases when there are latency tolerance constraints.

    There also are some significant changes in the ACPI core related to
    the way in which hotplug notifications are handled. They affect PCI
    hotplug (ACPIPHP) and the ACPI dock station code too. The bottom line
    is that all those notification now go through the root notify handler
    and are propagated to the interested subsystems by means of callbacks
    instead of having to install a notify handler for each device object
    that we can potentially get hotplug notifications for.

    In addition to that ACPICA will now advertise "Windows 2013"
    compatibility for _OSI, because some systems out there don't work
    correctly if that is not done (some of them don't even boot).

    On the system suspend side of things, all of the device suspend and
    resume callbacks, except for ->prepare() and ->complete(), are now
    going to be executed asynchronously as that turns out to speed up
    system suspend and resume on some platforms quite significantly and we
    have a few more optimizations in that area.

    Apart from that, there are some new device IDs and fixes and cleanups
    all over. In particular, the system suspend and resume handling by
    cpufreq should be improved and the cpuidle menu governor should be a
    bit more robust now.

    Specifics:

    - Device PM QoS support for latency tolerance constraints on systems
    with hardware interfaces allowing such constraints to be specified.
    That is necessary to prevent hardware-driven power management from
    becoming overly aggressive on some systems and to prevent power
    management features leading to excessive latencies from being used
    in some cases.

    - Consolidation of the handling of ACPI hotplug notifications for
    device objects. This causes all device hotplug notifications to go
    through the root notify handler (that was executed for all of them
    anyway before) that propagates them to individual subsystems, if
    necessary, by executing callbacks provided by those subsystems
    (those callbacks are associated with struct acpi_device objects
    during device enumeration). As a result, the code in question
    becomes both smaller in size and more straightforward and all of
    those changes should not affect users.

    - ACPICA update, including fixes related to the handling of _PRT in
    cases when it is broken and the addition of "Windows 2013" to the
    list of supported "features" for _OSI (which is necessary to
    support systems that work incorrectly or don't even boot without
    it). Changes from Bob Moore and Lv Zheng.

    - Consolidation of ACPI _OST handling from Jiang Liu.

    - ACPI battery and AC fixes allowing unusual system configurations to
    be handled by that code from Alexander Mezin.

    - New device IDs for the ACPI LPSS driver from Chiau Ee Chew.

    - ACPI fan and thermal optimizations related to system suspend and
    resume from Aaron Lu.

    - Cleanups related to ACPI video from Jean Delvare.

    - Assorted ACPI fixes and cleanups from Al Stone, Hanjun Guo, Lan
    Tianyu, Paul Bolle, Tomasz Nowicki.

    - Intel RAPL (Running Average Power Limits) driver cleanups from
    Jacob Pan.

    - intel_pstate fixes and cleanups from Dirk Brandewie.

    - cpufreq fixes related to system suspend/resume handling from Viresh
    Kumar.

    - cpufreq core fixes and cleanups from Viresh Kumar, Stratos
    Karafotis, Saravana Kannan, Rashika Kheria, Joe Perches.

    - cpufreq drivers updates from Viresh Kumar, Zhuoyu Zhang, Rob
    Herring.

    - cpuidle fixes related to the menu governor from Tuukka Tikkanen.

    - cpuidle fix related to coupled CPUs handling from Paul Burton.

    - Asynchronous execution of all device suspend and resume callbacks,
    except for ->prepare and ->complete, during system suspend and
    resume from Chuansheng Liu.

    - Delayed resuming of runtime-suspended devices during system suspend
    for the PCI bus type and ACPI PM domain.

    - New set of PM helper routines to allow device runtime PM callbacks
    to be used during system suspend and resume more easily from Ulf
    Hansson.

    - Assorted fixes and cleanups in the PM core from Geert Uytterhoeven,
    Prabhakar Lad, Philipp Zabel, Rashika Kheria, Sebastian Capella.

    - devfreq fix from Saravana Kannan"

    * tag 'pm+acpi-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)
    PM / devfreq: Rewrite devfreq_update_status() to fix multiple bugs
    PM / sleep: Correct whitespace errors in
    intel_pstate: Set core to min P state during core offline
    cpufreq: Add stop CPU callback to cpufreq_driver interface
    cpufreq: Remove unnecessary braces
    cpufreq: Fix checkpatch errors and warnings
    cpufreq: powerpc: add cpufreq transition latency for FSL e500mc SoCs
    MAINTAINERS: Reorder maintainer addresses for PM and ACPI
    PM / Runtime: Update runtime_idle() documentation for return value meaning
    video / output: Drop display output class support
    fujitsu-laptop: Drop unneeded include
    acer-wmi: Stop selecting VIDEO_OUTPUT_CONTROL
    ACPI / gpu / drm: Stop selecting VIDEO_OUTPUT_CONTROL
    ACPI / video: fix ACPI_VIDEO dependencies
    cpufreq: remove unused notifier: CPUFREQ_{SUSPENDCHANGE|RESUMECHANGE}
    cpufreq: Do not allow ->setpolicy drivers to provide ->target
    cpufreq: arm_big_little: set 'physical_cluster' for each CPU
    cpufreq: arm_big_little: make vexpress driver depend on bL core driver
    ACPI / button: Add ACPI Button event via netlink routine
    ACPI: Remove duplicate definitions of PREFIX
    ...

    Linus Torvalds
     
  • Pull irq code updates from Thomas Gleixner:
    "The irq department proudly presents:

    - Another tree wide sweep of irq infrastructure abuse. Clear winner
    of the trainwreck engineering contest was:
    #include "../../../kernel/irq/settings.h"

    - Tree wide update of irq_set_affinity() callbacks which miss a cpu
    online check when picking a single cpu out of the affinity mask.

    - Tree wide consolidation of interrupt statistics.

    - Updates to the threaded interrupt infrastructure to allow explicit
    wakeup of the interrupt thread and a variant of synchronize_irq()
    which synchronizes only the hard interrupt handler. Both are
    needed to replace the homebrewn thread handling in the mmc/sdhci
    code.

    - New irq chip callbacks to allow proper support for GPIO based irqs.
    The GPIO based interrupts need to request/release GPIO resources
    from request/free_irq.

    - A few new ARM interrupt chips. No revolutionary new hardware, just
    differently wreckaged variations of the scheme.

    - Small improvments, cleanups and updates all over the place"

    I was hoping that that trainwreck engineering contest was a April Fools'
    joke. But no.

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
    irqchip: sun7i/sun6i: Disable NMI before registering the handler
    ARM: sun7i/sun6i: dts: Fix IRQ number for sun6i NMI controller
    ARM: sun7i/sun6i: irqchip: Update the documentation
    ARM: sun7i/sun6i: dts: Add NMI irqchip support
    ARM: sun7i/sun6i: irqchip: Add irqchip driver for NMI controller
    genirq: Export symbol no_action()
    arm: omap: Fix typo in ams-delta-fiq.c
    m68k: atari: Fix the last kernel_stat.h fallout
    irqchip: sun4i: Simplify sun4i_irq_ack
    irqchip: sun4i: Use handle_fasteoi_irq for all interrupts
    genirq: procfs: Make smp_affinity values go+r
    softirq: Add linux/irq.h to make it compile again
    m68k: amiga: Add linux/irq.h to make it compile again
    irqchip: sun4i: Don't ack IRQs > 0, fix acking of IRQ 0
    irqchip: sun4i: Fix a comment about mask register initialization
    irqchip: sun4i: Fix irq 0 not working
    genirq: Add a new IRQCHIP_EOI_THREADED flag
    genirq: Document IRQCHIP_ONESHOT_SAFE flag
    ARM: sunxi: dt: Convert to the new irq controller compatibles
    irqchip: sunxi: Change compatibles
    ...

    Linus Torvalds
     

01 Apr, 2014

2 commits

  • Pull scheduler changes from Ingo Molnar:
    "Bigger changes:

    - sched/idle restructuring: they are WIP preparation for deeper
    integration between the scheduler and idle state selection, by
    Nicolas Pitre.

    - add NUMA scheduling pseudo-interleaving, by Rik van Riel.

    - optimize cgroup context switches, by Peter Zijlstra.

    - RT scheduling enhancements, by Thomas Gleixner.

    The rest is smaller changes, non-urgnt fixes and cleanups"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
    sched: Clean up the task_hot() function
    sched: Remove double calculation in fix_small_imbalance()
    sched: Fix broken setscheduler()
    sparc64, sched: Remove unused sparc64_multi_core
    sched: Remove unused mc_capable() and smt_capable()
    sched/numa: Move task_numa_free() to __put_task_struct()
    sched/fair: Fix endless loop in idle_balance()
    sched/core: Fix endless loop in pick_next_task()
    sched/fair: Push down check for high priority class task into idle_balance()
    sched/rt: Fix picking RT and DL tasks from empty queue
    trace: Replace hardcoding of 19 with MAX_NICE
    sched: Guarantee task priority in pick_next_task()
    sched/idle: Remove stale old file
    sched: Put rq's sched_avg under CONFIG_FAIR_GROUP_SCHED
    cpuidle/arm64: Remove redundant cpuidle_idle_call()
    cpuidle/powernv: Remove redundant cpuidle_idle_call()
    sched, nohz: Exclude isolated cores from load balancing
    sched: Fix select_task_rq_fair() description comments
    workqueue: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
    sys: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
    ...

    Linus Torvalds
     
  • Pull core locking updates from Ingo Molnar:
    "The biggest change is the MCS spinlock generalization changes from Tim
    Chen, Peter Zijlstra, Jason Low et al. There's also lockdep
    fixes/enhancements from Oleg Nesterov, in particular a false negative
    fix related to lockdep_set_novalidate_class() usage"

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    locking/mutex: Fix debug checks
    locking/mutexes: Add extra reschedule point
    locking/mutexes: Introduce cancelable MCS lock for adaptive spinning
    locking/mutexes: Unlock the mutex without the wait_lock
    locking/mutexes: Modify the way optimistic spinners are queued
    locking/mutexes: Return false if task need_resched() in mutex_can_spin_on_owner()
    locking: Move mcs_spinlock.h into kernel/locking/
    m68k: Skip futex_atomic_cmpxchg_inatomic() test
    futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test
    Revert "sched/wait: Suppress Sparse 'variable shadowing' warning"
    lockdep: Change lockdep_set_novalidate_class() to use _and_name
    lockdep: Change mark_held_locks() to check hlock->check instead of lockdep_no_validate
    lockdep: Don't create the wrong dependency on hlock->check == 0
    lockdep: Make held_lock->check and "int check" argument bool
    locking/mcs: Allow architecture specific asm files to be used for contended case
    locking/mcs: Order the header files in Kbuild of each architecture in alphabetical order
    sched/wait: Suppress Sparse 'variable shadowing' warning
    hung_task/Documentation: Fix hung_task_warnings description
    locking/mcs: Allow architectures to hook in to contended paths
    locking/mcs: Micro-optimize the MCS code, add extra comments
    ...

    Linus Torvalds
     

25 Mar, 2014

1 commit

  • In arch_cpu_idle() we must enable %pil based interrupts before
    potentially invoking the hypervisor cpu yield call.

    As per the Hypervisor API documentation for cpu_yield:

    Interrupts which are blocked by some mechanism other that
    pstate.ie (for example %pil) are not guaranteed to cause
    a return from this service.

    It seems that only first generation Niagara chips are hit by this
    bug. My best guess is that later chips implement this in hardware
    and wake up anyways from %pil events, whereas in first generation
    chips the yield is implemented completely in hypervisor code and
    requires %pil to be enabled in order to wake properly from this
    call.

    Fixes: 87fa05aeb3a5 ("sparc: Use generic idle loop")
    Reported-by: Fabio M. Di Nitto
    Reported-by: Jan Engelhardt
    Tested-by: Jan Engelhardt
    Signed-off-by: David S. Miller

    David S. Miller
     

20 Mar, 2014

1 commit


19 Mar, 2014

1 commit


18 Mar, 2014

2 commits

  • This is a small patch which uses ARRAY_SIZE macro
    rather than a number to make code readability better.

    Signed-off-by: Doug Wilson
    Signed-off-by: David S. Miller

    Doug Wilson
     
  • When checking a system call return code for an error,
    linux_sparc_syscall was sign-extending the lower 32-bit value and
    comparing it to -ERESTART_RESTARTBLOCK. lseek can return valid return
    codes whose lower 32-bits alone would indicate a failure (such as 4G-1).
    Use the whole 64-bit value to check for errors. Only the 32-bit path
    should sign extend the lower 32-bit value.

    Signed-off-by: Dave Kleikamp
    Acked-by: Bob Picco
    Acked-by: Allen Pais
    Cc: David S. Miller
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    Dave Kleikamp
     

12 Mar, 2014

1 commit


11 Mar, 2014

2 commits

  • Remove sparc64_multi_core because it's not used any more.

    It was added by a2f9f6bbb30e ("Fix {mc,smt}_capable()"), and the last uses
    were removed by e637d96bf462 ("sched: Remove unused mc_capable() and
    smt_capable()").

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Peter Zijlstra
    Acked-by: David S. Miller
    Link: http://lkml.kernel.org/r/20140304210744.16893.75929.stgit@bhelgaas-glaptop.roam.corp.google.com
    Signed-off-by: Ingo Molnar

    Bjorn Helgaas
     
  • Remove mc_capable() and smt_capable(). Neither is used.

    Both were added by 5c45bf279d37 ("sched: mc/smt power savings sched
    policy"). Uses of both were removed by 8e7fbcbc22c1 ("sched: Remove stale
    power aware scheduling remnants and dysfunctional knobs").

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Peter Zijlstra
    Acked-by: Thomas Gleixner
    Acked-by: David S. Miller
    Acked-by: Benjamin Herrenschmidt
    Link: http://lkml.kernel.org/r/20140304210737.16893.54289.stgit@bhelgaas-glaptop.roam.corp.google.com
    Signed-off-by: Ingo Molnar

    Bjorn Helgaas
     

05 Mar, 2014

1 commit


20 Feb, 2014

2 commits

  • While copy_to/from_user_page() users are uncommon, there is one in
    drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c which leads
    to the following:

    ERROR: "sparc32_cachetlb_ops" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined!

    during routine allmodconfig build coverage. The reason this happens
    is as follows:

    In arch/sparc/include/asm/cacheflush_32.h we have:

    #define flush_cache_page(vma,addr,pfn) \
    sparc32_cachetlb_ops->cache_page(vma, addr)

    #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
    do { \
    flush_cache_page(vma, vaddr, page_to_pfn(page));\
    memcpy(dst, src, len); \
    } while (0)
    #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
    do { \
    flush_cache_page(vma, vaddr, page_to_pfn(page));\
    memcpy(dst, src, len); \
    } while (0)

    However, sparc32_cachetlb_ops isn't exported and hence the error.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     
  • In arch/sparc/Kernel/Makefile, we see:

    obj-$(CONFIG_SPARC64) += jump_label.o

    However, the Kconfig selects HAVE_ARCH_JUMP_LABEL unconditionally
    for all SPARC. This in turn leads to the following failure when
    doing allmodconfig coverage builds:

    kernel/built-in.o: In function `__jump_label_update':
    jump_label.c:(.text+0x8560c): undefined reference to `arch_jump_label_transform'
    kernel/built-in.o: In function `arch_jump_label_transform_static':
    (.text+0x85cf4): undefined reference to `arch_jump_label_transform'
    make: *** [vmlinux] Error 1

    Change HAVE_ARCH_JUMP_LABEL to be conditional on SPARC64 so that it
    matches the Makefile.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     

10 Feb, 2014

2 commits

  • This patch allows each architecture to add its specific assembly optimized
    arch_mcs_spin_lock_contended and arch_mcs_spinlock_uncontended for
    MCS lock and unlock functions.

    Signed-off-by: Tim Chen
    Cc: Scott J Norton
    Cc: Raghavendra K T
    Cc: AswinChandramouleeswaran
    Cc: George Spelvin
    Cc: Rik vanRiel
    Cc: Andrea Arcangeli
    Cc: MichelLespinasse
    Cc: Peter Hurley
    Cc: Andi Kleen
    Cc: Alex Shi
    Cc: Dave Hansen
    Cc: Tim Chen
    Cc: Arnd Bergmann
    Cc: "Figo.zhang"
    Cc: "Paul E.McKenney"
    Cc: "H. Peter Anvin"
    Cc: Davidlohr Bueso
    Cc: Waiman Long
    Cc: Ingo Molnar
    Cc: Will Deacon
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Cc: Matthew R Wilcox
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1390347382.3138.67.camel@schen9-DESK
    Signed-off-by: Ingo Molnar

    Tim Chen
     
  • We perform a clean up of the Kbuid files in each architecture.
    We order the files in each Kbuild in alphabetical order
    by running the below script.

    for i in arch/*/include/asm/Kbuild
    do
    cat $i | gawk '/^generic-y/ {
    i = 3;
    do {
    for (; i ${i}.sorted;
    mv ${i}.sorted $i;
    done

    Signed-off-by: Tim Chen
    Cc: Arnd Bergmann
    Cc: Matthew R Wilcox
    Cc: AswinChandramouleeswaran
    Cc: Dave Hansen
    Cc: "Paul E.McKenney"
    Cc: Scott J Norton
    Cc: Will Deacon
    Cc: "Figo.zhang"
    Cc: Linus Torvalds
    Cc: Rik van Riel
    Cc: Waiman Long
    Cc: Peter Hurley
    Cc: Andrea Arcangeli
    Cc: Tim Chen
    Cc: Alex Shi
    Cc: Raghavendra K T
    Cc: Andi Kleen
    Cc: George Spelvin
    Cc: MichelLespinasse
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Davidlohr Bueso
    Cc: Andrew Morton
    Signed-off-by: Peter Zijlstra
    [ Fixed build bug. ]
    Signed-off-by: Ingo Molnar

    Tim Chen
     

29 Jan, 2014

3 commits

  • Signed-off-by: David S. Miller

    David S. Miller
     
  • The pci.o is built for SPARC64_PCI -- which is bool, and hence
    this code is either present or absent. It will never be modular,
    so using module_init as an alias for __initcall can be somewhat
    misleading.

    Fix this up now, so that we can relocate module_init from
    init.h into module.h in the future. If we don't do this, we'd
    have to add module.h to obviously non-modular code, and that
    would be a worse thing.

    Note that direct use of __initcall is discouraged, vs. one
    of the priority categorized subgroups. As __initcall gets
    mapped onto device_initcall, our use of device_initcall
    directly in this change means that the runtime impact is
    zero -- it will remain at level 6 in initcall ordering.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     
  • None of these files are actually using any __init type directives
    and hence don't need to include . Most are just a
    left over from __devinit and __cpuinit removal, or simply due to
    code getting copied from one driver to the next.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     

26 Jan, 2014

1 commit

  • Pull networking updates from David Miller:

    1) BPF debugger and asm tool by Daniel Borkmann.

    2) Speed up create/bind in AF_PACKET, also from Daniel Borkmann.

    3) Correct reciprocal_divide and update users, from Hannes Frederic
    Sowa and Daniel Borkmann.

    4) Currently we only have a "set" operation for the hw timestamp socket
    ioctl, add a "get" operation to match. From Ben Hutchings.

    5) Add better trace events for debugging driver datapath problems, also
    from Ben Hutchings.

    6) Implement auto corking in TCP, from Eric Dumazet. Basically, if we
    have a small send and a previous packet is already in the qdisc or
    device queue, defer until TX completion or we get more data.

    7) Allow userspace to manage ipv6 temporary addresses, from Jiri Pirko.

    8) Add a qdisc bypass option for AF_PACKET sockets, from Daniel
    Borkmann.

    9) Share IP header compression code between Bluetooth and IEEE802154
    layers, from Jukka Rissanen.

    10) Fix ipv6 router reachability probing, from Jiri Benc.

    11) Allow packets to be captured on macvtap devices, from Vlad Yasevich.

    12) Support tunneling in GRO layer, from Jerry Chu.

    13) Allow bonding to be configured fully using netlink, from Scott
    Feldman.

    14) Allow AF_PACKET users to obtain the VLAN TPID, just like they can
    already get the TCI. From Atzm Watanabe.

    15) New "Heavy Hitter" qdisc, from Terry Lam.

    16) Significantly improve the IPSEC support in pktgen, from Fan Du.

    17) Allow ipv4 tunnels to cache routes, just like sockets. From Tom
    Herbert.

    18) Add Proportional Integral Enhanced packet scheduler, from Vijay
    Subramanian.

    19) Allow openvswitch to mmap'd netlink, from Thomas Graf.

    20) Key TCP metrics blobs also by source address, not just destination
    address. From Christoph Paasch.

    21) Support 10G in generic phylib. From Andy Fleming.

    22) Try to short-circuit GRO flow compares using device provided RX
    hash, if provided. From Tom Herbert.

    The wireless and netfilter folks have been busy little bees too.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2064 commits)
    net/cxgb4: Fix referencing freed adapter
    ipv6: reallocate addrconf router for ipv6 address when lo device up
    fib_frontend: fix possible NULL pointer dereference
    rtnetlink: remove IFLA_BOND_SLAVE definition
    rtnetlink: remove check for fill_slave_info in rtnl_have_link_slave_info
    qlcnic: update version to 5.3.55
    qlcnic: Enhance logic to calculate msix vectors.
    qlcnic: Refactor interrupt coalescing code for all adapters.
    qlcnic: Update poll controller code path
    qlcnic: Interrupt code cleanup
    qlcnic: Enhance Tx timeout debugging.
    qlcnic: Use bool for rx_mac_learn.
    bonding: fix u64 division
    rtnetlink: add missing IFLA_BOND_AD_INFO_UNSPEC
    sfc: Use the correct maximum TX DMA ring size for SFC9100
    Add Shradha Shah as the sfc driver maintainer.
    net/vxlan: Share RX skb de-marking and checksum checks with ovs
    tulip: cleanup by using ARRAY_SIZE()
    ip_tunnel: clear IPCB in ip_tunnel_xmit() in case dst_link_failure() is called
    net/cxgb4: Don't retrieve stats during recovery
    ...

    Linus Torvalds
     

25 Jan, 2014

1 commit

  • Pull input subsystem updates from Dmitry Torokhov:
    "Just a swath of driver fixes and cleanups, no new drivers this time
    (although ALPS now supports one of the newer protocols, more to come)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    Input: wacom - add support for DTU-1031
    Input: wacom - fix wacom->shared guards for dual input devices
    Input: edt_ft5x06 - use devm_* functions where appropriate
    Input: hyperv-keyboard - pass through 0xE1 prefix
    Input: logips2pp - fix spelling s/reciver/receiver/
    Input: delete non-required instances of include
    Input: twl4030-keypad - convert to using managed resources
    Input: twl6040-vibra - remove unneeded check for CONFIG_OF
    Input: twl4030-keypad - add device tree support
    Input: twl6040-vibra - add missing of_node_put
    Input: twl4030-vibra - add missing of_node_put
    Input: i8042 - cleanup SERIO_I8042 dependencies
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on x86
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on unicore32
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on sparc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO for SH_CAYMAN
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on powerpc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on mips
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on IA64
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on ARM/Footbridge
    ...

    Linus Torvalds
     

24 Jan, 2014

1 commit

  • Remove an outdated reference to "most personal computers" having only one
    CPU, and change the use of "singleprocessor" and "single processor" in
    CONFIG_SMP's documentation to "uniprocessor" across all arches where that
    documentation is present.

    Signed-off-by: Robert Graffham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert Graffham
     

23 Jan, 2014

1 commit

  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes for the v3.14 merge window:

    Resource management
    - Change pci_bus_region addresses to dma_addr_t (Bjorn Helgaas)
    - Support 64-bit AGP BARs (Bjorn Helgaas, Yinghai Lu)
    - Add pci_bus_address() to get bus address of a BAR (Bjorn Helgaas)
    - Use pci_resource_start() for CPU address of AGP BARs (Bjorn Helgaas)
    - Enforce bus address limits in resource allocation (Yinghai Lu)
    - Allocate 64-bit BARs above 4G when possible (Yinghai Lu)
    - Convert pcibios_resource_to_bus() to take pci_bus, not pci_dev (Yinghai Lu)

    PCI device hotplug
    - Major rescan/remove locking update (Rafael J. Wysocki)
    - Make ioapic builtin only (not modular) (Yinghai Lu)
    - Fix release/free issues (Yinghai Lu)
    - Clean up pciehp (Bjorn Helgaas)
    - Announce pciehp slot info during enumeration (Bjorn Helgaas)

    MSI
    - Add pci_msi_vec_count(), pci_msix_vec_count() (Alexander Gordeev)
    - Add pci_enable_msi_range(), pci_enable_msix_range() (Alexander Gordeev)
    - Deprecate "tri-state" interfaces: fail/success/fail+info (Alexander Gordeev)
    - Export MSI mode using attributes, not kobjects (Greg Kroah-Hartman)
    - Drop "irq" param from *_restore_msi_irqs() (DuanZhenzhong)

    SR-IOV
    - Clear NumVFs when disabling SR-IOV in sriov_init() (ethan.zhao)

    Virtualization
    - Add support for save/restore of extended capabilities (Alex Williamson)
    - Add Virtual Channel to save/restore support (Alex Williamson)
    - Never treat a VF as a multifunction device (Alex Williamson)
    - Add pci_try_reset_function(), et al (Alex Williamson)

    AER
    - Ignore non-PCIe error sources (Betty Dall)
    - Support ACPI HEST error sources for domains other than 0 (Betty Dall)
    - Consolidate HEST error source parsers (Bjorn Helgaas)
    - Add a TLP header print helper (Borislav Petkov)

    Freescale i.MX6
    - Remove unnecessary code (Fabio Estevam)
    - Make reset-gpio optional (Marek Vasut)
    - Report "link up" only after link training completes (Marek Vasut)
    - Start link in Gen1 before negotiating for Gen2 mode (Marek Vasut)
    - Fix PCIe startup code (Richard Zhu)

    Marvell MVEBU
    - Remove duplicate of_clk_get_by_name() call (Andrew Lunn)
    - Drop writes to bridge Secondary Status register (Jason Gunthorpe)
    - Obey bridge PCI_COMMAND_MEM and PCI_COMMAND_IO bits (Jason Gunthorpe)
    - Support a bridge with no IO port window (Jason Gunthorpe)
    - Use max_t() instead of max(resource_size_t,) (Jingoo Han)
    - Remove redundant of_match_ptr (Sachin Kamat)
    - Call pci_ioremap_io() at startup instead of dynamically (Thomas Petazzoni)

    NVIDIA Tegra
    - Disable Gen2 for Tegra20 and Tegra30 (Eric Brower)

    Renesas R-Car
    - Add runtime PM support (Valentine Barshak)
    - Fix rcar_pci_probe() return value check (Wei Yongjun)

    Synopsys DesignWare
    - Fix crash in dw_msi_teardown_irq() (Bjørn Erik Nilsen)
    - Remove redundant call to pci_write_config_word() (Bjørn Erik Nilsen)
    - Fix missing MSI IRQs (Harro Haan)
    - Add dw_pcie prefix before cfg_read/write (Pratyush Anand)
    - Fix I/O transfers by using CPU (not realio) address (Pratyush Anand)
    - Whitespace cleanup (Jingoo Han)

    EISA
    - Call put_device() if device_register() fails (Levente Kurusa)
    - Revert EISA initialization breakage ((Bjorn Helgaas)

    Miscellaneous
    - Remove unused code, including PCIe 3.0 interfaces (Stephen Hemminger)
    - Prevent bus conflicts while checking for bridge apertures (Bjorn Helgaas)
    - Stop clearing bridge Secondary Status when setting up I/O aperture (Bjorn Helgaas)
    - Use dev_is_pci() to identify PCI devices (Yijing Wang)
    - Deprecate DEFINE_PCI_DEVICE_TABLE (Joe Perches)
    - Update documentation 00-INDEX (Erik Ekman)"

    * tag 'pci-v3.14-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (119 commits)
    Revert "EISA: Initialize device before its resources"
    Revert "EISA: Log device resources in dmesg"
    vfio-pci: Use pci "try" reset interface
    PCI: Check parent kobject in pci_destroy_dev()
    xen/pcifront: Use global PCI rescan-remove locking
    powerpc/eeh: Use global PCI rescan-remove locking
    PCI: Fix pci_check_and_unmask_intx() comment typos
    PCI: Add pci_try_reset_function(), pci_try_reset_slot(), pci_try_reset_bus()
    MPT / PCI: Use pci_stop_and_remove_bus_device_locked()
    platform / x86: Use global PCI rescan-remove locking
    PCI: hotplug: Use global PCI rescan-remove locking
    pcmcia: Use global PCI rescan-remove locking
    ACPI / hotplug / PCI: Use global PCI rescan-remove locking
    ACPI / PCI: Use global PCI rescan-remove locking in PCI root hotplug
    PCI: Add global pci_lock_rescan_remove()
    PCI: Cleanup pci.h whitespace
    PCI: Reorder so actual code comes before stubs
    PCI/AER: Support ACPI HEST AER error sources for PCI domains other than 0
    ACPICA: Add helper macros to extract bus/segment numbers from HEST table.
    PCI: Make local functions static
    ...

    Linus Torvalds
     

22 Jan, 2014

1 commit

  • [sfr@canb.auug.org.au: fix powerpc build]
    Signed-off-by: Tang Chen
    Reviewed-by: Zhang Yanfei
    Cc: "H. Peter Anvin"
    Cc: "Rafael J . Wysocki"
    Cc: Chen Tang
    Cc: Gong Chen
    Cc: Ingo Molnar
    Cc: Jiang Liu
    Cc: Johannes Weiner
    Cc: Lai Jiangshan
    Cc: Larry Woodman
    Cc: Len Brown
    Cc: Liu Jiang
    Cc: Mel Gorman
    Cc: Michal Nazarewicz
    Cc: Minchan Kim
    Cc: Prarit Bhargava
    Cc: Rik van Riel
    Cc: Taku Izumi
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Thomas Renninger
    Cc: Toshi Kani
    Cc: Vasilis Liaskovitis
    Cc: Wanpeng Li
    Cc: Wen Congyang
    Cc: Yasuaki Ishimatsu
    Cc: Yinghai Lu
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tang Chen
     

21 Jan, 2014

1 commit

  • Pull core locking changes from Ingo Molnar:
    - futex performance increases: larger hashes, smarter wakeups
    - mutex debugging improvements
    - lots of SMP ordering documentation updates
    - introduce the smp_load_acquire(), smp_store_release() primitives.
    (There are WIP patches that make use of them - not yet merged)
    - lockdep micro-optimizations
    - lockdep improvement: better cover IRQ contexts
    - liblockdep at last. We'll continue to monitor how useful this is

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
    futexes: Fix futex_hashsize initialization
    arch: Re-sort some Kbuild files to hopefully help avoid some conflicts
    futexes: Avoid taking the hb->lock if there's nothing to wake up
    futexes: Document multiprocessor ordering guarantees
    futexes: Increase hash table size for better performance
    futexes: Clean up various details
    arch: Introduce smp_load_acquire(), smp_store_release()
    arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h
    arch: Move smp_mb__{before,after}_atomic_{inc,dec}.h into asm/atomic.h
    locking/doc: Rename LOCK/UNLOCK to ACQUIRE/RELEASE
    mutexes: Give more informative mutex warning in the !lock->owner case
    powerpc: Full barrier for smp_mb__after_unlock_lock()
    rcu: Apply smp_mb__after_unlock_lock() to preserve grace periods
    Documentation/memory-barriers.txt: Downgrade UNLOCK+BLOCK
    locking: Add an smp_mb__after_unlock_lock() for UNLOCK+BLOCK barrier
    Documentation/memory-barriers.txt: Document ACCESS_ONCE()
    Documentation/memory-barriers.txt: Prohibit speculative writes
    Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt
    Documentation/memory-barriers.txt: Add needed ACCESS_ONCE() calls to memory-barriers.txt
    Revert "smp/cpumask: Make CONFIG_CPUMASK_OFFSTACK=y usable without debug dependency"
    ...

    Linus Torvalds
     

19 Jan, 2014

1 commit

  • For user space packet capturing libraries such as libpcap, there's
    currently only one way to check which BPF extensions are supported
    by the kernel, that is, commit aa1113d9f85d ("net: filter: return
    -EINVAL if BPF_S_ANC* operation is not supported"). For querying all
    extensions at once this might be rather inconvenient.

    Therefore, this patch introduces a new option which can be used as
    an argument for getsockopt(), and allows one to obtain information
    about which BPF extensions are supported by the current kernel.

    As David Miller suggests, we do not need to define any bits right
    now and status quo can just return 0 in order to state that this
    versions supports SKF_AD_PROTOCOL up to SKF_AD_PAY_OFFSET. Later
    additions to BPF extensions need to add their bits to the
    bpf_tell_extensions() function, as documented in the comment.

    Signed-off-by: Michal Sekletar
    Cc: David Miller
    Reviewed-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Michal Sekletar
     

18 Jan, 2014

1 commit


16 Jan, 2014

1 commit

  • At first Jakub Zawadzki noticed that some divisions by reciprocal_divide
    were not correct. (off by one in some cases)
    http://www.wireshark.org/~darkjames/reciprocal-buggy.c

    He could also show this with BPF:
    http://www.wireshark.org/~darkjames/set-and-dump-filter-k-bug.c

    The reciprocal divide in linux kernel is not generic enough,
    lets remove its use in BPF, as it is not worth the pain with
    current cpus.

    Signed-off-by: Eric Dumazet
    Reported-by: Jakub Zawadzki
    Cc: Mircea Gherzan
    Cc: Daniel Borkmann
    Cc: Hannes Frederic Sowa
    Cc: Matt Evans
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: David S. Miller
    Signed-off-by: David S. Miller

    Eric Dumazet
     

15 Jan, 2014

1 commit


13 Jan, 2014

1 commit


12 Jan, 2014

2 commits

  • A number of situations currently require the heavyweight smp_mb(),
    even though there is no need to order prior stores against later
    loads. Many architectures have much cheaper ways to handle these
    situations, but the Linux kernel currently has no portable way
    to make use of them.

    This commit therefore supplies smp_load_acquire() and
    smp_store_release() to remedy this situation. The new
    smp_load_acquire() primitive orders the specified load against
    any subsequent reads or writes, while the new smp_store_release()
    primitive orders the specifed store against any prior reads or
    writes. These primitives allow array-based circular FIFOs to be
    implemented without an smp_mb(), and also allow a theoretical
    hole in rcu_assign_pointer() to be closed at no additional
    expense on most architectures.

    In addition, the RCU experience transitioning from explicit
    smp_read_barrier_depends() and smp_wmb() to rcu_dereference()
    and rcu_assign_pointer(), respectively resulted in substantial
    improvements in readability. It therefore seems likely that
    replacing other explicit barriers with smp_load_acquire() and
    smp_store_release() will provide similar benefits. It appears
    that roughly half of the explicit barriers in core kernel code
    might be so replaced.

    [Changelog by PaulMck]

    Reviewed-by: "Paul E. McKenney"
    Signed-off-by: Peter Zijlstra
    Acked-by: Will Deacon
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Cc: Mathieu Desnoyers
    Cc: Michael Ellerman
    Cc: Michael Neuling
    Cc: Russell King
    Cc: Geert Uytterhoeven
    Cc: Heiko Carstens
    Cc: Linus Torvalds
    Cc: Martin Schwidefsky
    Cc: Victor Kaplansky
    Cc: Tony Luck
    Cc: Oleg Nesterov
    Link: http://lkml.kernel.org/r/20131213150640.908486364@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • We're going to be adding a few new barrier primitives, and in order to
    avoid endless duplication make more agressive use of
    asm-generic/barrier.h.

    Change the asm-generic/barrier.h such that it allows partial barrier
    definitions and fills out the rest with defaults.

    There are a few architectures (m32r, m68k) that could probably
    do away with their barrier.h file entirely but are kept for now due to
    their unconventional nop() implementation.

    Suggested-by: Geert Uytterhoeven
    Reviewed-by: "Paul E. McKenney"
    Reviewed-by: Mathieu Desnoyers
    Signed-off-by: Peter Zijlstra
    Cc: Michael Ellerman
    Cc: Michael Neuling
    Cc: Russell King
    Cc: Heiko Carstens
    Cc: Linus Torvalds
    Cc: Martin Schwidefsky
    Cc: Victor Kaplansky
    Cc: Tony Luck
    Cc: Oleg Nesterov
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/20131213150640.846368594@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

11 Jan, 2014

1 commit

  • * pci/resource:
    PCI: Allocate 64-bit BARs above 4G when possible
    PCI: Enforce bus address limits in resource allocation
    PCI: Split out bridge window override of minimum allocation address
    agp/ati: Use PCI_COMMAND instead of hard-coded 4
    agp/intel: Use CPU physical address, not bus address, for ioremap()
    agp/intel: Use pci_bus_address() to get GTTADR bus address
    agp/intel: Use pci_bus_address() to get MMADR bus address
    agp/intel: Support 64-bit GMADR
    agp/intel: Rename gtt_bus_addr to gtt_phys_addr
    drm/i915: Rename gtt_bus_addr to gtt_phys_addr
    agp: Use pci_resource_start() to get CPU physical address for BAR
    agp: Support 64-bit APBASE
    PCI: Add pci_bus_address() to get bus address of a BAR
    PCI: Convert pcibios_resource_to_bus() to take a pci_bus, not a pci_dev
    PCI: Change pci_bus_region addresses to dma_addr_t

    Bjorn Helgaas
     

07 Jan, 2014

1 commit


05 Jan, 2014

4 commits

  • Pull sparc bugfixes from David Miller:

    1) Missing include can lead to build failure, from Kirill Tkhai.

    2) Use dev_is_pci() where applicable, from Yijing Wang.

    3) Enable irqs after we enable preemption in cpu startup path, from
    Kirill Tkhai.

    4) Revert a __copy_{to,from}_user_inatomic change that broke
    iov_iter_copy_from_user_atomic() and thus several tests in xfstests
    and LTP. From Dave Kleikamp.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    Revert "sparc64: Fix __copy_{to,from}_user_inatomic defines."
    sparc64: smp_callin: Enable irqs after preemption is disabled
    sparc/PCI: Use dev_is_pci() to identify PCI devices
    sparc64: Fix build regression

    Linus Torvalds
     
  • This reverts commit 145e1c0023585e0e8f6df22316308ec61c5066b2.

    This commit broke the behavior of __copy_from_user_inatomic when
    it is only partially successful. Instead of returning the number
    of bytes not copied, it now returns 1. This translates to the
    wrong value being returned by iov_iter_copy_from_user_atomic.

    xfstests generic/246 and LTP writev01 both fail on btrfs and nfs
    because of this.

    Signed-off-by: Dave Kleikamp
    Cc: Hugh Dickins
    Cc: David S. Miller
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    Dave Kleikamp
     
  • Most of other architectures have below suggested order.
    So lets do the same to fit generic idle loop scheme better.

    Signed-off-by: Kirill Tkhai
    Signed-off-by: David S. Miller

    Kirill Tkhai
     
  • Use dev_is_pci() instead of checking bus type directly.

    Signed-off-by: Yijing Wang
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: David S. Miller

    Yijing Wang