17 Aug, 2015

2 commits

  • commit 0cb0985f57783c2f3c6c8ffe7e7665e80c56bd92 upstream.

    get_c0_perfcount_int is tested from oprofile code. If oprofile is
    compiled as module, get_c0_perfcount_int needs to be exported, otherwise
    it cannot be resolved.

    Fixes: a669efc4a3b4 ("MIPS: Add hook to get C0 performance counter interrupt")
    Signed-off-by: Felix Fietkau
    Cc: linux-mips@linux-mips.org
    Cc: abrestic@chromium.org
    Patchwork: https://patchwork.linux-mips.org/patch/10763/
    Signed-off-by: Ralf Baechle
    Signed-off-by: Greg Kroah-Hartman

    Felix Fietkau
     
  • commit 106eccb4d20f35ebc58ff2286c170d9e79c5ff68 upstream.

    On Malta, since commit a87ea88d8f6c ("MIPS: Malta: initialise the RTC at
    boot"), the RTC is reinitialised and forced into binary coded decimal
    (BCD) mode during init, even if the bootloader has already initialised
    it, and may even have already put it into binary mode (as YAMON does).
    This corrupts the current time, can result in the RTC seconds being an
    invalid BCD (e.g. 0x1a..0x1f) for up to 6 seconds, as well as confusing
    YAMON for a while after reset, enough for it to report timeouts when
    attempting to load from TFTP (it actually uses the RTC in that code).

    Therefore only initialise the RTC to the extent that is necessary so
    that Linux avoids interfering with the bootloader setup, while also
    allowing it to estimate the CPU frequency without hanging, without a
    bootloader necessarily having done anything with the RTC (for example
    when the kernel is loaded via EJTAG).

    The divider control is configured for a 32KHZ reference clock if
    necessary, and the SET bit of the RTC_CONTROL register is cleared if
    necessary without changing any other bits (this bit will be set when
    coming out of reset if the battery has been disconnected).

    Fixes: a87ea88d8f6c ("MIPS: Malta: initialise the RTC at boot")
    Signed-off-by: James Hogan
    Reviewed-by: Paul Burton
    Cc: Ralf Baechle
    Cc: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10739/
    Signed-off-by: Ralf Baechle
    Signed-off-by: Greg Kroah-Hartman

    James Hogan
     

22 Apr, 2015

1 commit

  • Pull tty/serial updates from Greg KH:
    "Here's the big tty/serial driver update for 4.1-rc1.

    It was delayed for a bit due to some questions surrounding some of the
    console command line parsing changes that are in here. There's still
    one tiny regression for people who were previously putting multiple
    console command lines and expecting them all to be ignored for some
    odd reason, but Peter is working on fixing that. If not, I'll send a
    revert for the offending patch, but I have faith that Peter can
    address it.

    Other than the console work here, there's the usual serial driver
    updates and changes, and a buch of 8250 reworks to try to make that
    driver easier to maintain over time, and have it support more devices
    in the future.

    All of these have been in linux-next for a while"

    * tag 'tty-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits)
    n_gsm: Drop unneeded cast on netdev_priv
    sc16is7xx: expose RTS inversion in RS-485 mode
    serial: 8250_pci: port failed after wakeup from S3
    earlycon: 8250: Document kernel command line options
    earlycon: 8250: Fix command line regression
    earlycon: Fix __earlycon_table stride
    tty: clean up the tty time logic a bit
    serial: 8250_dw: only get the clock rate in one place
    serial: 8250_dw: remove useless ACPI ID check
    dmaengine: hsu: move memory allocation to GFP_NOWAIT
    dmaengine: hsu: remove redundant pieces of code
    serial: 8250_pci: add Intel Tangier support
    dmaengine: hsu: add Intel Tangier PCI ID
    serial: 8250_pci: replace switch-case by formula for Intel MID
    serial: 8250_pci: replace switch-case by formula
    tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1
    serial: jsm: some off by one bugs
    serial: xuartps: Fix check in console_setup().
    serial: xuartps: Get rid of register access macros.
    serial: xuartps: Fix iobase use.
    ...

    Linus Torvalds
     

13 Apr, 2015

1 commit


10 Apr, 2015

1 commit

  • memsize denotes the amount of RAM we can access from kseg{0,1} and
    that should be up to 256M. In case the bootloader reports a value
    higher than that (perhaps reporting all the available RAM) it's best
    if we fix it ourselves and just warn the user about that. This is
    usually a problem with the bootloader and/or its environment.

    [ralf@linux-mips.org: Remove useless parens as suggested bei Sergei.
    Reformat long pr_warn statement to fit into 80 column limit.]

    Signed-off-by: Markos Chandras
    Cc: # v3.15+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9362/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

31 Mar, 2015

3 commits

  • Start the GIC counter before we try to determine its frequency.

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

    Markos Chandras
     
  • Implement the weak get_c0_fdc_int() function for Malta. The Fast Debug
    Channel (FDC) interrupt is obtained mainly depending on whether a GIC is
    present. Vectored external interrupt mode isn't yet supported.

    Signed-off-by: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9143/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • Implement mips_cdmm_phys_base() for Malta, returning the physical base
    address 0x1fc10000 which is "typically unused".

    This allows the Common Device Memory Map (CDMM) region to be mapped, and
    devices in that region (such as the Fast Debug Channel (FDC) hardware
    for communication over EJTAG) to be discovered.

    Signed-off-by: James Hogan
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9177/
    Signed-off-by: Ralf Baechle

    James Hogan
     

27 Mar, 2015

1 commit


25 Nov, 2014

1 commit


24 Nov, 2014

13 commits

  • There's no reason for gic_frequency to be global any more and it
    certainly doesn't belong in the GIC irqchip driver, so move it to
    the GIC clocksource driver.

    Signed-off-by: Andrew Bresticker
    Cc: Daniel Lezcano
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8137/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Move the GIC clocksource driver to drivers/clocksource/mips-gic-timer.c.

    Signed-off-by: Andrew Bresticker
    Cc: Daniel Lezcano
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8133/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Now that the MIPS GIC irqchip lives in drivers/irqchip/, move
    its header over to include/linux/irqchip/.

    Signed-off-by: Andrew Bresticker
    Cc: Daniel Lezcano
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8129/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Stop using the REG macros from gic.h and instead use proper iomem
    accessors.

    Signed-off-by: Andrew Bresticker
    Cc: Daniel Lezcano
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8126/
    Patchwork: https://patchwork.linux-mips.org/patch/8227/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Instead of reading the GIC registers directly, use the interface the GIC
    driver already exposes for reading the global timer. Also get rid of
    the unnecessary #ifdefs.

    Signed-off-by: Andrew Bresticker
    Cc: Daniel Lezcano
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8123/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • The generic plat_irq_dispatch provided in irq_cpu.c is sufficient for
    dispatching interrupts on Malta in legacy and vectored interrupt modes.

    Signed-off-by: Andrew Bresticker
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7821/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • The MIPS GIC supports 7 local interrupts, 2 of which are the GIC
    local watchdog and count/compare timer. The remainder are CPU
    interrupts which may optionally be re-routed through the GIC.
    GIC hardware IRQs 0-6 are now used for local interrupts while
    hardware IRQs 7+ are used for external (shared) interrupts.

    Note that the 5 CPU interrupts may not be re-routable through
    the GIC. In that case mapping will fail and the vectors reported
    in C0_IntCtl should be used instead. gic_get_c0_compare_int() and
    gic_get_c0_perfcount_int() will return the correct IRQ number to
    use for the C0 timer and perfcounter interrupts based on the
    routability of those interrupts through the GIC.

    A separate irq_chip, with callbacks that mask/unmask the local
    interrupt on all CPUs, is used for the C0 timer and performance
    counter interrupts since all other platforms do not use the percpu
    IRQ API for those interrupts.

    Malta, SEAD-3, and the GIC clockevent driver have been updated
    to use local interrupts and the R4K clockevent driver has been
    updated to poll for C0 timer interrupts through the GIC when
    the GIC is present.

    Signed-off-by: Andrew Bresticker
    Acked-by: Jason Cooper
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7819/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Now that the GIC properly uses IRQ domains, kill off the per-platform
    routing tables that were used to make the GIC appear transparent.

    This includes:
    - removing the mapping tables and the support for applying them,
    - moving GIC IPI support to the GIC driver,
    - properly routing the i8259 through the GIC on Malta, and
    - updating IRQ assignments on SEAD-3 when the GIC is present.

    Platforms no longer will pass an interrupt mapping table to gic_init.
    Instead, they will pass the CPU interrupt vector (2 - 7) that they
    expect the GIC to route interrupts to. Note that in EIC mode this
    value is ignored and all GIC interrupts are routed to EIC vector 1.

    Signed-off-by: Andrew Bresticker
    Acked-by: Jason Cooper
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7816/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Use a simple IRQ domain for the MIPS GIC. Remove the gic_platform_init
    callback as it's no longer necessary for it to set the irqchip.

    Signed-off-by: Andrew Bresticker
    Acked-by: Jason Cooper
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7811/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • There's no need for platforms to have their own GIC irq_ack/irq_eoi
    callbacks. irq_ack need only clear the GIC's edge detector on
    edge-triggered interrupts and there's no need at all for irq_eoi.
    Also get rid of the mask_ack callback since it's not necessary either.

    Signed-off-by: Andrew Bresticker
    Acked-by: Jason Cooper
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7809/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Move GIC irqchip support to drivers/irqchip/ and rename the Kconfig
    option from IRQ_GIC to MIPS_GIC to avoid confusion with the ARM GIC.

    Signed-off-by: Andrew Bresticker
    Acked-by: Jason Cooper
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7812/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • Nothing calls gic_{enable,disable}_interrupt() any more.

    Signed-off-by: Andrew Bresticker
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Andrew Bresticker
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7806/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     
  • The hardware perf event driver and oprofile interpret the global
    cp0_perfcount_irq differently: in the hardware perf event driver
    it is an offset from MIPS_CPU_IRQ_BASE and in oprofile it is the
    actual IRQ number. This still works most of the time since
    MIPS_CPU_IRQ_BASE is usually 0, but is clearly wrong. Since the
    performance counter interrupt may vary from platform to platform
    like the C0 timer interrupt, add the optional get_c0_perfcount_int
    hook which returns the IRQ number of the performance counter.
    The hook should return < 0 if the performance counter interrupt is
    shared with the timer. If the hook is not present, the CPU vector
    reported in C0_IntCtl (cp0_perfcount_irq) is used.

    Signed-off-by: Andrew Bresticker
    Reviewed-by: Qais Yousef
    Tested-by: Qais Yousef
    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Andrew Bresticker
    Cc: Jeffrey Deans
    Cc: Markos Chandras
    Cc: Paul Burton
    Cc: Qais Yousef
    Cc: Jonas Gorski
    Cc: John Crispin
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7805/
    Signed-off-by: Ralf Baechle

    Andrew Bresticker
     

24 Oct, 2014

1 commit


19 Aug, 2014

1 commit

  • Using kstrtol to parse the "{e,}memsize" variables was wrong because this
    parses signed long numbers. In case of '{e,}memsize' >= 2G, the top bit
    is set, resulting to -ERANGE errors and possibly random system memory
    boundaries. We fix this by replacing "kstrtol" with "kstrtoul".
    We also improve the code to check the kstrtoul return value and
    print a warning if an error was returned.

    Signed-off-by: Markos Chandras
    Cc: # v3.15+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/7543/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

02 Aug, 2014

3 commits

  • Initialise the MAARs such that speculation is enabled for all physical
    addresses outside of the I/O region.

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

    Paul Burton
     
  • The Malta malta_ipi_irqdispatch() routine now checks only IPI interrupts
    when handling IPIs. It could previously call do_IRQ() for non-IPIs, and
    also call do_IRQ() with an invalid IRQ number if there were no pending
    GIC interrupts when gic_get_int() was called.

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

    Jeffrey Deans
     
  • irq-gic.c:gic_get_int() masks out interrupts from the pending set which
    aren’t in the pcpu_mask. Only interrupts marked with GIC_FLAG_IPI were
    set in pcpu_mask, meaning that peripheral interrupts also had to be
    marked as IPIs. Remove the use of GIC_FLAG_IPI and allow the flags
    member of struct gic_intr_map to be zero.

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

    Jeffrey Deans
     

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
     

05 Jun, 2014

1 commit


04 Jun, 2014

1 commit

  • Pull KVM updates from Paolo Bonzini:
    "At over 200 commits, covering almost all supported architectures, this
    was a pretty active cycle for KVM. Changes include:

    - a lot of s390 changes: optimizations, support for migration, GDB
    support and more

    - ARM changes are pretty small: support for the PSCI 0.2 hypercall
    interface on both the guest and the host (the latter acked by
    Catalin)

    - initial POWER8 and little-endian host support

    - support for running u-boot on embedded POWER targets

    - pretty large changes to MIPS too, completing the userspace
    interface and improving the handling of virtualized timer hardware

    - for x86, a larger set of changes is scheduled for 3.17. Still, we
    have a few emulator bugfixes and support for running nested
    fully-virtualized Xen guests (para-virtualized Xen guests have
    always worked). And some optimizations too.

    The only missing architecture here is ia64. It's not a coincidence
    that support for KVM on ia64 is scheduled for removal in 3.17"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (203 commits)
    KVM: add missing cleanup_srcu_struct
    KVM: PPC: Book3S PR: Rework SLB switching code
    KVM: PPC: Book3S PR: Use SLB entry 0
    KVM: PPC: Book3S HV: Fix machine check delivery to guest
    KVM: PPC: Book3S HV: Work around POWER8 performance monitor bugs
    KVM: PPC: Book3S HV: Make sure we don't miss dirty pages
    KVM: PPC: Book3S HV: Fix dirty map for hugepages
    KVM: PPC: Book3S HV: Put huge-page HPTEs in rmap chain for base address
    KVM: PPC: Book3S HV: Fix check for running inside guest in global_invalidates()
    KVM: PPC: Book3S: Move KVM_REG_PPC_WORT to an unused register number
    KVM: PPC: Book3S: Add ONE_REG register names that were missed
    KVM: PPC: Add CAP to indicate hcall fixes
    KVM: PPC: MPIC: Reset IRQ source private members
    KVM: PPC: Graciously fail broken LE hypercalls
    PPC: ePAPR: Fix hypercall on LE guest
    KVM: PPC: BOOK3S: Remove open coded make_dsisr in alignment handler
    KVM: PPC: BOOK3S: Always use the saved DAR value
    PPC: KVM: Make NX bit available with magic page
    KVM: PPC: Disable NX for old magic page using guests
    KVM: PPC: BOOK3S: HV: Add mixed page-size support for guest
    ...

    Linus Torvalds
     

31 May, 2014

3 commits

  • This patch powers down the Malta in response to a power off command (eg.
    poweroff or shutdown -P). It may then be powered back up by pressing the
    "ON/NMI" button (S4) on the board. In cases where the power off state
    cannot be entered (eg. because the required PCI support is disabled) the
    current reset behaviour will be used as a fallback.

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

    Paul Burton
     
  • When the system is halted it makes little sense to reset it. Instead,
    hang by executing an infinite loop.

    [ralf@linux-mips.org: Remove printk from mips_machine_halt() - this is not
    the place to communicate with the user.]

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

    Paul Burton
     
  • This patch introduces code which will enter a suspend state via the
    PIIX4. This can only be done when PCI support is enabled since it
    requires access to PCI I/O space and the generation of a special cycle
    on the PCI bus. In cases where PCI is disabled the mips_pm_suspend
    function will simply always return an error.

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

    Paul Burton
     

30 May, 2014

1 commit

  • The KVM_HOST_FREQ Kconfig symbol was used by KVM guest kernels to
    override the timer frequency calculation to a value based on the host
    frequency. Now that the KVM timer emulation is implemented independent
    of the host timer frequency and defaults to 100MHz, adjust the working
    of CONFIG_KVM_HOST_FREQ to match.

    The Kconfig symbol now specifies the guest timer frequency directly, and
    has been renamed accordingly to KVM_GUEST_TIMER_FREQ. It now defaults to
    100MHz too and the help text is updated to make it clear that a zero
    value will allow the normal timer frequency calculation to take place
    (based on the emulated RTC).

    Signed-off-by: James Hogan
    Cc: Paolo Bonzini
    Cc: Gleb Natapov
    Cc: kvm@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: Sanjay Lal
    Acked-by: Ralf Baechle
    Signed-off-by: Paolo Bonzini

    James Hogan
     

25 May, 2014

2 commits

  • First introduced in e6ca4e5bf11466b5e9423a1e4ea51a8216c4b9b6
    "MIPS: malta: malta-memory: Add support for the 'ememsize' variable"
    but it is not needed since both variables are visible to the compiler.

    Signed-off-by: Markos Chandras
    Cc: # v3.15+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6985/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • If the 'memsize' environmental variable is not set by the bootloader
    the 'memsize' variable is not initialized, leading to potential memory
    problems. This patch fixes the problem by setting the initial
    value to '0' to force the kernel to set a good default memory size.

    Cc: # v3.15+
    Reported-by: Matheus Almeida
    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Cc: Markos Chandras
    Cc: stable@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/6984/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

24 May, 2014

1 commit

  • Nobody is maintaining SMTC anymore and there also seems to be no userbase.
    Which is a pity - the SMTC technology primarily developed by Kevin D.
    Kissell is an ingenious demonstration for the MT
    ASE's power and elegance.

    Based on Markos Chandras patch
    https://patchwork.linux-mips.org/patch/6719/ which while very similar did
    no longer apply cleanly when I tried to merge it plus some additional
    post-SMTC cleanup - SMTC was a feature as tricky to remove as it was to
    merge once upon a time.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

01 Apr, 2014

2 commits