16 Oct, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main MIPS pull request for 4.9:

    MIPS core arch code:
    - traps: 64bit kernels should read CP0_EBase 64bit
    - traps: Convert ebase to KSEG0
    - c-r4k: Drop bc_wback_inv() from icache flush
    - c-r4k: Split user/kernel flush_icache_range()
    - cacheflush: Use __flush_icache_user_range()
    - uprobes: Flush icache via kernel address
    - KVM: Use __local_flush_icache_user_range()
    - c-r4k: Fix flush_icache_range() for EVA
    - Fix -mabi=64 build of vdso.lds
    - VDSO: Drop duplicated -I*/-E* aflags
    - tracing: move insn_has_delay_slot to a shared header
    - tracing: disable uprobe/kprobe on compact branch instructions
    - ptrace: Fix regs_return_value for kernel context
    - Squash lines for simple wrapper functions
    - Move identification of VP(E) into proc.c from smp-mt.c
    - Add definitions of SYNC barrierstype values
    - traps: Ensure full EBase is written
    - tlb-r4k: If there are wired entries, don't use TLBINVF
    - Sanitise coherentio semantics
    - dma-default: Don't check hw_coherentio if device is non-coherent
    - Support per-device DMA coherence
    - Adjust MIPS64 CAC_BASE to reflect Config.K0
    - Support generating Flattened Image Trees (.itb)
    - generic: Introduce generic DT-based board support
    - generic: Convert SEAD-3 to a generic board
    - Enable hardened usercopy
    - Don't specify STACKPROTECTOR in defconfigs

    Octeon:
    - Delete dead code and files across the platform.
    - Change to use all memory into use by default.
    - Rename upper case variables in setup code to lowercase.
    - Delete legacy hack for broken bootloaders.
    - Leave maintaining the link state to the actual ethernet/PHY drivers.
    - Add DTS for D-Link DSR-500N.
    - Fix PCI interrupt routing on D-Link DSR-500N.

    Pistachio:
    - Remove ANDROID_TIMED_OUTPUT from defconfig

    TX39xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    TX49xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    txx9wdt:
    - Add missing clock (un)prepare calls for CCF

    BMIPS:
    - Add PW, GPIO SDHCI and NAND device node names
    - Support APPENDED_DTB
    - Add missing bcm97435svmb to DT_NONE
    - Rename bcm96358nb4ser to bcm6358-neufbox4-sercom
    - Add DT examples for BCM63268, BCM3368 and BCM6362
    - Add support for BCM3368 and BCM6362

    PCI
    - Reduce stack frame usage
    - Use struct list_head lists
    - Support for CONFIG_PCI_DOMAINS_GENERIC
    - Make pcibios_set_cache_line_size an initcall
    - Inline pcibios_assign_all_busses
    - Split pci.c into pci.c & pci-legacy.c
    - Introduce CONFIG_PCI_DRIVERS_LEGACY
    - Support generic drivers

    CPC
    - Convert bare 'unsigned' to 'unsigned int'
    - Avoid lock when MIPS CM >= 3 is present

    GIC:
    - Delete unused file smp-gic.c

    mt7620:
    - Delete unnecessary assignment for the field "owner" from PCI

    BCM63xx:
    - Let clk_disable() return immediately if clk is NULL

    pm-cps:
    - Change FSB workaround to CPU blacklist
    - Update comments on barrier instructions
    - Use MIPS standard lightweight ordering barrier
    - Use MIPS standard completion barrier
    - Remove selection of sync types
    - Add MIPSr6 CPU support
    - Support CM3 changes to Coherence Enable Register

    SMP:
    - Wrap call to mips_cpc_lock_other in mips_cm_lock_other
    - Introduce mechanism for freeing and allocating IPIs

    cpuidle:
    - cpuidle-cps: Enable use with MIPSr6 CPUs.

    SEAD3:
    - Rewrite to use DT and generic kernel feature.

    USB:
    - host: ehci-sead3: Remove SEAD-3 EHCI code

    FBDEV:
    - cobalt_lcdfb: Drop SEAD3 support

    dt-bindings:
    - Document a binding for simple ASCII LCDs

    auxdisplay:
    - img-ascii-lcd: driver for simple ASCII LCD displays

    irqchip i8259:
    - i8259: Add domain before mapping parent irq
    - i8259: Allow platforms to override poll function
    - i8259: Remove unused i8259A_irq_pending

    Malta:
    - Rewrite to use DT

    of/platform:
    - Probe "isa" busses by default

    CM:
    - Print CM error reports upon bus errors

    Module:
    - Migrate exception table users off module.h and onto extable.h
    - Make various drivers explicitly non-modular:
    - Audit and remove any unnecessary uses of module.h

    mailmap:
    - Canonicalize to Qais' current email address.

    Documentation:
    - MIPS supports HAVE_REGS_AND_STACK_ACCESS_API

    Loongson1C:
    - Add CPU support for Loongson1C
    - Add board support
    - Add defconfig
    - Add RTC support for Loongson1C board

    All this except one Documentation fix has sat in linux-next and has
    survived Imagination's automated build test system"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (127 commits)
    Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
    MIPS: ptrace: Fix regs_return_value for kernel context
    MIPS: VDSO: Drop duplicated -I*/-E* aflags
    MIPS: Fix -mabi=64 build of vdso.lds
    MIPS: Enable hardened usercopy
    MIPS: generic: Convert SEAD-3 to a generic board
    MIPS: generic: Introduce generic DT-based board support
    MIPS: Support generating Flattened Image Trees (.itb)
    MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
    MIPS: Print CM error reports upon bus errors
    MIPS: Support per-device DMA coherence
    MIPS: dma-default: Don't check hw_coherentio if device is non-coherent
    MIPS: Sanitise coherentio semantics
    MIPS: PCI: Support generic drivers
    MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY
    MIPS: PCI: Split pci.c into pci.c & pci-legacy.c
    MIPS: PCI: Inline pcibios_assign_all_busses
    MIPS: PCI: Make pcibios_set_cache_line_size an initcall
    MIPS: PCI: Support for CONFIG_PCI_DOMAINS_GENERIC
    MIPS: PCI: Use struct list_head lists
    ...

    Linus Torvalds
     

12 Oct, 2016

1 commit

  • Daniel Walker reported problems which happens when
    crash_kexec_post_notifiers kernel option is enabled
    (https://lkml.org/lkml/2015/6/24/44).

    In that case, smp_send_stop() is called before entering kdump routines
    which assume other CPUs are still online. As the result, kdump
    routines fail to save other CPUs' registers. Additionally for MIPS
    OCTEON, it misses to stop the watchdog timer.

    To fix this problem, call a new kdump friendly function,
    crash_smp_send_stop(), instead of the smp_send_stop() when
    crash_kexec_post_notifiers is enabled. crash_smp_send_stop() is a
    weak function, and it just call smp_send_stop(). Architecture
    codes should override it so that kdump can work appropriately.
    This patch provides MIPS version.

    Fixes: f06e5153f4ae (kernel/panic.c: add "crash_kexec_post_notifiers" option)
    Link: http://lkml.kernel.org/r/20160810080950.11028.28000.stgit@sysi4-13.yrl.intra.hitachi.co.jp
    Signed-off-by: Hidehiro Kawai
    Reported-by: Daniel Walker
    Cc: Dave Young
    Cc: Baoquan He
    Cc: Vivek Goyal
    Cc: Eric Biederman
    Cc: Masami Hiramatsu
    Cc: Daniel Walker
    Cc: Xunlei Pang
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Borislav Petkov
    Cc: David Vrabel
    Cc: Toshi Kani
    Cc: Ralf Baechle
    Cc: David Daney
    Cc: Aaro Koskinen
    Cc: "Steven J. Hill"
    Cc: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hidehiro Kawai
     

04 Oct, 2016

9 commits

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

    Aaro Koskinen
     
  • PHY access through the board helper is impossible with the
    current drivers, so delete this code.

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

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

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

    Aaro Koskinen
     
  • Leave that to actual ethernet/phy drivers.

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

    Aaro Koskinen
     
  • Delete legacy hack for broken bootloaders. The warning has been in kernel
    for several years, and if there are still users using such bootloaders,
    they can fix the boot by supplying a proper DTB.

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

    Aaro Koskinen
     
  • Rename upper case variables.

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

    Aaro Koskinen
     
  • Take all memory into use by default, instead of limiting to 512 MB.

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

    Aaro Koskinen
     
  • Pull CPU hotplug updates from Thomas Gleixner:
    "Yet another batch of cpu hotplug core updates and conversions:

    - Provide core infrastructure for multi instance drivers so the
    drivers do not have to keep custom lists.

    - Convert custom lists to the new infrastructure. The block-mq custom
    list conversion comes through the block tree and makes the diffstat
    tip over to more lines removed than added.

    - Handle unbalanced hotplug enable/disable calls more gracefully.

    - Remove the obsolete CPU_STARTING/DYING notifier support.

    - Convert another batch of notifier users.

    The relayfs changes which conflicted with the conversion have been
    shipped to me by Andrew.

    The remaining lot is targeted for 4.10 so that we finally can remove
    the rest of the notifiers"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    cpufreq: Fix up conversion to hotplug state machine
    blk/mq: Reserve hotplug states for block multiqueue
    x86/apic/uv: Convert to hotplug state machine
    s390/mm/pfault: Convert to hotplug state machine
    mips/loongson/smp: Convert to hotplug state machine
    mips/octeon/smp: Convert to hotplug state machine
    fault-injection/cpu: Convert to hotplug state machine
    padata: Convert to hotplug state machine
    cpufreq: Convert to hotplug state machine
    ACPI/processor: Convert to hotplug state machine
    virtio scsi: Convert to hotplug state machine
    oprofile/timer: Convert to hotplug state machine
    block/softirq: Convert to hotplug state machine
    lib/irq_poll: Convert to hotplug state machine
    x86/microcode: Convert to hotplug state machine
    sh/SH-X3 SMP: Convert to hotplug state machine
    ia64/mca: Convert to hotplug state machine
    ARM/OMAP/wakeupgen: Convert to hotplug state machine
    ARM/shmobile: Convert to hotplug state machine
    arm64/FP/SIMD: Convert to hotplug state machine
    ...

    Linus Torvalds
     

30 Sep, 2016

1 commit

  • We clear the OF_POPULATED flag for the GPIO controller node on Octeon
    processors. Otherwise, none of the devices hanging on the GPIO lines
    are probed. The 'gpio-leds' driver on OCTEON failed to probe in addition
    to other devices on Cavium 71xx and 78xx development boards.

    Fixes: 15cc2ed6dcf9 ("of/irq: Mark initialised interrupt controllers as populated")
    Signed-off-by: Steven J. Hill
    Tested-by: Aaro Koskinen
    Cc: David Daney
    Cc: Rob Herring
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14091/
    Signed-off-by: Ralf Baechle

    Steven J. Hill
     

20 Sep, 2016

1 commit

  • Install the callbacks via the state machine.

    [ tglx: Renamed the state to MIPS_SOC_PREPARE so it can be reused by other
    SOCs ]

    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: Peter Zijlstra
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20160906170457.32393-16-bigeasy@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     

19 Sep, 2016

1 commit

  • Commit 44a7185c2ae6 ("of/platform: Add common method to populate
    default bus") added new arch_initcall of_platform_default_populate_init()
    that will override device_initcall octeon_publish_devices(). This broke
    many OCTEON boards as important devices are not getting probed anymore
    (e.g. on EdgeRouter Lite the USB mass storage/rootfs is missing).

    Fix by changing octeon_publish_devices() to arch_initcall.

    Fixes: 44a7185c2ae6 ("of/platform: Add common method to populate default bus")
    Signed-off-by: Aaro Koskinen
    Acked-by: Rob Herring
    Cc: David Daney
    Cc: Kefeng Wang
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14041/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     

06 Aug, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for 4.8. Also includes is a
    minor SSB cleanup as SSB code traditionally is merged through the MIPS
    tree:

    ATH25:
    - MIPS: Add default configuration for ath25

    Boot:
    - For zboot, copy appended dtb to the end of the kernel
    - store the appended dtb address in a variable

    BPF:
    - Fix off by one error in offset allocation

    Cobalt code:
    - Fix typos

    Core code:
    - debugfs_create_file returns NULL on error, so don't use IS_ERR for
    testing for errors.
    - Fix double locking issue in RM7000 S-cache code. This would only
    affect RM7000 ARC systems on reboot.
    - Fix page table corruption on THP permission changes.
    - Use compat_sys_keyctl for 32 bit userspace on 64 bit kernels.
    David says, there are no compatibility issues raised by this fix.
    - Move some signal code around.
    - Rewrite r4k count/compare clockevent device registration such that
    min_delta_ticks/max_delta_ticks files are guaranteed to be
    initialized.
    - Only register r4k count/compare as clockevent device if we can
    assume the clock to be constant.
    - Fix MSA asm warnings in control reg accessors
    - uasm and tlbex fixes and tweaking.
    - Print segment physical address when EU=1.
    - Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO.
    - CP: Allow booting by VP other than VP 0
    - Cache handling fixes and optimizations for r4k class caches
    - Add hotplug support for R6 processors
    - Cleanup hotplug bits in kconfig
    - traps: return correct si code for accessing nonmapped addresses
    - Remove cpu_has_safe_index_cacheops

    Lantiq:
    - Register IRQ handler for virtual IRQ number
    - Fix EIU interrupt loading code
    - Use the real EXIN count
    - Fix build error.

    Loongson 3:
    - Increase HPET_MIN_PROG_DELTA and decrease HPET_MIN_CYCLES

    Octeon:
    - Delete built-in DTB pruning code for D-Link DSR-1000N.
    - Clean up GPIO definitions in dlink_dsr-1000n.dts.
    - Add more LEDs to the DSR-100n DTS
    - Fix off by one in octeon_irq_gpio_map()
    - Typo fixes
    - Enable SATA by default in cavium_octeon_defconfig
    - Support readq/writeq()
    - Remove forced mappings of USB interrupts.
    - Ensure DMA descriptors are always in the low 4GB
    - Improve USB reset code for OCTEON II.

    Pistachio:
    - Add maintainers entry for pistachio SoC Support
    - Remove plat_setup_iocoherency

    Ralink:
    - Fix pwm UART in spis group pinmux.

    SSB:
    - Change bare unsigned to unsigned int to suit coding style

    Tools:
    - Fix reloc tool compiler warnings.

    Other:
    - Delete use of ARCH_WANT_OPTIONAL_GPIOLIB"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (61 commits)
    MIPS: mm: Fix definition of R6 cache instruction
    MIPS: tools: Fix relocs tool compiler warnings
    MIPS: Cobalt: Fix typo
    MIPS: Octeon: Fix typo
    MIPS: Lantiq: Fix build failure
    MIPS: Use CPHYSADDR to implement mips32 __pa
    MIPS: Octeon: Dlink_dsr-1000n.dts: add more leds.
    MIPS: Octeon: Clean up GPIO definitions in dlink_dsr-1000n.dts.
    MIPS: Octeon: Delete built-in DTB pruning code for D-Link DSR-1000N.
    MIPS: store the appended dtb address in a variable
    MIPS: ZBOOT: copy appended dtb to the end of the kernel
    MIPS: ralink: fix spis group pinmux
    MIPS: Factor o32 specific code into signal_o32.c
    MIPS: non-exec stack & heap when non-exec PT_GNU_STACK is present
    MIPS: Use per-mm page to execute branch delay slot instructions
    MIPS: Modify error handling
    MIPS: c-r4k: Use SMP calls for CM indexed cache ops
    MIPS: c-r4k: Avoid small flush_icache_range SMP calls
    MIPS: c-r4k: Local flush_icache_range cache op override
    MIPS: c-r4k: Split r4k_flush_kernel_vmap_range()
    ...

    Linus Torvalds
     

04 Aug, 2016

1 commit

  • The dma-mapping core and the implementations do not change the DMA
    attributes passed by pointer. Thus the pointer can point to const data.
    However the attributes do not have to be a bitfield. Instead unsigned
    long will do fine:

    1. This is just simpler. Both in terms of reading the code and setting
    attributes. Instead of initializing local attributes on the stack
    and passing pointer to it to dma_set_attr(), just set the bits.

    2. It brings safeness and checking for const correctness because the
    attributes are passed by value.

    Semantic patches for this change (at least most of them):

    virtual patch
    virtual context

    @r@
    identifier f, attrs;

    @@
    f(...,
    - struct dma_attrs *attrs
    + unsigned long attrs
    , ...)
    {
    ...
    }

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    and

    // Options: --all-includes
    virtual patch
    virtual context

    @r@
    identifier f, attrs;
    type t;

    @@
    t f(..., struct dma_attrs *attrs);

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    Link: http://lkml.kernel.org/r/1468399300-5399-2-git-send-email-k.kozlowski@samsung.com
    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Vineet Gupta
    Acked-by: Robin Murphy
    Acked-by: Hans-Christian Noren Egtvedt
    Acked-by: Mark Salter [c6x]
    Acked-by: Jesper Nilsson [cris]
    Acked-by: Daniel Vetter [drm]
    Reviewed-by: Bart Van Assche
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Fabien Dessenne [bdisp]
    Reviewed-by: Marek Szyprowski [vb2-core]
    Acked-by: David Vrabel [xen]
    Acked-by: Konrad Rzeszutek Wilk [xen swiotlb]
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Richard Kuo [hexagon]
    Acked-by: Geert Uytterhoeven [m68k]
    Acked-by: Gerald Schaefer [s390]
    Acked-by: Bjorn Andersson
    Acked-by: Hans-Christian Noren Egtvedt [avr32]
    Acked-by: Vineet Gupta [arc]
    Acked-by: Robin Murphy [arm64 and dma-iommu]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     

03 Aug, 2016

2 commits


02 Aug, 2016

1 commit


29 Jul, 2016

1 commit

  • When a CPU is disabled via CPU hotplug, cpu_foreign_map is not updated.
    This could result in cache management SMP calls being sent to offline
    CPUs instead of online siblings in the same core.

    Add a call to calculate_cpu_foreign_map() in the various MIPS cpu
    disable callbacks after set_cpu_online(). All cases are updated for
    consistency and to keep cpu_foreign_map strictly up to date, not just
    those which may support hardware multithreading.

    Fixes: cccf34e9411c ("MIPS: c-r4k: Fix cache flushing for MT cores")
    Signed-off-by: James Hogan
    Cc: Paul Burton
    Cc: David Daney
    Cc: Kevin Cernekee
    Cc: Florian Fainelli
    Cc: Huacai Chen
    Cc: Hongliang Tao
    Cc: Hua Yan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13799/
    Signed-off-by: Ralf Baechle

    James Hogan
     

28 Jul, 2016

3 commits


21 Jul, 2016

1 commit

  • It should be >= ARRAY_SIZE() instead of > ARRAY_SIZE().

    Fixes: 64b139f97c01 ('MIPS: OCTEON: irq: add CIB and other fixes')
    Signed-off-by: Dan Carpenter
    Acked-by: David Daney
    Cc: Rob Herring
    Cc: Marc Zyngier
    Cc: linux-mips@linux-mips.org
    Cc: kernel-janitors@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/13813/
    Signed-off-by: Ralf Baechle

    Dan Carpenter
     

12 Jul, 2016

1 commit

  • Update OCTEON port mangling code to support readq() and
    writeq() functions to allow driver code to be more portable.
    Updates also for word and long function pairs. We also
    remove SWAP_IO_SPACE for OCTEON platforms as the function
    macros are redundant with the new mangling code.

    Signed-off-by: Steven J. Hill
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13780/
    Signed-off-by: Ralf Baechle

    Steven J. Hill
     

28 May, 2016

1 commit

  • The corresponding FROZEN hotplug notifier transitions used on
    suspend/resume are ignored. Therefore the switch case action argument
    is masked with the frozen hotplug notifier transition mask.

    Signed-off-by: Anna-Maria Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: rt@linutronix.de
    Patchwork: https://patchwork.linux-mips.org/patch/13351/
    Signed-off-by: Ralf Baechle

    Anna-Maria Gleixner
     

13 May, 2016

14 commits