05 Sep, 2015

2 commits

  • Pull drm updates from Dave Airlie:
    "This is the main pull request for the drm for 4.3. Nouveau is
    probably the biggest amount of changes in here, since it missed 4.2.
    Highlights below, along with the usual bunch of fixes.

    All stuff outside drm should have applicable acks.

    Highlights:

    - new drivers:
    freescale dcu kms driver

    - core:
    more atomic fixes
    disable some dri1 interfaces on kms drivers
    drop fb panic handling, this was just getting more broken, as more locking was required.
    new core fbdev Kconfig support - instead of each driver enable/disabling it
    struct_mutex cleanups

    - panel:
    more new panels
    cleanup Kconfig

    - i915:
    Skylake support enabled by default
    legacy modesetting using atomic infrastructure
    Skylake fixes
    GEN9 workarounds

    - amdgpu:
    Fiji support
    CGS support for amdgpu
    Initial GPU scheduler - off by default
    Lots of bug fixes and optimisations.

    - radeon:
    DP fixes
    misc fixes

    - amdkfd:
    Add Carrizo support for amdkfd using amdgpu.

    - nouveau:
    long pending cleanup to complete driver,
    fully bisectable which makes it larger,
    perfmon work
    more reclocking improvements
    maxwell displayport fixes

    - vmwgfx:
    new DX device support, supports OpenGL 3.3
    screen targets support

    - mgag200:
    G200eW support
    G200e new revision support

    - msm:
    dragonboard 410c support, msm8x94 support, msm8x74v1 support
    yuv format support
    dma plane support
    mdp5 rotation
    initial hdcp

    - sti:
    atomic support

    - exynos:
    lots of cleanups
    atomic modesetting/pageflipping support
    render node support

    - tegra:
    tegra210 support (dc, dsi, dp/hdmi)
    dpms with atomic modesetting support

    - atmel:
    support for 3 more atmel SoCs
    new input formats, PRIME support.

    - dwhdmi:
    preparing to add audio support

    - rockchip:
    yuv plane support"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits)
    drm/amdgpu: rename gmc_v8_0_init_compute_vmid
    drm/amdgpu: fix vce3 instance handling
    drm/amdgpu: remove ib test for the second VCE Ring
    drm/amdgpu: properly enable VM fault interrupts
    drm/amdgpu: fix warning in scheduler
    drm/amdgpu: fix buffer placement under memory pressure
    drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
    drm/amdgpu: fix typo in dce11 watermark setup
    drm/amdgpu: fix typo in dce10 watermark setup
    drm/amdgpu: use top down allocation for non-CPU accessible vram
    drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
    drm/amdgpu: set MEC doorbell range for Fiji
    drm/amdgpu: implement burst NOP for SDMA
    drm/amdgpu: add insert_nop ring func and default implementation
    drm/amdgpu: add amdgpu_get_sdma_instance helper function
    drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES
    drm/amdgpu: add burst_nop flag for sdma
    drm/amdgpu: add count field for the SDMA NOP packet v2
    drm/amdgpu: use PT for VM sync on unmap
    drm/amdgpu: make wait_event uninterruptible in push_job
    ...

    Linus Torvalds
     
  • Pull pin control updates from Linus Walleij:
    "This is the bulk of pin control changes for the v4.3 development
    cycle.

    Like with GPIO it's a lot of stuff. If my subsystems are any sign of
    the overall tempo of the kernel v4.3 will be a gigantic diff.

    [ It looks like 4.3 is calmer than 4.2 in most other subsystems, but
    we'll see - Linus ]

    Core changes:

    - It is possible configure groups in debugfs.

    - Consolidation of chained IRQ handler install/remove replacing all
    call sites where irq_set_handler_data() and
    irq_set_chained_handler() were done in succession with a combined
    call to irq_set_chained_handler_and_data(). This series was
    created by Thomas Gleixner after the problem was observed by
    Russell King.

    - Tglx also made another series of patches switching
    __irq_set_handler_locked() for irq_set_handler_locked() which is
    way cleaner.

    - Tglx also wrote a good bunch of patches to make use of
    irq_desc_get_xxx() accessors and avoid looking up irq_descs from
    IRQ numbers. The goal is to get rid of the irq number from the
    handlers in the IRQ flow which is nice.

    Driver feature enhancements:

    - Power management support for the SiRF SoC Atlas 7.

    - Power down support for the Qualcomm driver.

    - Intel Cherryview and Baytrail: switch drivers to use raw spinlocks
    in IRQ handlers to play nice with the realtime patch set.

    - Rework and new modes handling for Qualcomm SPMI-MPP.

    - Pinconf power source config for SH PFC.

    New drivers and subdrivers:

    - A new driver for Conexant Digicolor CX92755.

    - A new driver for UniPhier PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5,
    ProXtream2 and PH1-LD6b SoC pin control support.

    - Reverse-egineered the S/PDIF settings for the Allwinner sun4i
    driver.

    - Support for Qualcomm Technologies QDF2xxx ARM64 SoCs

    - A new Freescale i.mx6ul subdriver.

    Cleanup:

    - Remove platform data support in a number of SH PFC subdrivers"

    * tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (95 commits)
    pinctrl: at91: fix null pointer dereference
    pinctrl: mediatek: Implement wake handler and suspend resume
    pinctrl: mediatek: Fix multiple registration issue.
    pinctrl: sh-pfc: r8a7794: add USB pin groups
    pinctrl: at91: Use generic irq_{request,release}_resources()
    pinctrl: cherryview: Use raw_spinlock for locking
    pinctrl: baytrail: Use raw_spinlock for locking
    pinctrl: imx6ul: Remove .owner field
    pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp
    pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching
    clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks
    pinctrl: sun4i: add spdif to pin description.
    pinctrl: atlas7: clear ugly branch statements for pull and drivestrength
    pinctrl: baytrail: Serialize all register access
    pinctrl: baytrail: Drop FSF mailing address
    pinctrl: rockchip: only enable gpio clock when it setting
    pinctrl/mediatek: fix spelling mistake in dev_err error message
    pinctrl: cherryview: Serialize all register access
    pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting
    pinctrl: nomadik: reflect current input value
    ...

    Linus Torvalds
     

04 Sep, 2015

6 commits

  • Pull tile updates from Chris Metcalf:
    "This includes secure computing support as well as miscellaneous minor
    improvements"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: correct some typos in opcode type names
    tile/vdso: emit a GNU hash as well
    tile: Remove finish_arch_switch
    tile: enable full SECCOMP support
    tile/time: Migrate to new 'set-state' interface

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:

    - Support for new architectural features introduced in ARMv8.1:
    * Privileged Access Never (PAN) to catch user pointer dereferences in
    the kernel
    * Large System Extension (LSE) for building scalable atomics and locks
    (depends on locking/arch-atomic from tip, which is included here)
    * Hardware Dirty Bit Management (DBM) for updating clean PTEs
    automatically

    - Move our PSCI implementation out into drivers/firmware/, where it can
    be shared with arch/arm/. RMK has also pulled this component branch
    and has additional patches moving arch/arm/ over. MAINTAINERS is
    updated accordingly.

    - Better BUG implementation based on the BRK instruction for trapping

    - Leaf TLB invalidation for unmapping user pages

    - Support for PROBE_ONLY PCI configurations

    - Various cleanups and non-critical fixes, including:
    * Always flush FP/SIMD state over exec()
    * Restrict memblock additions based on range of linear mapping
    * Ensure *(LIST_POISON) generates a fatal fault
    * Context-tracking syscall return no longer corrupts return value when
    not forced on.
    * Alternatives patching synchronisation/stability improvements
    * Signed sub-word cmpxchg compare fix (tickled by HAVE_CMPXCHG_LOCAL)
    * Force SMP=y
    * Hide direct DCC access from userspace
    * Fix EFI stub memory allocation when DRAM starts at 0x0

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits)
    arm64: flush FP/SIMD state correctly after execve()
    arm64: makefile: fix perf_callchain.o kconfig dependency
    arm64: set MAX_MEMBLOCK_ADDR according to linear region size
    of/fdt: make memblock maximum physical address arch configurable
    arm64: Fix source code file path in comments
    arm64: entry: always restore x0 from the stack on syscall return
    arm64: mdscr_el1: avoid exposing DCC to userspace
    arm64: kconfig: Move LIST_POISON to a safe value
    arm64: Add __exception_irq_entry definition for function graph
    arm64: mm: ensure patched kernel text is fetched from PoU
    arm64: alternatives: ensure secondary CPUs execute ISB after patching
    arm64: make ll/sc __cmpxchg_case_##name asm consistent
    arm64: dma-mapping: Simplify pgprot handling
    arm64: restore cpu suspend/resume functionality
    ARM64: PCI: do not enable resources on PROBE_ONLY systems
    arm64: cmpxchg: truncate sub-word signed types before comparison
    arm64: alternative: put secondary CPUs into polling loop during patch
    arm64/Documentation: clarify wording regarding memory below the Image
    arm64: lse: fix lse cmpxchg code indentation
    arm64: remove redundant object file list
    ...

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for 4.3 for MIPS. Here's the summary:

    Three fixes that didn't make 4.2-stable:

    - a -Os build might compile the kernel using the MIPS16 instruction
    set but the R2 optimized inline functions in are
    implemented using 32-bit wide instructions which is invalid.

    - a build error in pgtable-bits.h for a particular kernel
    configuration.

    - accessing registers of the CM GCR might have been compiled to use
    64 bit accesses but these registers are onl 32 bit wide.

    And also a few new bits:

    - move the ATH79 GPIO driver to drivers/gpio

    - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h,
    change ATH79 accordingly.

    - fix definition of pgprot_writecombine

    - add an implementation of dma_map_ops.mmap

    - fix alignment of quiet build output for vmlinuz link

    - BCM47xx: Use kmemdup rather than duplicating its implementation

    - Netlogic: Fix 0x0x prefixes of constants.

    - merge Bjorn Helgaas' series to remove most of the weak keywords
    from function declarations.

    - CP0 and CP1 registers are best considered treated as unsigned
    values to avoid large values from becoming negative values.

    - improve support for the MIPS GIC timer.

    - enable common clock framework for Malta and SEAD3.

    - a number of improvments and fixes to dump_tlb().

    - document the MIPS TLB dump functionality in Magic SysRq.

    - Cavium Octeon CN68XX improvments.

    - NetLogic improvments.

    - irq: Use access helper irq_data_get_affinity_mask.

    - handle MSA unaligned accesses.

    - a number of R6-related math-emu fixes.

    - support for I6400.

    - improvments to MSA support.

    - add uprobes support.

    - move from deprecated __initcall to arch_initcall.

    - remove finish_arch_switch().

    - IRQ cleanups by Thomas Gleixner.

    - migrate to new 'set-state' interface.

    - random small cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits)
    MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16.
    MIPS: Fix alignment of quiet build output for vmlinuz link
    MIPS: math-emu: Remove unused handle_dsemul function declaration
    MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction
    MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction
    MIPS: inst.h: Add new MIPS R6 FPU opcodes
    MIPS: Octeon: Fix management port MII address on Kontron S1901
    MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation
    STAGING: Octeon: Use common helpers for determining interface and port
    MIPS: Octeon: Support interfaces 4 and 5
    MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports
    MIPS: Octeon: Initialize CN68XX PKO
    STAGING: Octeon: Support CN68XX style WQE
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:

    - support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask
    from Benjamin Herrenschmidt

    - EEH fixes for SRIOV from Gavin

    - introduce rtas_get_sensor_fast() for IRQ handlers from Thomas Huth

    - use hardware RNG for arch_get_random_seed_* not arch_get_random_*
    from Paul Mackerras

    - seccomp filter support from Michael Ellerman

    - opal_cec_reboot2() handling for HMIs & machine checks from Mahesh
    Salgaonkar

    - add powerpc timebase as a trace clock source from Naveen N. Rao

    - misc cleanups in the xmon, signal & SLB code from Anshuman Khandual

    - add an inline function to update POWER8 HID0 from Gautham R. Shenoy

    - fix pte_pagesize_index() crash on 4K w/64K hash from Michael Ellerman

    - drop support for 64K local store on 4K kernels from Michael Ellerman

    - move dma_get_required_mask() from pnv_phb to pci_controller_ops from
    Andrew Donnellan

    - initialize distance lookup table from drconf path from Nikunj A
    Dadhania

    - enable RTC class support from Vaibhav Jain

    - disable automatically blocked PCI config from Gavin Shan

    - add LEDs driver for PowerNV platform from Vasant Hegde

    - fix endianness issues in the HVSI driver from Laurent Dufour

    - kexec endian fixes from Samuel Mendoza-Jonas

    - fix corrupted pdn list from Gavin Shan

    - fix fenced PHB caused by eeh_slot_error_detail() from Gavin Shan

    - Freescale updates from Scott: Highlights include 32-bit memcpy/memset
    optimizations, checksum optimizations, 85xx config fragments and
    updates, device tree updates, e6500 fixes for non-SMP, and misc
    cleanup and minor fixes.

    - a ton of cxl updates & fixes:
    - add explicit precision specifiers from Rasmus Villemoes
    - use more common format specifier from Rasmus Villemoes
    - destroy cxl_adapter_idr on module_exit from Johannes Thumshirn
    - destroy afu->contexts_idr on release of an afu from Johannes
    Thumshirn
    - compile with -Werror from Daniel Axtens
    - EEH support from Daniel Axtens
    - plug irq_bitmap getting leaked in cxl_context from Vaibhav Jain
    - add alternate MMIO error handling from Ian Munsie
    - allow release of contexts which have been OPENED but not STARTED
    from Andrew Donnellan
    - remove use of macro DEFINE_PCI_DEVICE_TABLE from Vaishali Thakkar
    - release irqs if memory allocation fails from Vaibhav Jain
    - remove racy attempt to force EEH invocation in reset from Daniel
    Axtens
    - fix + cleanup error paths in cxl_dev_context_init from Ian Munsie
    - fix force unmapping mmaps of contexts allocated through the kernel
    api from Ian Munsie
    - set up and enable PSL Timebase from Philippe Bergheaud

    * tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (140 commits)
    cxl: Set up and enable PSL Timebase
    cxl: Fix force unmapping mmaps of contexts allocated through the kernel api
    cxl: Fix + cleanup error paths in cxl_dev_context_init
    powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail()
    powerpc/pseries: Cleanup on pci_dn_reconfig_notifier()
    powerpc/pseries: Fix corrupted pdn list
    powerpc/powernv: Enable LEDS support
    powerpc/iommu: Set default DMA offset in dma_dev_setup
    cxl: Remove racy attempt to force EEH invocation in reset
    cxl: Release irqs if memory allocation fails
    cxl: Remove use of macro DEFINE_PCI_DEVICE_TABLE
    powerpc/powernv: Fix mis-merge of OPAL support for LEDS driver
    powerpc/powernv: Reset HILE before kexec_sequence()
    powerpc/kexec: Reset secondary cpu endianness before kexec
    powerpc/hvsi: Fix endianness issues in the HVSI driver
    leds/powernv: Add driver for PowerNV platform
    powerpc/powernv: Create LED platform device
    powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states
    powerpc/powernv: Fix the log message when disabling VF
    cxl: Allow release of contexts which have been OPENED but not STARTED
    ...

    Linus Torvalds
     
  • Pull ARM development updates from Russell King:
    "Included in this update:

    - moving PSCI code from ARM64/ARM to drivers/

    - removal of some architecture internals from global kernel view

    - addition of software based "privileged no access" support using the
    old domains register to turn off the ability for kernel
    loads/stores to access userspace. Only the proper accessors will
    be usable.

    - addition of early fixup support for early console

    - re-addition (and reimplementation) of OMAP special interconnect
    barrier

    - removal of finish_arch_switch()

    - only expose cpuX/online in sysfs if hotpluggable

    - a number of code cleanups"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits)
    ARM: software-based priviledged-no-access support
    ARM: entry: provide uaccess assembly macro hooks
    ARM: entry: get rid of multiple macro definitions
    ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die()
    ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore()
    ARM: mm: improve do_ldrd_abort macro
    ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit()
    ARM: entry: efficiency cleanups
    ARM: entry: get rid of asm_trace_hardirqs_on_cond
    ARM: uaccess: simplify user access assembly
    ARM: domains: remove DOMAIN_TABLE
    ARM: domains: keep vectors in separate domain
    ARM: domains: get rid of manager mode for user domain
    ARM: domains: move initial domain setting value to asm/domains.h
    ARM: domains: provide domain_mask()
    ARM: domains: switch to keeping domain value in register
    ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE
    ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD()
    ARM: 8416/1: Feroceon: use of_iomap() to map register base
    ARM: 8415/1: early fixmap support for earlycon
    ...

    Linus Torvalds
     
  • Pull locking and atomic updates from Ingo Molnar:
    "Main changes in this cycle are:

    - Extend atomic primitives with coherent logic op primitives
    (atomic_{or,and,xor}()) and deprecate the old partial APIs
    (atomic_{set,clear}_mask())

    The old ops were incoherent with incompatible signatures across
    architectures and with incomplete support. Now every architecture
    supports the primitives consistently (by Peter Zijlstra)

    - Generic support for 'relaxed atomics':

    - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return()
    - atomic_read_acquire()
    - atomic_set_release()

    This came out of porting qwrlock code to arm64 (by Will Deacon)

    - Clean up the fragile static_key APIs that were causing repeat bugs,
    by introducing a new one:

    DEFINE_STATIC_KEY_TRUE(name);
    DEFINE_STATIC_KEY_FALSE(name);

    which define a key of different types with an initial true/false
    value.

    Then allow:

    static_branch_likely()
    static_branch_unlikely()

    to take a key of either type and emit the right instruction for the
    case. To be able to know the 'type' of the static key we encode it
    in the jump entry (by Peter Zijlstra)

    - Static key self-tests (by Jason Baron)

    - qrwlock optimizations (by Waiman Long)

    - small futex enhancements (by Davidlohr Bueso)

    - ... and misc other changes"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
    jump_label/x86: Work around asm build bug on older/backported GCCs
    locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations
    locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
    locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics
    locking/qrwlock: Implement queue_write_unlock() using smp_store_release()
    locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition
    locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'
    locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication
    locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
    locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic
    locking/static_keys: Make verify_keys() static
    jump label, locking/static_keys: Update docs
    locking/static_keys: Provide a selftest
    jump_label: Provide a self-test
    s390/uaccess, locking/static_keys: employ static_branch_likely()
    x86, tsc, locking/static_keys: Employ static_branch_likely()
    locking/static_keys: Add selftest
    locking/static_keys: Add a new static_key interface
    locking/static_keys: Rework update logic
    locking/static_keys: Add static_key_{en,dis}able() helpers
    ...

    Linus Torvalds
     

03 Sep, 2015

32 commits

  • Pull networking updates from David Miller:
    "Another merge window, another set of networking changes. I've heard
    rumblings that the lightweight tunnels infrastructure has been voted
    networking change of the year. But what do I know?

    1) Add conntrack support to openvswitch, from Joe Stringer.

    2) Initial support for VRF (Virtual Routing and Forwarding), which
    allows the segmentation of routing paths without using multiple
    devices. There are some semantic kinks to work out still, but
    this is a reasonably strong foundation. From David Ahern.

    3) Remove spinlock fro act_bpf fast path, from Alexei Starovoitov.

    4) Ignore route nexthops with a link down state in ipv6, just like
    ipv4. From Andy Gospodarek.

    5) Remove spinlock from fast path of act_gact and act_mirred, from
    Eric Dumazet.

    6) Document the DSA layer, from Florian Fainelli.

    7) Add netconsole support to bcmgenet, systemport, and DSA. Also
    from Florian Fainelli.

    8) Add Mellanox Switch Driver and core infrastructure, from Jiri
    Pirko.

    9) Add support for "light weight tunnels", which allow for
    encapsulation and decapsulation without bearing the overhead of a
    full blown netdevice. From Thomas Graf, Jiri Benc, and a cast of
    others.

    10) Add Identifier Locator Addressing support for ipv6, from Tom
    Herbert.

    11) Support fragmented SKBs in iwlwifi, from Johannes Berg.

    12) Allow perf PMUs to be accessed from eBPF programs, from Kaixu Xia.

    13) Add BQL support to 3c59x driver, from Loganaden Velvindron.

    14) Stop using a zero TX queue length to mean that a device shouldn't
    have a qdisc attached, use an explicit flag instead. From Phil
    Sutter.

    15) Use generic geneve netdevice infrastructure in openvswitch, from
    Pravin B Shelar.

    16) Add infrastructure to avoid re-forwarding a packet in software
    that was already forwarded by a hardware switch. From Scott
    Feldman.

    17) Allow AF_PACKET fanout function to be implemented in a bpf
    program, from Willem de Bruijn"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1458 commits)
    netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
    netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled
    net: fec: clear receive interrupts before processing a packet
    ipv6: fix exthdrs offload registration in out_rt path
    xen-netback: add support for multicast control
    bgmac: Update fixed_phy_register()
    sock, diag: fix panic in sock_diag_put_filterinfo
    flow_dissector: Use 'const' where possible.
    flow_dissector: Fix function argument ordering dependency
    ixgbe: Resolve "initialized field overwritten" warnings
    ixgbe: Remove bimodal SR-IOV disabling
    ixgbe: Add support for reporting 2.5G link speed
    ixgbe: fix bounds checking in ixgbe_setup_tc for 82598
    ixgbe: support for ethtool set_rxfh
    ixgbe: Avoid needless PHY access on copper phys
    ixgbe: cleanup to use cached mask value
    ixgbe: Remove second instance of lan_id variable
    ixgbe: use kzalloc for allocating one thing
    flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c
    ixgbe: Remove unused PCI bus types
    ...

    Linus Torvalds
     
  • Conflicts:
    drivers/perf/arm_pmu.c

    Russell King
     
  • Russell King
     
  • Ralf Baechle
     
  • The nomips16 has to be added both as function attribute and assembler
    directive.

    When only function attribute is specified, the compiler will inline the
    function with -Os optimization. The generated assembly code cannot be
    correctly assembled because ISA mode switch has to be done through jump
    instruction.

    When only ".set nomips16" directive is used, the generated assembly code
    will use MIPS32 code for the inline assembly template and MIPS16 for the
    function return. The compiled binary is invalid:

    00403100 :
    403100: 7c0410a0 wsbh v0,a0
    403104: e820ea31 swc2 $0,-5583(at)

    while correct code should be:

    00402650 :
    402650: 7c0410a0 wsbh v0,a0
    402654: 03e00008 jr ra
    402658: 3042ffff andi v0,v0,0xffff

    Signed-off-by: Yousong Zhou
    Cc: Chen Jie
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11087/
    Signed-off-by: Ralf Baechle

    Yousong Zhou
     
  • The "LD vmlinuz" line in the quiet build output is misaligned with the
    rest of the output. Fix this.

    Signed-off-by: Alex Smith
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11019/
    Signed-off-by: Ralf Baechle

    Alex Smith
     
  • handle_dsemul does not exist and it's not being used in the code at all
    so remove its declaration. The deliberate DS emulation exception is
    handled by the do_dsemulret C code.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10950/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Scalar Floating-Point Maximum and
    Scalar Floating-Point argument with Maximum Absolute Value
    MAX.fmt writes the maximum value of the inputs fs and ft to the
    destination fd.
    MAXA.fmt takes input arguments fs and ft and writes the argument with
    the maximum absolute value to the destination fd.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10961/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Scalar Floating-Point Minimum and
    Scalar Floating-Point argument with Minimum Absolute Value

    MIN.fmt writes the minimum value of the inputs fs and ft to the
    destination fd.
    MINA.fmt takes input arguments fs and ft and writes the argument with
    the minimum absolute value to the destination fd.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10960/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Stores in fd a bit mask reflecting the floating-point class of the
    floating point scalar value fs.

    CLASS.fmt: FPR[fd] = class(FPR[fs])

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10959/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Floating-Point Round to Integral
    Scalar floating-point round to integral floating point value.

    RINT.fmt: FPR[fd] = round_int(FPR[fs])

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10958/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Floating Point Fused Multiply Subtract:
    MSUBF.fmt To perform a fused multiply-subtract of FP values.

    MSUBF.fmt: FPR[fd] = FPR[fd] - (FPR[fs] x FPR[ft])

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10957/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    Floating Point Fused Multiply Add:
    MADDF.fmt To perform a fused multiply-add of FP values.

    MADDF.fmt: FPR[fd] = FPR[fd] + (FPR[fs] x FPR[ft])

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10956/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    SELNEZ.fmt: FPR[fd]  FPR[ft].bit0 ? FPR[fs] : 0

    Add support for emulating the single and double precision
    formats of the said instruction.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10955/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • MIPS R6 introduced the following instruction:
    SELEQZ.fmt: FPR[fd]  FPR[ft].bit0 ? 0 : FPR[fs]

    Add support for emulating the single and double precision formats
    of the said instruction.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10954/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • Add support for emulating the new CMP.condn.fmt R6 instructions and
    return SIGILL for the old C.cond.fmt if R2 emulation is not enabled
    since it's not supported by R6.

    The functionality of the new CMP.condn.fmt is the following one:

    If the comparison specified by the condn field of the instruction
    is true for the operand values, the result is true; otherwise, the
    result is false. If no exception is taken, the result is written into
    FPR fd; true is all 1s and false is all 0s repeated the operand width
    of fmt. All other bits beyond the operand width fmt are UNPREDICTABLE.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10953/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • Add opcodes for the new MIPS R6 FPU instructions.

    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10952/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • Management port MII address is incorrect on Kontron S1901 resulting
    in broken networking. Fix by providing definitions for the in-tree DT
    pruning code.

    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10914/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     
  • The patch was generated using fixed coccinelle semantic patch
    scripts/coccinelle/api/memdup.cocci [1].

    [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320

    Signed-off-by: Andrzej Hajda
    Acked-by: Hauke Mehrtens
    Cc: Hauke Mehrtens
    Cc: Rafał Miłecki
    Cc: Andrzej Hajda
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Marek Szyprowski
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10898/
    Signed-off-by: Ralf Baechle

    Andrzej Hajda
     
  • Add the support for mapping between interface/port numbers and IPD port
    numbers also for the additional interfaces some Octeon II models have.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10967/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • Use the internal port number also as the queue number on CN68XX.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10962/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • CN68XX requires a different PKO configuration. This patch provides
    just enough setup to get the XAUI interfaces on CN6880 working with
    default parameters.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10974/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • CN68XX has a bit different WQE structure. This patch provides the new
    definitions and converts the code to use the proper variant based on
    the actual model.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10973/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • Some Octeon II models have SSO instead of POW and use a different register
    for setting the interrupt thresholds. Add the necessary definitions for
    configuring the interrupts also on those models.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10972/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • CN68XX has common minimum packet size filters that need to be configured
    for the traffic to work. Just set them to a default value.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10963/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • Configure the pkinds of XAUI interfaces on Octeon models that have
    them. This simple configuration uses 1:1 mapping between the PIP input
    port number and the selected pkind.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10971/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • CN68XX has 48 PIP input ports.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10969/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • CN68XX has 9 interfaces.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: https://patchwork.linux-mips.org/patch/10968/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • Some CN68XX series Octeon II chips seem to hang if a reset is issued on
    XAUI initialization. Avoid the hang by disabling the reset on affected
    models. Tested on Cavium EBB6800 evaluation board and Kontron S1901 board.

    Signed-off-by: Janne Huttunen
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Janne Huttunen
    Cc: Aaro Koskinen
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Patchwork: http://patchwork.linux-mips.org/patch/10970/
    Signed-off-by: Ralf Baechle

    Janne Huttunen
     
  • This commit introduces a new config, so the user can choose to enable
    the General Purpose Timer based clocksource. This option is required
    to have CPUFreq support.

    Signed-off-by: Ezequiel Garcia
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: Daniel Lezcano
    Cc: devicetree@vger.kernel.org
    Cc: Thomas Gleixner
    Cc: Andrew Bresticker
    Cc: James Hartley
    Cc: Govindraj Raja
    Cc: Damien Horsley
    Cc: James Hogan
    Cc: Ezequiel Garcia
    Cc: Ezequiel Garcia
    Patchwork: http://patchwork.linux-mips.org/patch/10887/
    Signed-off-by: Ralf Baechle

    Ezequiel Garcia
     
  • Now that we're ready to enable COMMON_CLK for GIC platforms do so for
    Malta and SEAD3. The only other user of the GIC Pistachio does already
    do so.

    [ralf@linux-mips.org: Rewrite the commit message because applied in the
    right order there is no breakage thus no fix required.]

    Signed-off-by: Guenter Roeck
    Cc: Ezequiel Garcia
    Cc: Daniel Lezcano
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/11038/
    Signed-off-by: Ralf Baechle

    Guenter Roeck
     
  • Rather than saving the scalar FP or vector context in the assembly
    resume function, reuse the existing C code we have in fpu.h to do
    exactly that. This reduces duplication, results in a much easier to read
    resume function & should allow the compiler to optimise out more MSA
    code due to is_msa_enabled()/cpu_has_msa being known-zero at compile
    time for kernels without MSA support.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: Leonid Yegoshin
    Cc: Maciej W. Rozycki
    Cc: linux-kernel@vger.kernel.org
    Cc: James Hogan
    Cc: Markos Chandras
    Cc: Manuel Lauss
    Patchwork: https://patchwork.linux-mips.org/patch/10830/
    Signed-off-by: Ralf Baechle

    Paul Burton