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
     

21 May, 2019

1 commit


31 Oct, 2018

1 commit

  • Move remaining definitions and declarations from include/linux/bootmem.h
    into include/linux/memblock.h and remove the redundant header.

    The includes were replaced with the semantic patch below and then
    semi-automated removal of duplicated '#include

    @@
    @@
    - #include
    + #include

    [sfr@canb.auug.org.au: dma-direct: fix up for the removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181002185342.133d1680@canb.auug.org.au
    [sfr@canb.auug.org.au: powerpc: fix up for removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181005161406.73ef8727@canb.auug.org.au
    [sfr@canb.auug.org.au: x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal]
    Link: http://lkml.kernel.org/r/20181008190341.5e396491@canb.auug.org.au
    Link: http://lkml.kernel.org/r/1536927045-23536-30-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Stephen Rothwell
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

15 May, 2018

2 commits

  • Since struct timespec is not y2038 safe on 32bit machines, this patch
    converts update_persistent_clock() to update_persistent_clock64() using
    struct timespec64.

    The rtc_mips_set_time() and rtc_mips_set_mmss() interfaces were using
    'unsigned long' type that is not y2038 safe on 32bit machines, moreover
    there is only one platform implementing rtc_mips_set_time() and two
    platforms implementing rtc_mips_set_mmss(), so we can just make them each
    implement update_persistent_clock64() directly, to get that helper out
    of the common mips code by removing rtc_mips_set_time() and
    rtc_mips_set_mmss() interfaces.

    Signed-off-by: Baolin Wang
    Acked-by: Arnd Bergmann
    Cc: Ralf Baechle
    Cc: Huacai Chen
    Cc: Paul Burton
    Cc: linux-mips@linux-mips.org
    Signed-off-by: James Hogan

    Baolin Wang
     
  • Since struct timespec is not y2038 safe on 32bit machines, this patch
    converts read_persistent_clock() to read_persistent_clock64() using
    struct timespec64, as well as converting mktime() to mktime64().

    Signed-off-by: Baolin Wang
    Acked-by: Arnd Bergmann
    Cc: Ralf Baechle
    Cc: Huacai Chen
    Cc: Paul Burton
    Cc: linux-mips@linux-mips.org
    Signed-off-by: James Hogan

    Baolin Wang
     

02 Nov, 2017

1 commit

  • 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
     

07 Aug, 2017

1 commit

  • Fix a commit 3021773c7c3e ("MIPS: DEC: Avoid la pseudo-instruction in
    delay slots") regression and remove assembly errors:

    arch/mips/dec/int-handler.S: Assembler messages:
    arch/mips/dec/int-handler.S:162: Error: Macro used $at after ".set noat"
    arch/mips/dec/int-handler.S:163: Error: Macro used $at after ".set noat"
    arch/mips/dec/int-handler.S:229: Error: Macro used $at after ".set noat"
    arch/mips/dec/int-handler.S:230: Error: Macro used $at after ".set noat"

    triggering with with the CPU_DADDI_WORKAROUNDS option set and the DADDIU
    instruction. This is because with that option in place the instruction
    becomes a macro, which expands to an LI/DADDU (or actually ADDIU/DADDU)
    sequence that uses $at as a temporary register.

    With CPU_DADDI_WORKAROUNDS we only support `-msym32' compilation though,
    and this is already enforced in arch/mips/Makefile, so choose the 32-bit
    expansion variant for the supported configurations and then replace the
    64-bit variant with #error just in case.

    Fixes: 3021773c7c3e ("MIPS: DEC: Avoid la pseudo-instruction in delay slots")
    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org # 4.8+
    Patchwork: https://patchwork.linux-mips.org/patch/16893/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

09 May, 2017

1 commit

  • While examining output from trial builds with -Wformat-security enabled,
    many strings were found that should be defined as "const", or as a char
    array instead of char pointer. This makes some static analysis easier,
    by producing fewer false positives.

    As these are all trivial changes, it seemed best to put them all in a
    single patch rather than chopping them up per maintainer.

    Link: http://lkml.kernel.org/r/20170405214711.GA5711@beast
    Signed-off-by: Kees Cook
    Acked-by: Jes Sorensen [runner.c]
    Cc: Tony Lindgren
    Cc: Russell King
    Cc: "Maciej W. Rozycki"
    Cc: Ralf Baechle
    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Cc: "Rafael J. Wysocki"
    Cc: Viresh Kumar
    Cc: Daniel Vetter
    Cc: Jani Nikula
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Yisen Zhuang
    Cc: Salil Mehta
    Cc: Thomas Bogendoerfer
    Cc: Jiri Slaby
    Cc: Patrice Chotard
    Cc: "David S. Miller"
    Cc: James Hogan
    Cc: Paul Burton
    Cc: Matt Redfearn
    Cc: Paolo Bonzini
    Cc: Ingo Molnar
    Cc: Rasmus Villemoes
    Cc: Mugunthan V N
    Cc: Felipe Balbi
    Cc: Jarod Wilson
    Cc: Florian Westphal
    Cc: Antonio Quartulli
    Cc: Dmitry Torokhov
    Cc: Kejian Yan
    Cc: Daode Huang
    Cc: Qianqian Xie
    Cc: Philippe Reynes
    Cc: Colin Ian King
    Cc: Eric Dumazet
    Cc: Christian Gromm
    Cc: Andrey Shvetsov
    Cc: Jason Litzinger
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     

14 Feb, 2017

1 commit

  • Historically a lot of these existed because we did not have
    a distinction between what was modular code and what was providing
    support to modules via EXPORT_SYMBOL and friends. That changed
    when we forked out support for the latter into the export.h file.

    This means we should be able to reduce the usage of module.h
    in code that is obj-y Makefile or bool Kconfig. In the case of
    some code where it is modular, we can extend that to also include
    files that are building basic support functionality but not related
    to loading or registering the final module; such files also have
    no need whatsoever for module.h

    The advantage in removing such instances is that module.h itself
    sources about 15 other headers; adding significantly to what we feed
    cpp, and it can obscure what headers we are effectively using.

    Since module.h might have been the implicit source for init.h
    (for __init) and for export.h (for EXPORT_SYMBOL) we consider each
    instance for the presence of either and replace/add as needed.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    Build coverage of all the mips defconfigs revealed the module.h
    header was masking a couple of implicit include instances, so
    we add the appropriate headers there.

    Signed-off-by: Paul Gortmaker
    Cc: David Daney
    Cc: John Crispin
    Cc: Ralf Baechle
    Cc: "Steven J. Hill"
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/15131/
    [james.hogan@imgtec.com: Preserve sort order where it already exists]
    Signed-off-by: James Hogan

    Paul Gortmaker
     

25 Dec, 2016

1 commit


30 Sep, 2016

1 commit

  • When expanding the la or dla pseudo-instruction in a delay slot the GNU
    assembler will complain should the pseudo-instruction expand to multiple
    actual instructions, since only the first of them will be in the delay
    slot leading to the pseudo-instruction being only partially executed if
    the branch is taken. Use of PTR_LA in the dec int-handler.S leads to
    such warnings:

    arch/mips/dec/int-handler.S: Assembler messages:
    arch/mips/dec/int-handler.S:149: Warning: macro instruction expanded into multiple instructions in a branch delay slot
    arch/mips/dec/int-handler.S:198: Warning: macro instruction expanded into multiple instructions in a branch delay slot

    Avoid this by open coding the PTR_LA macros.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

17 May, 2016

1 commit


03 Apr, 2016

1 commit


08 Apr, 2015

2 commits

  • Following the arrangement for processors that wire FPU exceptions to the
    FPE CPU exception handle the case where no FPU is in use -- which for
    DECstation systems will only ever happen when the "nofpu" kernel option
    has been used -- do not register the FPU interrupt in such a case
    either.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9714/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • Implement a cheap way to count FPU interrupts for R2k/R3k DECstation
    systems. Do this manually in handcoded assembly, rather than calling
    `kstat_incr_irq_this_cpu' that would require setting up a stack frame
    and a lot of redirection. This is not going to be a problem because the
    FPU interrupt is local to the CPU and also there is one CPU only anyway.

    So at bootstrap determine the address of the correct location within
    `struct irq_desc', and then only refer to it directly in the interrupt
    handler.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9713/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

10 Jun, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    - three fixes for 3.15 that didn't make it in time
    - limited Octeon 3 support.
    - paravirtualization support
    - improvment to platform support for Netlogix SOCs.
    - add support for powering down the Malta eval board in software
    - add many instructions to the in-kernel microassembler.
    - add support for the BPF JIT.
    - minor cleanups of the BCM47xx code.
    - large cleanup of math emu code resulting in significant code size
    reduction, better readability of the code and more accurate
    emulation.
    - improvments to the MIPS CPS code.
    - support C3 power status for the R4k count/compare clock device.
    - improvments to the GIO support for older SGI workstations.
    - increase number of supported CPUs to 256; this can be reached on
    certain embedded multithreaded ccNUMA configurations.
    - various small cleanups, updates and fixes

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (173 commits)
    MIPS: IP22/IP28: Improve GIO support
    MIPS: Octeon: Add twsi interrupt initialization for OCTEON 3XXX, 5XXX, 63XX
    DEC: Document the R4k MB ASIC mini interrupt controller
    DEC: Add self as the maintainer
    MIPS: Add microMIPS MSA support.
    MIPS: Replace calls to obsolete strict_strto call with kstrto* equivalents.
    MIPS: Replace obsolete strict_strto call with kstrto
    MIPS: BFP: Simplify code slightly.
    MIPS: Call find_vma with the mmap_sem held
    MIPS: Fix 'write_msa_##' inline macro.
    MIPS: Fix MSA toolchain support detection.
    mips: Update the email address of Geert Uytterhoeven
    MIPS: Add minimal defconfig for mips_paravirt
    MIPS: Enable build for new system 'paravirt'
    MIPS: paravirt: Add pci controller for virtio
    MIPS: Add code for new system 'paravirt'
    MIPS: Add functions for hypervisor call
    MIPS: OCTEON: Add OCTEON3 to __get_cpu_type
    MIPS: Add function get_ebase_cpunum
    MIPS: Add minimal support for OCTEON3 to c-r4k.c
    ...

    Linus Torvalds
     

07 Jun, 2014

1 commit


31 May, 2014

1 commit

  • On R4k DECstations the Halt button is wired to the NMI processor input
    rather than an ordinary interrupt input such as on R3k DECstations. This
    is possible with a different design of the CPU daughtercard that routes
    the Halt button line from the baseboard connector. Additionally the
    interrupt input has been reused for a different purpose on the KN04 and
    KN05 R4k CPU daughtercards so it is better kept masked.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6705/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

13 May, 2014

2 commits

  • Commit 231a35d37293ab88d325a9cb94e5474c156282c0 [[MIPS] RM: Collected
    changes] broke DECstation support by introducing an incompatible copy of
    arch/mips/dec/prom/call_o32.S in arch/mips/fw/lib/, built unconditionally.
    The copy happens to land earlier of the two among the modules used in the
    link and is therefore chosen for the DECstation rather than the intended
    original. As a result random kernel data is corrupted because a pointer
    to the "%s" formatted output template is used as a temporary stack pointer
    rather than being passed down to prom_printf. This also explains why
    prom_printf still works, up to a point -- the next argument is the actual
    string to output so it works just fine as the output template until enough
    kernel data has been corrupted to cause a crash.

    This change adjusts the modified wrapper in arch/mips/fw/lib/call_o32.S to
    let callers request no stack switching by passing a null temporary stack
    pointer in $a1, reworks the DECstation callers to work with the updated
    interface and removes the old copy from arch/mips/dec/prom/call_o32.S. A
    few minor readability adjustments are included as well, most importantly
    O32_SZREG is now used throughout where applicable rather than hardcoded
    multiplies of 4 and $fp is used to access the argument save area as a more
    usual register to operate the stack with rather than $s0.

    Finally an update is made to the temporary stack space used by the SNI
    platform to guarantee 8-byte alignment as per o32 requirements.

    Signed-off-by: Maciej W. Rozycki
    Cc: Thomas Bogendoerfer
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6668/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • Commit 69f24d1784b631b81a54eb57c49bf46536dd2382 [MIPS: Optimize
    current_cpu_type() for better code.] missed an update for two DECstation
    bus error support files that now do not build, this is a fix.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6667/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

30 Oct, 2013

2 commits

  • Commit 7034228792cc561e79ff8600f02884bd4c80e287 [MIPS: Whitespace
    cleanup.] did a lot of good and a little damage. Revert the damage.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5875/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • This change complements commits d0da7c002f7b2a93582187a9e3f73891a01d8ee4
    [MIPS: DEC: Convert to new irq_chip functions] and
    5359b938c088423a28c41499f183cd10824c1816 [MIPS: DECstation I/O ASIC DMA
    interrupt handling fix] and implements automatic handling of the two
    classes of DMA interrupts the I/O ASIC implements, informational and
    errors.

    Informational DMA interrupts do not stop the transfer and use the
    `handle_edge_irq' handler that clears the request right away so that
    another request may be recorded while the previous is being handled.

    DMA error interrupts stop the transfer and require a corrective action
    before DMA can be reenabled. Therefore they use the `handle_fasteoi_irq'
    handler that only clears the request on the way out. Because MIPS
    processor interrupt inputs, one of which the I/O ASIC's interrupt
    controller is cascaded to, are level-triggered it is recommended that
    error DMA interrupt action handlers are registered with the IRQF_ONESHOT
    flag set so that they are run with the interrupt line masked.

    This change removes the export of clear_ioasic_dma_irq that now does not
    have to be called by device drivers to clear interrupts explicitly
    anymore. Originally these interrupts were cleared in the .end handler of
    the `irq_chip' structure, before it was removed.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5874/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

18 Sep, 2013

1 commit

  • o Move current_cpu_type() to a separate header file
    o #ifdefing on supported CPU types lets modern GCC know that certain
    code in callers may be discarded ideally turning current_cpu_type() into
    a function returning a constant.
    o Use current_cpu_type() rather than direct access to struct cpuinfo_mips.

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

    Ralf Baechle
     

13 Sep, 2013

2 commits

  • This change complements commit d0da7c002f7b2a93582187a9e3f73891a01d8ee4
    and brings clear_ioasic_irq back, renaming it to clear_ioasic_dma_irq at
    the same time, to make I/O ASIC DMA interrupts functional.

    Unlike ordinary I/O ASIC interrupts DMA interrupts need to be deasserted
    by software by writing 0 to the respective bit in I/O ASIC's System
    Interrupt Register (SIR), similarly to how CP0.Cause.IP0 and CP0.Cause.IP1
    bits are handled in the CPU (the difference is SIR DMA interrupt bits are
    R/W0C so there's no need for an RMW cycle). Otherwise the handler is
    reentered over and over again.

    The only current user is the DEC LANCE Ethernet driver and its extremely
    uncommon DMA memory error handler that does not care when exactly the
    interrupt is cleared. Anticipating the use of DMA interrupts by the Zilog
    SCC driver this change however exports clear_ioasic_dma_irq for device
    drivers to choose the right application-specific sequence to clear the
    request explicitly rather than calling it implicitly in the .irq_eoi
    handler of `struct irq_chip'. Previously these interrupts were cleared in
    the .end handler of the said structure, before it was removed.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5826/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • Not all I/O ASIC versions have the free-running counter implemented, an
    early revision used in the 5000/1xx models aka 3MIN and 4MIN did not have
    it. Therefore we cannot unconditionally use it as a clock source.
    Fortunately if not implemented its register slot has a fixed value so it
    is enough if we check for the value at the end of the calibration period
    being the same as at the beginning.

    This also means we need to look for another high-precision clock source on
    the systems affected. The 5000/1xx can have an R4000SC processor
    installed where the CP0 Count register can be used as a clock source.
    Unfortunately all the R4k DECstations suffer from the missed timer
    interrupt on CP0 Count reads erratum, so we cannot use the CP0 timer as a
    clock source and a clock event both at a time. However we never need an
    R4k clock event device because all DECstations have a DS1287A RTC chip
    whose periodic interrupt can be used as a clock source.

    This gives us the following four configuration possibilities for I/O ASIC
    DECstations:

    1. No I/O ASIC counter and no CP0 timer, e.g. R3k 5000/1xx (3MIN).

    2. No I/O ASIC counter but the CP0 timer, i.e. R4k 5000/150 (4MIN).

    3. The I/O ASIC counter but no CP0 timer, e.g. R3k 5000/240 (3MAX+).

    4. The I/O ASIC counter and the CP0 timer, e.g. R4k 5000/260 (4MAX+).

    For #1 and #2 this change stops the I/O ASIC free-running counter from
    being installed as a clock source of a 0Hz frequency. For #2 it also
    arranges for the CP0 timer to be used as a clock source rather than a
    clock event device, because having an accurate wall clock is more
    important than a high-precision interval timer. For #3 there is no
    change. For #4 the change makes the I/O ASIC free-running counter
    installed as a clock source so that the CP0 timer can be used as a clock
    event device.

    Unfortunately the use of the CP0 timer as a clock event device relies on a
    succesful completion of c0_compare_interrupt. That never happens, because
    while waiting for a CP0 Compare interrupt to happen the function spins in
    a loop reading the CP0 Count register. This makes the CP0 Count erratum
    trigger reliably causing the interrupt waited for to be lost in all cases.
    As a result #4 resorts to using the CP0 timer as a clock source as well,
    just as #2. However we want to keep this separate arrangement in case
    (hope) c0_compare_interrupt is eventually rewritten such that it avoids
    the erratum.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5825/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

06 Sep, 2013

1 commit

  • This change corrects DECstation HRT calibration, by removing the following
    bugs:

    1. Calibration period selection -- HZ / 10 has been chosen, however on
    DECstation computers, HZ never divides by 10, as the choice for HZ is
    among 128, 256 and 1024. The choice therefore results in a systematic
    calibration error, e.g. 6.25% for the usual choice of 128 for HZ:

    128 / 10 * 10 = 120

    (128 - 120) / 128 -> 6.25%

    The change therefore makes calibration use HZ / 8 that is always
    accurate for the HZ values available, getting rid of the systematic
    error.

    2. Calibration starting point synchronisation -- the duration of a number
    of intervals between DS1287A periodic interrupt assertions is measured,
    however code does not ensure at the beginning that the interrupt has
    not been previously asserted. This results in a variable error of e.g.
    up to another 6.25% for the period of HZ / 8 (8.(3)% with the original
    HZ / 10 period) and the usual choice of 128 for HZ:

    1 / 16 -> 6.25%

    1 / 12 -> 8.(3)%

    The change therefore adds an initial call to ds1287_timer_state that
    clears any previous periodic interrupt pending.

    The same issue applies to both I/O ASIC counter and R4k CP0 timer
    calibration on DECstation systems as similar code is used in both cases
    and both pieces of code are covered by this fix.

    On an R3400 test system used this fix results in a change of the I/O ASIC
    clock frequency reported from values like:

    I/O ASIC clock frequency 23185830Hz

    to:

    I/O ASIC clock frequency 24999288Hz

    removing the miscalculation by 6.25% from the systematic error and (for
    the individual sample provided) a further 1.00% from the variable error,
    accordingly. The nominal I/O ASIC clock frequency is 25MHz on this
    system.

    Here's another result, with the fix applied, from a system that has both
    HRTs available (using an R4400 at 60MHz nominal):

    MIPS counter frequency 59999328Hz
    I/O ASIC clock frequency 24999432Hz

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5807/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

18 Jun, 2013

1 commit

  • promcon.o is built if CONFIG_PROM_CONSOLE is set. But there's no Kconfig
    symbol PROM_CONSOLE, so promcon.c is unbuildable. Remove it.

    Signed-off-by: Paul Bolle
    Acked-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/5344/
    Signed-off-by: Ralf Baechle

    Paul Bolle
     

01 Feb, 2013

1 commit

  • Having received another series of whitespace patches I decided to do this
    once and for all rather than dealing with this kind of patches trickling
    in forever.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

23 Jul, 2012

1 commit


29 Mar, 2012

1 commit


08 Dec, 2011

1 commit

  • Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
    We run all interrupt handlers with interrupts disabled and we even check
    and yell when an interrupt handler returns with interrupts enabled (see
    commit [b738a50a: genirq: Warn when handler enables interrupts]).

    So now this flag is a NOOP and can be removed.

    [ralf@linux-mips.org: Fixed up conflicts in
    arch/mips/alchemy/common/dbdma.c, arch/mips/cavium-octeon/smp.c and
    arch/mips/kernel/perf_event.c.]

    Signed-off-by: Yong Zhang
    To: linux-kernel@vger.kernel.org
    Cc: tglx@linutronix.de
    linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2835/
    Signed-off-by: Ralf Baechle

    Yong Zhang
     

21 Sep, 2011

1 commit


29 Mar, 2011

1 commit


26 Mar, 2011

1 commit


14 Jan, 2011

1 commit

  • Occasionally the system gets into a state where the CMOS clock has gotten
    slightly ahead of current time and the periodic update of RTC fails. The
    message is a nuisance and repeats spamming the log.

    See: http://www.ntp.org/ntpfaq/NTP-s-trbl-spec.htm#Q-LINUX-SET-RTC-MMSS

    Rather than just removing the message, make it show only once and reduce
    severity since it indicates a normal and non urgent condition.

    Signed-off-by: Stephen Hemminger
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Ralf Baechle
    Cc: David Howells
    Cc: Paul Mundt
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Hemminger
     

22 Oct, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-irqflags:
    Fix IRQ flag handling naming
    MIPS: Add missing #inclusions of
    smc91x: Add missing #inclusion of
    Drop a couple of unnecessary asm/system.h inclusions
    SH: Add missing consts to sys_execve() declaration
    Blackfin: Rename IRQ flags handling functions
    Blackfin: Add missing dep to asm/irqflags.h
    Blackfin: Rename DES PC2() symbol to avoid collision
    Blackfin: Split the BF532 BFIN_*_FIO_FLAG() functions to their own header
    Blackfin: Split PLL code from mach-specific cdef headers

    Linus Torvalds
     

20 Oct, 2010

1 commit

  • When running make clean, Kbuild doesn't process the .config file, so nothing
    generates a platform-y variable. We can get it to descend into the platform
    directories by setting $(obj-).

    The dec Platform file was unconditionally setting platform-, obliterating
    its previous contents and preventing some directories from being cleaned.
    This is change to an append operation '+=' to allow cavium-octeon to be
    cleaned.

    Signed-off-by: David Daney
    Cc: Sam Ravnborg
    Patchwork: https://patchwork.linux-mips.org/patch/1718/
    Signed-off-by: Ralf Baechle

    David Daney
     

07 Oct, 2010

1 commit

  • Add missing #inclusions of to a whole bunch of files that should
    really include it. Note that this can replace #inclusions of .

    This is required for the patch to sort out irqflags handling function naming to
    compile on MIPS.

    The problem is that these files require access to things like setup_irq() -
    which isn't available by #including

    Signed-off-by: David Howells
    Acked-by: Ralf Baechle

    David Howells
     

05 Aug, 2010

2 commits