14 Dec, 2012

23 commits

  • CC arch/mips/wrppmc/pci.o
    /home/ralf/src/linux/linux-mips/arch/mips/wrppmc/pci.c: In function ‘gt64120_pci_init’:
    /home/ralf/src/linux/linux-mips/arch/mips/wrppmc/pci.c:41:6: error: variable ‘tmp’ set but not used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

    This warning exists in gcc 4.6.0 and newer. Kernels 2.6.40 and newer use
    -Wunused-but-set-variable to suppress it.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • CC arch/mips/sgi-ip22/ip22-eisa.o
    /home/ralf/src/linux/linux-mips/arch/mips/sgi-ip22/ip22-eisa.c: In function ‘ip22_eisa_intr’:
    /home/ralf/src/linux/linux-mips/arch/mips/sgi-ip22/ip22-eisa.c:77:11: error: variable ‘dma2’ set but not used [-Werror=unused-but-set-variable]
    /home/ralf/src/linux/linux-mips/arch/mips/sgi-ip22/ip22-eisa.c:77:5: error: variable ‘dma1’ set but not used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

    This warning exists in gcc 4.6.0 and newer. Kernels 2.6.40 and newer use
    -Wunused-but-set-variable to suppress it.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • CC arch/mips/rb532/prom.o
    /home/ralf/src/linux/linux-mips/arch/mips/rb532/prom.c: In function ‘prom_setup_cmdline’:
    /home/ralf/src/linux/linux-mips/arch/mips/rb532/prom.c:75:22: error: variable ‘prom_envp’ set but not used [-Werror=unused-but-set-variable]

    This warning exists in gcc 4.6.0 and newer. Kernels 2.6.40 and newer use
    -Wunused-but-set-variable to suppress it.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • CC arch/mips/powertv/init.o
    /home/ralf/src/linux/linux-mips/arch/mips/powertv/init.c: In function ‘mips_nmi_setup’:
    /home/ralf/src/linux/linux-mips/arch/mips/powertv/init.c:80:8: error: variable ‘base’ set but not used [-Werror=unused-but-set-variable]
    /home/ralf/src/linux/linux-mips/arch/mips/powertv/init.c: In function ‘mips_ejtag_setup’:
    /home/ralf/src/linux/linux-mips/arch/mips/powertv/init.c:94:8: error: variable ‘base’ set but not used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

    As these two functions are, they don't serve any useful purpose so I've
    deleted them entirely.

    This warning exists in gcc 4.6.0 and newer. Kernels 2.6.40 and newer use
    -Wunused-but-set-variable to suppress it.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • I had no idea just how broken IOC3 was until I read this.

    Signed-off-by: Dave Jones
    Signed-off-by: Ralf Baechle

    Dave Jones
     
  • CC arch/mips/mm/highmem.o
    /home/ralf/src/linux/linux-mips/arch/mips/mm/highmem.c: In function ‘__kunmap_atomic’:
    /home/ralf/src/linux/linux-mips/arch/mips/mm/highmem.c:70:6: error: variable ‘type’ set but not used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors

    This warning exists in gcc 4.6.0 and newer. Kernels 2.6.40 and newer use
    -Wunused-but-set-variable to suppress it.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Normally r4k_dma_cache_inv should only ever be called with cacheline
    aligned addresses. If however, it isn't there is the theoretical
    possibility of data corruption. There is no correct way of handling this
    and anyway, it should only happen if the DMA API is used incorrectly
    so drop

    There is a different corruption scenario with these CACHE instructions
    removed but again there is no way of handling this correctly and it can
    be triggered only through incorrect use of the DMA API.

    So just get rid of the complexity.

    Signed-off-by: Ralf Baechle
    Reported-by: James Rodriguez

    Ralf Baechle
     
  • The default implementation of 'cpu_has_fpu' macro calls
    smp_processor_id() which causes this warning to be printed when
    preemption is enabled:

    [ 4.664000] Algorithmics/MIPS FPU Emulator v1.5
    [ 4.676000] BUG: using smp_processor_id() in preemptible [00000000] code: ini
    [ 4.700000] caller is fpu_emulator_cop1Handler+0x434/0x27b8

    This problem got introduced in November 2009 by
    af1d2af877ef6c36990671bc86a5b9c5bb50b1da (lmo) [MIPS: Fix emulation of
    64-bit FPU on 64-bit CPUs.] rsp. da0bac33413b2888d3623dad3ad19ce76b688f07
    (kernel.org) [MIPS: Fix emulation of 64-bit FPU on FPU-less 64-bit CPUs.]
    in 2.6.32.

    Fixed by rewriting cop1_64bit() to return a constant whenever possible
    but most importantly avoid the use pf cpu_has_fpu entirely.

    Signed-off-by: Ralf Baechle
    Reported-by: Jayachandran C
    Initial-patch-by: Jayachandran C
    Patchwork: https://patchwork.linux-mips.org/patch/4225/

    Ralf Baechle
     
  • Our FP emulator is hardcoded for the MIPS IV FP instruction set and does
    not match the FP ISA with the general ISA. However for the few MIPS IV FP
    instructions that use the COP1X major opcode it relies on the Coprocessor
    Unusable exception to be delivered as a COP1 rather than COP3 exception.
    This includes indexed transfer (LDXC1, etc.) and FP multiply-accumulate
    (MADD.D, etc.) instructions.

    All the MIPS I, II, III and IV processors and some newer chips that do not
    implement the FPU use the COP3 exception however. Therefore I believe the
    kernel should follow and redirect any COP3 Unusable traps to the emulator
    unless an actual FPU part or core is present.

    This is a change that implements it. Any minor opcode encodings that are
    not recognised as valid FP instructions are rejected by the emulator and
    will result in a SIGILL signal being delivered as they currently do. We
    do not support vendor-specific coprocessor 3 implementations supported
    with MIPS I and MIPS II ISA processors; we never set CP0.Status.CU3.

    [Ralf: On MIPS IV processors the kernel always enables the XX bit which
    replaces the CU3 bit off earlier architecture revisions.]

    If matching between the CPU and the FPU ISA is considered required one
    day, this can still be done in the emulator itself. I think the CpU
    exception dispatcher is not the right place to do this anyway, as there
    are further differences between MIPS I, MIPS II, MIPS III, MIPS IV and
    MIPS32 FP ISAs.

    Corresponding explanation of this implementation is included within the
    change itself.

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

    Maciej W. Rozycki
     
  • When poweroff machine, kernel_power_off() call disable_nonboot_cpus().
    And if we have HOTPLUG_CPU configured, disable_nonboot_cpus() is not an
    empty function but attempt to actually disable the nonboot cpus. Since
    system state is SYSTEM_POWER_OFF, play_dead() won't be called and thus
    disable_nonboot_cpus() hangs. Therefore, we make this patch to avoid
    poweroff failure.

    Signed-off-by: Huacai Chen
    Signed-off-by: Hongliang Tao
    Signed-off-by: Hua Yan
    Cc: Yong Zhang
    Cc: stable@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Fuxin Zhang
    Cc: Zhangjin Wu
    Patchwork: https://patchwork.linux-mips.org/patch/4211/
    Signed-off-by: Ralf Baechle

    Huacai Chen
     
  • When CONFIG_UIDGID_STRICT_TYPE_CHECKS is enabled, plain integer checking
    between different uids/gids is explicitely turned into a build failure
    by making the k{uid,gid}_t types a structure containing a value:

    arch/mips/kernel/mips-mt-fpaff.c: In function 'check_same_owner':
    arch/mips/kernel/mips-mt-fpaff.c:53:22: error: invalid operands to
    binary == (have 'kuid_t' and 'kuid_t')
    arch/mips/kernel/mips-mt-fpaff.c:54:15: error: invalid operands to
    binary == (have 'kuid_t' and 'kuid_t')

    In order to ensure proper comparison between uids, using the helper
    function uid_eq() which performs the right thing whenever this config
    option is turned on or off.

    Signed-off-by: Florian Fainelli
    Patchwork: https://patchwork.linux-mips.org/patch/4717/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • This header was added in commit 39b8d5254246ac56342b72f812255c8f7a74dca9
    (kernel.org) / b6e90cd0ae7a556080d9ea2ec1b8f6d9accad9d4 (lmo( ([MIPS] Add
    support for MIPS CMP platform.). None of the functions it declared were
    ever included in the tree. Commit cb7f39d2bc5a20615d016dd86fca0fd233c13b5d
    (kernel.org) / b6e90cd0ae7a556080d9ea2ec1b8f6d9accad9d4 (lmo) [MIPS] Remove
    unused maltasmp.h.] removeed the sole file that included it because that
    file was itself unused.

    [ralf@linux-mips.org: The whole mess happened because somebody at MIPS
    thought it was a good idea to rename VSMP ("Vitual SMP") to SMVP. Which
    is an IBMeque ETLA in contrast to VSMP, so public kernels as opposed to
    MTI's inhouse kernels never followed suit.]

    Signed-off-by: Paul Bolle
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/3950/
    Signed-off-by: Ralf Baechle

    Paul Bolle
     
  • Some initialization errors are reported with the existing OCTEON EDAC
    support patch. Also some parts have more than one memory controller.

    Fix the errors and add multiple controllers if present.

    Signed-off-by: David Daney

    David Daney
     
  • Signed-off-by: David Daney

    David Daney
     
  • Used by follow-on EDAC patches.

    Signed-off-by: David Daney

    David Daney
     
  • We need to set the 'endian' bit in this case.

    Acked-by: Jeff Garzik
    Signed-off-by: David Daney

    David Daney
     
  • The patch needs to eliminate the definition of OCTEON_IRQ_BOOTDMA so
    that the device tree code can map the interrupt, so in order to not
    temporarily break things, we do a single patch to both the interrupt
    registration code and the pata_octeon_cf driver.

    Also rolled in is a conversion to use hrtimers and corrections to the
    timing calculations.

    Acked-by: Jeff Garzik
    Signed-off-by: David Daney

    David Daney
     
  • Manuel Lauss writes:

    I introduced it as a fallback because early revisions of Alchemy hardware
    we shipped had a non-functional 32kHz timer and had to rely on the r4k
    timer instead. Previously the r4k timer was initialized regardless, but
    it's useless with the "wait" instruction.

    So long story short: I need either the on-chip 32kHz timer OR the r4k
    timer if the 32kHz one is unusable, but not both, and r4k timer is useless
    when au1k_idle is in use.

    The current in-kernel Alchemy boards all work with the 32kHz timer, so I'm
    not against removing R4K_LIB symbols.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Manuel Lauss writes:

    I introduced it as a fallback because early revisions of Alchemy hardware
    we shipped had a non-functional 32kHz timer and had to rely on the r4k
    timer instead. Previously the r4k timer was initialized regardless, but
    it's useless with the "wait" instruction.

    So long story short: I need either the on-chip 32kHz timer OR the r4k
    timer if the 32kHz one is unusable, but not both, and r4k timer is useless
    when au1k_idle is in use.

    The current in-kernel Alchemy boards all work with the 32kHz timer, so I'm
    not against removing R4K_LIB symbols.

    Signed-off-by: Steven J. Hill
    Signed-off-by: Ralf Baechle

    Steven J. Hill
     
  • This patch changes the physmap-flash platform data on AR7 to pass the
    correct partition parser: ar7part to used by the "physmap-flash" mapping
    driver so we get the partitions probed correctly.

    Signed-off-by: Florian Fainelli
    Cc: blogic@openwrt.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/4654/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Correct spelling typo ENDIANESS to ENDIANNESS in arc/mips/lantiq/xway/dma.c

    Signed-off-by: Masanari Iida
    Cc: trivial@kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/4613/
    Signed-off-by: Ralf Baechle

    Masanari Iida
     
  • With the upcoming merge of the ARC architecture there is a small likelyhood
    of conflicting use for the CONFIG_ARC config symbol. Rename it to
    CONFIG_FW_ARC. Also rename CONFIG_ARC32 to CONFIG_FW_ARC32, CONFIG_ARC64
    to CONFIG_FW_ARC64.

    For consistence also rename CONFIG_SNIPROM to CONFIG_FW_SNIPROM and
    CONFIG_CFE to CONFIG_FW_CFE.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • [ralf@linux-mips.org: Original patch by Maxim Uvarov
    with plenty of further shining, polishing, debugging and testing by me.]

    Signed-off-by: Maxim Uvarov
    Cc: linux-mips@linux-mips.org
    Cc: kexec@lists.infradead.org
    Cc: horms@verge.net.au
    Patchwork: https://patchwork.linux-mips.org/patch/1026/
    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

13 Dec, 2012

1 commit

  • [ralf@linux-mips.org: Original patch by Maxim Uvarov
    with plenty of further shining, polishing, debugging and testing by me.]

    Signed-off-by: Maxim Uvarov
    Cc: linux-mips@linux-mips.org
    Cc: kexec@lists.infradead.org
    Cc: horms@verge.net.au
    Patchwork: https://patchwork.linux-mips.org/patch/1025/
    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

12 Dec, 2012

11 commits


26 Nov, 2012

5 commits