06 Jan, 2020

1 commit


09 Oct, 2019

1 commit

  • Fix the following checkpatch errors:

    $ ./scripts/checkpatch.pl --no-tree -f arch/mips/generic/init.c
    ERROR: Use of const init definition must use __initconst
    #23: FILE: arch/mips/generic/init.c:23:
    +static __initdata const void *fdt;

    ERROR: Use of const init definition must use __initconst
    #24: FILE: arch/mips/generic/init.c:24:
    +static __initdata const struct mips_machine *mach;

    ERROR: Use of const init definition must use __initconst
    #25: FILE: arch/mips/generic/init.c:25:
    +static __initdata const void *mach_match_data;

    Fixes: eed0eabd12ef ("MIPS: generic: Introduce generic DT-based board support")
    Signed-off-by: Tiezhu Yang
    Signed-off-by: Paul Burton
    Cc: ralf@linux-mips.org
    Cc: jhogan@kernel.org
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Tiezhu Yang
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 3029 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

14 May, 2019

1 commit

  • Appended DTB support is mostly intended to be used on legacy systems,
    but it is a valid feature that can be enabled for generic platform,
    which currently doesn't support it - if selected, the appended DTB will
    be ignored by the platform startup code.

    During kernel startup, the appended DTB's location is stored in
    fw_passed_dtb if the init code finds what appears to be a valid DTB.
    Otherwise (if a0 == -2), a1 is stored in fw_passed_dtb, so either way it
    will always point to either a user-passed DTB or built-in DTB.

    Signed-off-by: Marcin Nowakowski
    Signed-off-by: Paul Burton
    Cc: linux-mips@vger.kernel.org

    Marcin Nowakowski
     

10 Oct, 2018

1 commit

  • PCB120 and PCB123 are both development boards based on Microsemi Ocelot
    so let's use the same fitImage for both.

    Reviewed-by: Alexandre Belloni
    Signed-off-by: Quentin Schulz
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/20871/
    Cc: ralf@linux-mips.org
    Cc: jhogan@kernel.org
    Cc: robh+dt@kernel.org
    Cc: mark.rutland@arm.com
    Cc: davem@davemloft.net
    Cc: andrew@lunn.ch
    Cc: f.fainelli@gmail.com
    Cc: allan.nielsen@microchip.com
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: thomas.petazzoni@bootlin.com
    Cc: antoine.tenart@bootlin.com

    Quentin Schulz
     

23 Sep, 2018

1 commit

  • Out-of-tree platforms may not be based on Generic as shown in customer
    communication. Share the prepare method with all using UHI boot protocol,
    and put into machine_kexec.c.

    The benefit is that, when having kexec_args related problems, developers
    will naturally look into machine_kexec.c, where "CONFIG_UHI_BOOT" will be
    found, prompting them to add "select UHI_BOOT" to the platform Kconfig. It
    would otherwise require a lot debugging or online searching to be aware
    that the solution is in Generic code.

    Tested-by: Rachel Mozes
    Reported-by: Rachel Mozes
    Signed-off-by: Dengcheng Zhu
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/20569/
    Cc: pburton@wavecomp.com
    Cc: ralf@linux-mips.org
    Cc: linux-mips@linux-mips.org

    Dengcheng Zhu
     

07 Aug, 2018

1 commit

  • As there is precious little left in any DTS files referring to the
    node "/chosen@0" as opposed to "/chosen", remove the two checks for
    the former node name.

    [paul.burton@mips.com:
    The modified yamon-dt code only operates on
    arch/mips/boot/dts/mti/sead3.dts right now, and that uses chosen
    rather than chosen@0 anyway, so this should have no behavioural
    effect.]

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/20131/
    Cc: linux-mips@linux-mips.org

    Robert P. J. Day
     

28 Jul, 2018

1 commit

  • of_find_compatible_node() returns a device_node pointer with refcount
    incremented and must be decremented explicitly.
    As this code is using the result only to check presence of the interrupt
    controller (!NULL) but not actually using the result otherwise the
    refcount can be decremented here immediately again.

    Signed-off-by: Nicholas Mc Guire
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19820/
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org

    Nicholas Mc Guire
     

25 Jul, 2018

1 commit

  • Ocelot now has a u-boot port, allow building FIT images instead of relying
    on the legacy detection and builtin DTB.

    Signed-off-by: Alexandre Belloni
    Reviewed-by: James Hogan
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19632/
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org

    Alexandre Belloni
     

25 Jun, 2018

1 commit

  • The DT core will call of_platform_populate, so it is not necessary for
    arch specific code to call it unless there are custom match entries,
    auxdata or parent device. Neither of those apply here, so remove the call.

    Cc: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Rob Herring
    Patchwork: https://patchwork.linux-mips.org/patch/19591/
    Signed-off-by: Paul Burton
    Cc: linux-kernel@vger.kernel.org

    Rob Herring
     

15 May, 2018

1 commit

  • Commit b35565bb16a5 ("MIPS: generic: Add support for MIPSfpga") added
    and its.S file for xilfpga but forgot to add it to
    arch/mips/generic/Platform so it is never used.

    Fixes: b35565bb16a5 ("MIPS: generic: Add support for MIPSfpga")
    Signed-off-by: Alexandre Belloni
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: # 4.15+
    Patchwork: https://patchwork.linux-mips.org/patch/19245/
    Signed-off-by: James Hogan

    Alexandre Belloni
     

22 Mar, 2018

1 commit

  • Introduce support for the MIPS based Microsemi Ocelot SoCs.

    Signed-off-by: Alexandre Belloni
    Cc: Ralf Baechle
    Cc: Allan Nielsen
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18858/
    [jhogan@kernel.org: update ocelot_defconfig specification]
    Signed-off-by: James Hogan

    Alexandre Belloni
     

05 Feb, 2018

3 commits

  • The GIC supports running in External Interrupt Controller (EIC) mode,
    and will signal this via cpu_has_veic if enabled in hardware. Currently
    the generic kernel will panic if cpu_has_veic is set - but the GIC can
    legitimately set this flag if either configured to boot in EIC mode, or
    if the GIC driver enables this mode. Make the kernel not panic in this
    case, and instead just check if the GIC is present. If so, use it's CPU
    local interrupt routing functions. If an EIC is present, but it is not
    the GIC, then the kernel does not know how to get the VIRQ for the CPU
    local interrupts and should panic. Support for alternative EICs being
    present is needed here for the generic kernel to support them.

    Suggested-by: Paul Burton
    Signed-off-by: Matt Redfearn
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18191/
    Signed-off-by: James Hogan

    Matt Redfearn
     
  • Fix whitespace of generic platform Makefile so that obj-y values align.

    Fixes: f2d0b0d5c171 ("MIPS: ranchu: Add Ranchu as a new generic-based board")
    Signed-off-by: James Hogan
    Reviewed-by: Paul Burton
    Reviewed-by: Matt Redfearn
    Cc: Ralf Baechle
    Cc: Miodrag Dinic
    Cc: Goran Ferenc
    Cc: Aleksandar Markovic
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18582/

    James Hogan
     
  • ranchu_of_match[] has no terminating element to end the search for a
    matching compatible string when the first and only element does not
    match, so add one now.

    Fixes: f2d0b0d5c171 ("MIPS: ranchu: Add Ranchu as a new generic-based board")
    Signed-off-by: James Hogan
    Reviewed-by: Paul Burton
    Reviewed-by: Matt Redfearn
    Cc: Ralf Baechle
    Cc: Miodrag Dinic
    Cc: Goran Ferenc
    Cc: Aleksandar Markovic
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18581/

    James Hogan
     

23 Jan, 2018

1 commit

  • Provide amendments to the MIPS generic platform framework so that
    the new generic-based board Ranchu can be chosen to be built.

    The Ranchu board is intended to be used by Android emulator. The name
    "Ranchu" originates from Android development community. "Goldfish" and
    "Ranchu" are terms used for two generations of virtual boards used by
    Android emulator. The name "Ranchu" is a newer one among the two, and
    this patch deals with Ranchu. However, for historical reasons, some
    devices/drivers still contain the name "Goldfish".

    MIPS Ranchu machine includes a number of Goldfish devices. The support
    for Virtio devices is also included. Ranchu board supports up to 16
    Virtio devices which can be attached using Virtio MMIO Bus. This is
    summarized in the following picture:

    ABUS
    ||----MIPS CPU
    || | IRQs
    ||----Goldfish PIC------------(32)--------
    || | | | | | | | | |
    ||----Goldfish TTY------ | | | | | | | |
    || | | | | | | | |
    ||----Goldfish RTC-------- | | | | | | |
    || | | | | | | |
    ||----Goldfish FB----------- | | | | | |
    || | | | | | |
    ||----Goldfish Events--------- | | | | |
    || | | | | |
    ||----Goldfish Audio------------ | | | |
    || | | | |
    ||----Goldfish Battery------------ | | |
    || | | |
    ||----Android PIPE------------------ | |
    || | |
    ||----Virtio MMIO Bus | |
    || | | | | |
    || | | (virtio-block)--------- |
    || (16) | |
    || | (virtio-net)------------------

    Device Tree is created on the QEMU side based on the information about
    devices IO map and IRQ numbers. Kernel will load this DTB using UHI
    boot protocol DTB handover mode.

    Signed-off-by: Miodrag Dinic
    Signed-off-by: Goran Ferenc
    Signed-off-by: Aleksandar Markovic
    Reviewed-by: James Hogan
    Cc: Ralf Baechle
    Cc: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18138/
    Signed-off-by: James Hogan

    Miodrag Dinic
     

16 Nov, 2017

1 commit

  • Pull MIPS updates from James Hogan:
    "These are the main MIPS changes for 4.15.

    Fixes:
    - ralink: Fix MT7620 PCI build issues (4.5)
    - Disable cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN for 32-bit SMP
    (4.1)
    - Fix MIPS64 FP save/restore on 32-bit kernels (4.0)
    - ptrace: Pick up ptrace/seccomp changed syscall numbers (3.19)
    - ralink: Fix MT7628 pinmux (3.19)
    - BCM47XX: Fix LED inversion on WRT54GSv1 (3.17)
    - Fix n32 core dumping as o32 since regset support (3.13)
    - ralink: Drop obsolete USB_ARCH_HAS_HCD select

    Build system:
    - Default to "generic" (multiplatform) system type instead of IP22
    - Use generic little endian MIPS32 r2 configuration as default
    defconfig instead of ip22_defconfig

    FPU emulation:
    - Fix exception generation for certain R6 FPU instructions

    SMP:
    - Allow __cpu_number_map to be larger than NR_CPUS for sparse CPU id
    spaces

    Miscellaneous:
    - Add iomem resource for kernel bss section for kexec/kdump
    - Atomics: Nudge writes on bit unlock
    - DT files: Standardise "ok" -> "okay"

    Minor cleanups:
    - Define virt_to_pfn()
    - Make thread_saved_pc static
    - Simplify 32-bit sign extension in __read_64bit_c0_split()
    - DMA: Use vma_pages() helper
    - FPU emulation: Replace unsigned with unsigned int
    - MM: Removed unused lastpfn
    - Alchemy: Make clk_ops const
    - Lasat: Use setup_timer() helper
    - ralink: Use BIT() in MT7620 PCI driver

    Platform support:

    BMIPS:
    - Enable HARDIRQS_SW_RESEND

    Broadcom BCM63XX:
    - Add clkdev lookup support
    - Update clk driver, UART driver, DTs to handle named refclk from DTs
    - Split apart various clocks to more closely match hardware
    - Add ethernet clocks

    Cavium Octeon:
    - Remove usage of cvmx_wait() in favour of __delay()

    ImgTec Pistachio:
    - DT: Drop deprecated dwmmc num-slots property

    Ingenic JZ4780:
    - Add NFS root to Ci20 defconfig
    - Add watchdog to Ci20 DT & defconfig, and allow building of watchdog
    driver with this SoC

    Generic (multiplatform):
    - Migrate xilfpga (MIPSfpga) platform to the generic platform

    Lantiq xway:
    - Fix ASC0/ASC1 clocks"

    * tag 'mips_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips: (46 commits)
    MIPS: Add iomem resource for kernel bss section.
    MIPS: cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN don't work for 32-bit SMP
    MIPS: BMIPS: Enable HARDIRQS_SW_RESEND
    MIPS: pci: Make use of the BIT() macro inside the mt7620 driver
    MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver
    MIPS: pci: Remove duplicate define in mt7620 driver
    MIPS: ralink: Fix typo in mt7628 pinmux function
    MIPS: ralink: Fix MT7628 pinmux
    MIPS: Fix odd fp register warnings with MIPS64r2
    watchdog: jz4780: Allow selection of jz4740-wdt driver
    MIPS/ptrace: Update syscall nr on register changes
    MIPS/ptrace: Pick up ptrace/seccomp changed syscalls
    MIPS: Fix an n32 core file generation regset support regression
    MIPS: Fix MIPS64 FP save/restore on 32-bit kernels
    MIPS: page.h: Define virt_to_pfn()
    MIPS: Xilfpga: Switch to using generic defconfigs
    MIPS: generic: Add support for MIPSfpga
    MIPS: Set defconfig target to a generic system for 32r2el
    MIPS: Kconfig: Set default MIPS system type as generic
    MIPS: DTS: Remove num-slots from Pistachio SoC
    ...

    Linus Torvalds
     

09 Nov, 2017

1 commit

  • Add support for the MIPSfpga platform to generic kernel.

    Signed-off-by: Zubair Lutfullah Kakakhel
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/15846/
    [jhogan@kernel.org: Use separate board-xilfpga.its.S. Add 32r2 and
    little endian requires to board-xilfpga.config]
    Signed-off-by: James Hogan

    Zubair Lutfullah Kakakhel
     

05 Nov, 2017

1 commit

  • Pull MIPS fixes from James Hogan:
    "A selection of important MIPS fixes for 4.14, and some MAINTAINERS /
    email address updates:

    Maintainership updates:
    - imgtec.com -> mips.com email addresses (this trivially updates
    comments in quite a few files, as well as MAINTAINERS)
    - Pistachio SoC maintainership update

    Fixes:
    - NI 169445 build (new platform in 4.14)
    - EVA regression (4.14)
    - SMP-CPS build & preemption regressions (4.14)
    - SMP/hotplug deadlock & race (deadlock reintroduced 4.13)
    - ebpf_jit error return (4.13)
    - SMP-CMP build regressions (4.11 and 4.14)
    - bad UASM microMIPS encoding (3.16)
    - CM definitions (3.15)"

    [ I had taken the email address updates separately, because I didn't
    expect James to send a pull request, so those got applied twice. - Linus]

    * tag 'mips_fixes_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips:
    MIPS: Update email address for Marcin Nowakowski
    MIPS: smp-cmp: Fix vpe_id build error
    MAINTAINERS: Update Pistachio platform maintainers
    MIPS: smp-cmp: Use right include for task_struct
    MIPS: Update Goldfish RTC driver maintainer email address
    MIPS: Update RINT emulation maintainer email address
    MIPS: CPS: Fix use of current_cpu_data in preemptible code
    MIPS: SMP: Fix deadlock & online race
    MIPS: bpf: Fix a typo in build_one_insn()
    MIPS: microMIPS: Fix incorrect mask in insn_table_MM
    MIPS: Fix CM region target definitions
    MIPS: generic: Fix compilation error from include asm/mips-cpc.h
    MIPS: Fix exception entry when CONFIG_EVA enabled
    MIPS: generic: Fix NI 169445 its build
    Update MIPS email addresses

    Linus Torvalds
     

04 Nov, 2017

1 commit

  • MIPS will soon not be a part of Imagination Technologies, and as such
    many @imgtec.com email addresses will no longer be valid. This patch
    updates the addresses for those who:

    - Have 10 or more patches in mainline authored using an @imgtec.com
    email address, or any patches dated within the past year.

    - Are still with Imagination but leaving as part of the MIPS business
    unit, as determined from an internal email address list.

    - Haven't already updated their email address (ie. JamesH) or expressed
    a desire to be excluded (ie. Maciej).

    - Acked v2 or earlier of this patch, which leaves Deng-Cheng, Matt &
    myself.

    New addresses are of the form firstname.lastname@mips.com, and all
    verified against an internal email address list. An entry is added to
    .mailmap for each person such that get_maintainer.pl will report the new
    addresses rather than @imgtec.com addresses which will soon be dead.

    Instances of the affected addresses throughout the tree are then
    mechanically replaced with the new @mips.com address.

    Signed-off-by: Paul Burton
    Cc: Deng-Cheng Zhu
    Cc: Deng-Cheng Zhu
    Acked-by: Dengcheng Zhu
    Cc: Matt Redfearn
    Cc: Matt Redfearn
    Acked-by: Matt Redfearn
    Cc: Andrew Morton
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Signed-off-by: Linus Torvalds

    Paul Burton
     

02 Nov, 2017

2 commits

  • MIPS is no longer part of Imagination Technologies and my @imgtec.com
    address will soon stop working. Update any files containing my address
    as well as the .mailmap to point to my new @mips.com address.

    Signed-off-by: Marcin Nowakowski
    Patchwork: https://patchwork.linux-mips.org/patch/17579/
    Signed-off-by: James Hogan

    Marcin Nowakowski
     
  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Nov, 2017

3 commits

  • Commit e83f7e02af50c ("MIPS: CPS: Have asm/mips-cps.h include CM & CPC
    headers") adds a #error to arch/mips/include/asm/mips-cpc.h if it is
    included directly. While this commit replaced almost all direct includes
    of mips-cm.h and mips-cpc.h, 2 remain.

    With some defconfigs, mips-cps.h is indirectly included before
    mips-cpc.h, but in others this results in compilation errors:

    In file included from arch/mips/generic/init.c:23:0:
    ./arch/mips/include/asm/mips-cpc.h:12:3: error: #error Please include
    asm/mips-cps.h rather than asm/mips-cpc.h
    # error Please include asm/mips-cps.h rather than asm/mips-cpc.h

    In file included from arch/mips/kernel/smp.c:23:0:
    ./arch/mips/include/asm/mips-cpc.h:12:3: error: #error Please include
    asm/mips-cps.h rather than asm/mips-cpc.h
    # error Please include asm/mips-cps.h rather than asm/mips-cpc.h

    In both cases, fix this by including mips-cps.h instead.

    Fixes: e83f7e02af50c ("MIPS: CPS: Have asm/mips-cps.h include CM & CPC headers")
    Signed-off-by: Matt Redfearn
    Patchwork: https://patchwork.linux-mips.org/patch/17492/
    Signed-off-by: James Hogan

    Matt Redfearn
     
  • Since commit 04a85e087ad6 ("MIPS: generic: Move NI 169445 FIT image
    source to its own file"), a generic 32r2el_defconfig kernel fails to
    build with the following build error:

    ITB arch/mips/boot/vmlinux.gz.itb
    Error: arch/mips/boot/vmlinux.gz.its:111.1-2 syntax error
    FATAL ERROR: Unable to parse input tree
    mkimage Can't read arch/mips/boot/vmlinux.gz.itb.tmp: Invalid argument

    Fix arch/mips/generic/board-ni169445.its.S to include the necessary "/"
    node path before the first open brace.

    The original issue in arch/mips/generic/vmlinux.its.S was fixed directly
    in the original commit 7aacf86b75bc ("MIPS: NI 169445 board support")
    after https://patchwork.linux-mips.org/patch/16941/ was submitted, but
    the separate its.S file wasn't correctly fixed when resolving the
    conflict in commit 04a85e087ad6 ("MIPS: generic: Move NI 169445 FIT
    image source to its own file").

    Fixes: 04a85e087ad6 ("MIPS: generic: Move NI 169445 FIT image source to its own file")
    Signed-off-by: James Hogan
    Cc: Ralf Baechle
    Cc: Paul Burton
    Cc: Nathan Sullivan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/17561/
    Signed-off-by: James Hogan

    James Hogan
     
  • MIPS will soon not be a part of Imagination Technologies, and as such
    many @imgtec.com email addresses will no longer be valid. This patch
    updates the addresses for those who:

    - Have 10 or more patches in mainline authored using an @imgtec.com
    email address, or any patches dated within the past year.

    - Are still with Imagination but leaving as part of the MIPS business
    unit, as determined from an internal email address list.

    - Haven't already updated their email address (ie. JamesH) or expressed
    a desire to be excluded (ie. Maciej).

    - Acked v2 or earlier of this patch, which leaves Deng-Cheng, Matt &
    myself.

    New addresses are of the form firstname.lastname@mips.com, and all
    verified against an internal email address list. An entry is added to
    .mailmap for each person such that get_maintainer.pl will report the new
    addresses rather than @imgtec.com addresses which will soon be dead.

    Instances of the affected addresses throughout the tree are then
    mechanically replaced with the new @mips.com address.

    Signed-off-by: Paul Burton
    Cc: Deng-Cheng Zhu
    Cc: Deng-Cheng Zhu
    Acked-by: Dengcheng Zhu
    Cc: Matt Redfearn
    Cc: Matt Redfearn
    Acked-by: Matt Redfearn
    Cc: Andrew Morton
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17540/
    Signed-off-by: James Hogan

    Paul Burton
     

04 Sep, 2017

2 commits

  • The linux/irqchip/mips-gic.h header is now almost empty. Move the
    declarations of gic_get_c0_compare_int(), gic_get_c0_perfcount_int() &
    gic_get_c0_fdc_int() to asm/mips-gic.h in order to close in on being
    able to delete the former header.

    Signed-off-by: Paul Burton
    Acked-by: Marc Zyngier
    Cc: Jason Cooper
    Cc: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/17046/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • In preparation for removing the gic_present global variable, switch to
    using the mips_gic_present() function instead. For the most part this is
    a straightforward substitution. In cases which previously wrapped the
    GIC case in an #ifdef CONFIG_MIPS_GIC that #ifdef has been removed,
    since mips_gic_present() will return a compile-time constant false
    allowing the affected code to be optimised out anyway.

    Signed-off-by: Paul Burton
    Cc: Jason Cooper
    Cc: Marc Zyngier
    Cc: Thomas Gleixner
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/17044/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

29 Aug, 2017

6 commits

  • arch/mips/generic/irq.c provides implementations of the
    get_c0_compare_int() & get_c0_perfcount_int() functions, but doesn't
    include the asm/time.h header which declares them. This leads to
    warnings from sparse:

    arch/mips/generic/irq.c:36:5: warning: symbol 'get_c0_perfcount_int'
    was not declared. Should it be static?
    arch/mips/generic/irq.c:52:14: warning: symbol 'get_c0_compare_int'
    was not declared. Should it be static?

    Fix this by including asm/time.h to get the declarations of
    get_c0_compare_int() & get_c0_perfcount_int().

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17167/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • arch/mips/generic/init.c provides an implementation of the
    plat_fdt_relocated() function, but doesn't include the asm/bootinfo.h
    header which declares it. This leads to a warning from sparse:

    arch/mips/generic/init.c:94:13: warning: symbol 'plat_fdt_relocated' was
    not declared. Should it be static?

    Fix this by including asm/bootinfo.h to get the declaration of
    plat_fdt_relocated(). We also #ifdef our definition of
    plat_fdt_relocated() such that it is only provided when
    CONFIG_RELOCATABLE is set, matching the header & avoiding the redundant
    function for non-relocatable kernels.

    Signed-off-by: Paul Burton
    Cc: Matt Redfearn
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17166/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Move the NI 169445 board flattened image tree source into its own file
    which is concatenated into the final image tree source used to build the
    flattened image tree. Separating boards into different files will help
    us to avoid conflicts as boards are added.

    Signed-off-by: Paul Burton
    Cc: Nathan Sullivan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16940/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Move the Boston board flattened image tree source into its own file
    which is concatenated into the final image tree source used to build the
    flattened image tree. Separating boards into different files will help
    us to avoid conflicts as boards are added.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16939/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • In preparation for splitting arch/mips/generic/vmlinux.its.S into
    multiple files such that it doesn't become a conflict magnet as boards
    are added, allow platforms to specify a list of image tree source files
    which will be concatenated to form the final source used to build the
    image tree.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16938/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Support the National Instruments 169445 board.

    Signed-off-by: Nathan Sullivan
    Acked-by: Rob Herring
    Cc: devicetree@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/16782/
    Signed-off-by: Ralf Baechle

    Nathan Sullivan
     

16 Jul, 2017

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "Boston platform support:
    - Document DT bindings
    - Add CLK driver for board clocks

    CM:
    - Avoid per-core locking with CM3 & higher
    - WARN on attempt to lock invalid VP, not BUG

    CPS:
    - Select CONFIG_SYS_SUPPORTS_SCHED_SMT for MIPSr6
    - Prevent multi-core with dcache aliasing
    - Handle cores not powering down more gracefully
    - Handle spurious VP starts more gracefully

    DSP:
    - Add lwx & lhx missaligned access support

    eBPF:
    - Add MIPS support along with many supporting change to add the
    required infrastructure

    Generic arch code:
    - Misc sysmips MIPS_ATOMIC_SET fixes
    - Drop duplicate HAVE_SYSCALL_TRACEPOINTS
    - Negate error syscall return in trace
    - Correct forced syscall errors
    - Traced negative syscalls should return -ENOSYS
    - Allow samples/bpf/tracex5 to access syscall arguments for sane
    traces
    - Cleanup from old Kconfig options in defconfigs
    - Fix PREF instruction usage by memcpy for MIPS R6
    - Fix various special cases in the FPU eulation
    - Fix some special cases in MIPS16e2 support
    - Fix MIPS I ISA /proc/cpuinfo reporting
    - Sort MIPS Kconfig alphabetically
    - Fix minimum alignment requirement of IRQ stack as required by
    ABI / GCC
    - Fix special cases in the module loader
    - Perform post-DMA cache flushes on systems with MAARs
    - Probe the I6500 CPU
    - Cleanup cmpxchg and add support for 1 and 2 byte operations
    - Use queued read/write locks (qrwlock)
    - Use queued spinlocks (qspinlock)
    - Add CPU shared FTLB feature detection
    - Handle tlbex-tlbp race condition
    - Allow storing pgd in C0_CONTEXT for MIPSr6
    - Use current_cpu_type() in m4kc_tlbp_war()
    - Support Boston in the generic kernel

    Generic platform:
    - yamon-dt: Pull YAMON DT shim code out of SEAD-3 board
    - yamon-dt: Support > 256MB of RAM
    - yamon-dt: Use serial* rather than uart* aliases
    - Abstract FDT fixup application
    - Set RTC_ALWAYS_BCD to 0
    - Add a MAINTAINERS entry

    core kernel:
    - qspinlock.c: include linux/prefetch.h

    Loongson 3:
    - Add support

    Perf:
    - Add I6500 support

    SEAD-3:
    - Remove GIC timer from DT
    - Set interrupt-parent per-device, not at root node
    - Fix GIC interrupt specifiers

    SMP:
    - Skip IPI setup if we only have a single CPU

    VDSO:
    - Make comment match reality
    - Improvements to time code in VDSO"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (86 commits)
    locking/qspinlock: Include linux/prefetch.h
    MIPS: Fix MIPS I ISA /proc/cpuinfo reporting
    MIPS: Fix minimum alignment requirement of IRQ stack
    MIPS: generic: Support MIPS Boston development boards
    MIPS: DTS: img: Don't attempt to build-in all .dtb files
    clk: boston: Add a driver for MIPS Boston board clocks
    dt-bindings: Document img,boston-clock binding
    MIPS: Traced negative syscalls should return -ENOSYS
    MIPS: Correct forced syscall errors
    MIPS: Negate error syscall return in trace
    MIPS: Drop duplicate HAVE_SYSCALL_TRACEPOINTS select
    MIPS16e2: Provide feature overrides for non-MIPS16 systems
    MIPS: MIPS16e2: Report ASE presence in /proc/cpuinfo
    MIPS: MIPS16e2: Subdecode extended LWSP/SWSP instructions
    MIPS: MIPS16e2: Identify ASE presence
    MIPS: VDSO: Fix a mismatch between comment and preprocessor constant
    MIPS: VDSO: Add implementation of gettimeofday() fallback
    MIPS: VDSO: Add implementation of clock_gettime() fallback
    MIPS: VDSO: Fix conversions in do_monotonic()/do_monotonic_coarse()
    MIPS: Use current_cpu_type() in m4kc_tlbp_war()
    ...

    Linus Torvalds
     

11 Jul, 2017

1 commit

  • Add support for the MIPS Boston development board to generic kernels,
    which essentially amounts to:

    - Adding the device tree source for the MIPS Boston board.

    - Adding a Kconfig fragment which enables the appropriate drivers for
    the MIPS Boston board.

    With these changes in place generic kernels will support the board by
    default, and kernels with only the drivers needed for Boston enabled can
    be configured by setting BOARDS=boston during configuration. For
    example:

    $ make ARCH=mips 64r6el_defconfig BOARDS=boston

    Signed-off-by: Paul Burton
    Reviewed-by: James Hogan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16485/
    Signed-off-by: Ralf Baechle

    Paul Burton
     

28 Jun, 2017

5 commits

  • The SEAD-3 board may be configured with or without a MIPS Global
    Interrupt Controller (GIC). Because of this we have a device tree with a
    default case of a GIC present, and code to fixup the device tree based
    upon a configuration register that indicates the presence of the GIC.

    In order to keep this DT fixup code simple, the interrupt-parent
    property was specified at the root node of the SEAD-3 DT, allowing the
    fixup code to simply change this property to the phandle of the CPU
    interrupt controller if a GIC is not present & affect all
    interrupt-using devices at once. This however causes a problem if we do
    have a GIC & the device tree is used as-is, because the interrupt-parent
    property of the root node applies to the CPU interrupt controller node.
    This causes a cycle when of_irq_init() attempts to probe interrupt
    controllers in order and boots fail due to a lack of configured
    interrupts, with this message printed on the kernel console:

    [ 0.000000] OF: of_irq_init: children remain, but no parents

    Fix this by removing the interrupt-parent property from the DT root node
    & instead setting it for each device which uses interrupts, ensuring
    that the CPU interrupt controller node has no interrupt-parent &
    allowing of_irq_init() to identify it as the root interrupt controller.

    Signed-off-by: Paul Burton
    Reported-by: Keng Koh
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16187/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Introduce an apply_mips_fdt_fixups() function which can apply fixups to
    an FDT based upon an array of fixup descriptions. This abstracts that
    functionality such that legacy board code can apply FDT fixups without
    requiring lots of duplication.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16184/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Name aliases in the SEAD-3 device tree serial0 & serial1, rather than
    uart0 & uart1. This allows the core serial code to make use of the
    aliases to ensure that the UARTs are consistently numbered as expected
    rather than having the numbering depend upon probe order.

    When translating YAMON-provided serial configuration to a device tree
    stdout-path property adjust accordingly, such that we continue to
    reference a valid alias.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16183/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • YAMON can expose more than 256MB of RAM to Linux on Malta by passing an
    ememsize environment variable with the full size, but the kernel then
    needs to be careful to choose the corresponding physical memory regions,
    avoiding the IO memory window. This is platform dependent, and on Malta
    it also depends on the memory layout which varies between system
    controllers.

    Extend yamon_dt_amend_memory() to generically handle this by taking
    [e]memsize bytes of memory from an array of memory regions passed in as
    a new parameter. Board code provides this array as appropriate depending
    on its own memory map.

    [paul.burton@imgtec.com: SEAD-3 supports 384MB DDR from 0]

    Signed-off-by: James Hogan
    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16182/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • In preparation for supporting other YAMON-using boards (Malta) & sharing
    code to translate information from YAMON into device tree properties,
    pull the code doing so for the kernel command line, system memory &
    serial configuration out of the SEAD-3 board code.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/16181/
    Signed-off-by: Ralf Baechle

    Paul Burton