1. 11 Oct, 2012 18 commits
    • David Daney's avatar
      MIPS: Optimize TLB refill for RI/XI configurations. · 748e787e
      David Daney authored
      We don't have to do a separate shift to eliminate the software bits,
      just rotate them into the fill and they will be ignored.
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4294/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      748e787e
    • Ralf Baechle's avatar
      MIPS: proc: Cleanup printing of ASEs. · 981ef0de
      Ralf Baechle authored
      The number of %s was just getting ridiculous.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      981ef0de
    • Ralf Baechle's avatar
      MIPS: Hardwire detection of DSP ASE Rev 2 for systems, as required. · 47503256
      Ralf Baechle authored
      Most supported systems currently hardwire cpu_has_dsp to 0, so we also
      can disable support for cpu_has_dsp2 resulting in a slightly smaller
      kernel.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      47503256
    • Steven J. Hill's avatar
      MIPS: Add detection of DSP ASE Revision 2. · ee80f7c7
      Steven J. Hill authored
      [ralf@linux-mips.org: This patch really only detects the ASE and passes its
      existence on to userland via /proc/cpuinfo.  The DSP ASE Rev 2. adds new
      resources but no resources that would need management by the kernel.]
      Signed-off-by: default avatarSteven J. Hill <sjhill@mips.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4165/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ee80f7c7
    • David Daney's avatar
      MIPS: Optimize pgd_init and pmd_init · f59a2d22
      David Daney authored
      On a dual issue processor GCC generates code that saves a couple of
      clock cycles per loop if we rearrange things slightly.  Checking for
      p != end saves a SLTU per loop, moving the increment to the middle can
      let it dual issue on multi-issue processors.
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4249/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      f59a2d22
    • Al Cooper's avatar
      MIPS: perf: Add perf functionality for BMIPS5000 · a7911a8f
      Al Cooper authored
      Add hardware performance counter support to kernel "perf" code for
      BMIPS5000. The BMIPS5000 performance counters are similar to MIPS
      MTI cores, so the changes were mostly made in perf_event_mipsxx.c
      which is typically for MTI cores.
      Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4109/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      a7911a8f
    • Al Cooper's avatar
      MIPS: perf: Split the Kconfig option CONFIG_MIPS_MT_SMP · 399aaa25
      Al Cooper authored
      Split the Kconfig option CONFIG_MIPS_MT_SMP into CONFIG_MIPS_MT_SMP
      and CONFIG_MIPS_PERF_SHARED_TC_COUNTERS so some of the code used
      for performance counters that are shared between threads can be used
      for MIPS cores that are not MT_SMP.
      Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4108/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      399aaa25
    • Al Cooper's avatar
      MIPS: perf: Remove unnecessary #ifdef · ecb8ee8a
      Al Cooper authored
      The #ifdef for CONFIG_HW_PERF_EVENTS is not needed because the
      Makefile will only compile the module if this config option is set.
      This means that the code under #else would never be compiled. This
      may have been done to leave the original broken code around for
      reference, but the FIXME comment above the code already shows the
      broken code.
      Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4107/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ecb8ee8a
    • Al Cooper's avatar
      MIPS: perf: Add cpu feature bit for PCI (performance counter interrupt) · da4b62cd
      Al Cooper authored
      The PCI (Program Counter Interrupt) bit in the "cause" register
      is mandatory for MIPS32R2 cores, but has also been added to some R1
      cores (BMIPS5000). This change adds a cpu feature bit to make it
      easier to check for and use this feature.
      Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4106/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      da4b62cd
    • Al Cooper's avatar
      MIPS: perf: Change the "mips_perf_event" table unsupported indicator. · c5600b2d
      Al Cooper authored
      Change the indicator from 0xffffffff in the "event_id" member to
      zero in the "cntr_mask" member. This removes the need to initialize
      entries that are unsupported. This also solves a problem where the
      number of entries in the table was increased based on a globel enum
      used for all platforms, but the new unsupported entries were not added
      for mips. This was leaving new table entries of all zeros that we not
      marked UNSUPPORTED.
      Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/4110/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c5600b2d
    • David Daney's avatar
      MIPS: Align swapper_pg_dir to 64K for better TLB Refill code. · 485172b3
      David Daney authored
      We can save an instruction in the TLB Refill path for kernel mappings
      by aligning swapper_pg_dir on a 64K boundary.  The address of
      swapper_pg_dir can be generated with a single LUI instead of
      LUI/{D}ADDUI.
      
      The alignment of __init_end is bumped up to 64K so there are no holes
      between it and swapper_pg_dir, which is placed at the very beginning
      of .bss.
      
      The alignment of invalid_pmd_table and invalid_pte_table can be
      relaxed to PAGE_SIZE.  We do this by using __page_aligned_bss, which
      has the added benefit of eliminating alignment holes in .bss.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-arch@vger.kernel.org,
      Cc: linux-kernel@vger.kernel.org
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Patchwork: https://patchwork.linux-mips.org/patch/4220/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      485172b3
    • David Daney's avatar
      vmlinux.lds.h: Allow architectures to add sections to the front of .bss · c87728ca
      David Daney authored
      Follow-on MIPS patch will put an object here that needs 64K alignment
      to minimize padding.
      
      For those architectures that don't define BSS_FIRST_SECTIONS, there is
      no change.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-arch@vger.kernel.org,
      Cc: linux-kernel@vger.kernel.org
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Patchwork: https://patchwork.linux-mips.org/patch/4221/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c87728ca
    • Joshua Kinard's avatar
      Improve atomic.h robustness · b4f2a17b
      Joshua Kinard authored
      I've maintained this patch, originally from Thiemo Seufer in 2004, for a
      really long time, but I think it's time for it to get a look at for
      possible inclusion.  I have had no problems with it across various SGI
      systems over the years.
      
      To quote the post here:
      http://www.linux-mips.org/archives/linux-mips/2004-12/msg00000.html
      
      "the atomic functions use so far memory references for the inline
      assembler to access the semaphore. This can lead to additional
      instructions in the ll/sc loop, because newer compilers don't
      expand the memory reference any more but leave it to the assembler.
      
      The appended patch uses registers instead, and makes the ll/sc
      arguments more explicit. In some cases it will lead also to better
      register scheduling because the register isn't bound to an output
      any more."
      Signed-off-by: default avatarJoshua Kinard <kumba@gentoo.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4029/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      b4f2a17b
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux · 12250d84
      Linus Torvalds authored
      Pull i2c-embedded changes from Wolfram Sang:
       "The changes for i2c-embedded include:
      
         - massive rework of the omap driver
         - massive rework of the at91 driver.  In fact, the old driver gets
           removed; I am okay with this approach since the old driver was
           depending on BROKEN and its limitations made it practically
           unusable, so people used bitbanging instead.  But even if there are
           users, there is no platform_data or module parameter which would
           need to be converted.  It is just another driver doing I2C
           transfers, just way better.  Modifications of arch/arm/at91 related
           files have proper acks from the maintainer.
         - new driver for R-Car I2C
         - devicetree and generic_clock conversions and fixes
         - usual driver fixes and changes.
      
        The rework patches have come a long way and lots of people have been
        involved in creating/testing them.  Most patches have been in
        linux-next at least since 3.6-rc5.  A few have been added in the last
        week, I have to admit.
      
        An unexpected (but welcome :)) peak in private life is the cause for
        that.  The "late" patches shouldn't cause any merge conflicts and I
        will have a special eye on them during the stabilization phase.  This
        is an exception and I want to have the patches in place properly in
        time again for the next kernels."
      
      * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (44 commits)
        MXS: Implement DMA support into mxs-i2c
        i2c: add Renesas R-Car I2C driver
        i2c: s3c2410: use clk_prepare_enable and clk_disable_unprepare
        ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints
        i2c: nomadik: Add Device Tree support to the Nomadik I2C driver
        i2c: algo: pca: Fix chip reset function for PCA9665
        i2c: mpc: Wait for STOP to hit the bus
        i2c: davinci: preparation for switch to common clock framework
        omap-i2c: fix incorrect log message when using a device tree
        i2c: omap: sanitize exit path
        i2c: omap: switch over to autosuspend API
        i2c: omap: remove unnecessary pm_runtime_suspended check
        i2c: omap: switch to threaded IRQ support
        i2c: omap: remove redundant status read
        i2c: omap: get rid of the "complete" label
        i2c: omap: resize fifos before each message
        i2c: omap: simplify IRQ exit path
        i2c: omap: always return IRQ_HANDLED
        i2c: omap: simplify errata check
        i2c: omap: bus: add a receiver flag
        ...
      12250d84
    • Linus Torvalds's avatar
      Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · da06a8d7
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A series of fixes (and in some cases, some cleanups):
      
        Via Tony Lindgren:
         - A collection of OMAP regression fixes, in particular because
           firmware no longer sets up all pin states before starting the
           kernel.
         - cpufreq fixes for OMAP (Rafael is on vacation and this was
           pre-agreed).
         - A longer series of misc regression fixes and cleanups, warning
           removals, etc for OMAP
      
        From Arnd Bergmann:
         - A series of warning fixes for various platforms (defconfig builds)
      
        Misc:
         - A couple of tegra fixes, one for i.MX, some vt8500 fixes, etc."
      
      * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
        ARM: pxa: armcore: fix PCI PIO warnings
        ARM: integrator: use __iomem pointers for MMIO, part 2
        ARM: assabet: fix bogus warning in get_assabet_scr (again)
        ARM: shmobile: mark shmobile_init_late as __init
        ARM: integrator_cp: fix build failure
        ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling
        ARM: OMAP3: fix workaround for EMU clockdomain
        arm/omap: Replace board_ref_clock with enum values
        ARM: OMAP2+: remove duplicated include from board-omap3stalker.c
        arch/arm/plat-omap/omap-pm-noop.c: Remove unecessary semicolon
        arch/arm/mach-omap2: Remove unecessary semicolon
        arch/arm/mach-omap1/devices.c: Remove unecessary semicolon
        ARM/dts: omap5-evm: pinmux configuration for audio
        ARM/dts: Add pinctrl driver entries for omap5
        ARM/dts: omap4-panda: pinmux configuration for audio
        ARM/dts: omap4-sdp: pinmux configuration for audio
        ARM/dts: omap5-evm: Disable unused McBSP3
        ARM/dts: omap4-sdp: Disable unused McBSP3
        ARM/dts: omap4-panda: Disable unused audio IPs
        ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
        ...
      da06a8d7
    • Ian Kent's avatar
      autofs4 - fix reset pending flag on mount fail · 49999ab2
      Ian Kent authored
      In autofs4_d_automount(), if a mount fail occurs the AUTOFS_INF_PENDING
      mount pending flag is not cleared.
      
      One effect of this is when using the "browse" option, directory entry
      attributes show up with all "?"s due to the incorrect callback and
      subsequent failure return (when in fact no callback should be made).
      Signed-off-by: default avatarIan Kent <ikent@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49999ab2
    • Linus Torvalds's avatar
      Merge branch 'akpm' (Fixups from Andrew) · 14ffe009
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "Followups, fixes and some random stuff I found on the internet."
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (11 patches)
        perf: fix duplicate header inclusion
        memcg, kmem: fix build error when CONFIG_INET is disabled
        rtc: kconfig: fix RTC_INTF defaults connected to RTC_CLASS
        rapidio: fix comment
        lib/kasprintf.c: use kmalloc_track_caller() to get accurate traces for kvasprintf
        rapidio: update for destination ID allocation
        rapidio: update asynchronous discovery initialization
        rapidio: use msleep in discovery wait
        mm: compaction: fix bit ranges in {get,clear,set}_pageblock_skip()
        arch/powerpc/platforms/pseries/hotplug-memory.c: section removal cleanups
        arch/powerpc/platforms/pseries/hotplug-memory.c: fix section handling code
      14ffe009
    • Linus Torvalds's avatar
      Merge branch 'for-3.7/core' of git://git.kernel.dk/linux-block · ce40be7a
      Linus Torvalds authored
      Pull block IO update from Jens Axboe:
       "Core block IO bits for 3.7.  Not a huge round this time, it contains:
      
         - First series from Kent cleaning up and generalizing bio allocation
           and freeing.
      
         - WRITE_SAME support from Martin.
      
         - Mikulas patches to prevent O_DIRECT crashes when someone changes
           the block size of a device.
      
         - Make bio_split() work on data-less bio's (like trim/discards).
      
         - A few other minor fixups."
      
      Fixed up silent semantic mis-merge as per Mikulas Patocka and Andrew
      Morton.  It is due to the VM no longer using a prio-tree (see commit
      6b2dbba8: "mm: replace vma prio_tree with an interval tree").
      
      So make set_blocksize() use mapping_mapped() instead of open-coding the
      internal VM knowledge that has changed.
      
      * 'for-3.7/core' of git://git.kernel.dk/linux-block: (26 commits)
        block: makes bio_split support bio without data
        scatterlist: refactor the sg_nents
        scatterlist: add sg_nents
        fs: fix include/percpu-rwsem.h export error
        percpu-rw-semaphore: fix documentation typos
        fs/block_dev.c:1644:5: sparse: symbol 'blkdev_mmap' was not declared
        blockdev: turn a rw semaphore into a percpu rw semaphore
        Fix a crash when block device is read and block size is changed at the same time
        block: fix request_queue->flags initialization
        block: lift the initial queue bypass mode on blk_register_queue() instead of blk_init_allocated_queue()
        block: ioctl to zero block ranges
        block: Make blkdev_issue_zeroout use WRITE SAME
        block: Implement support for WRITE SAME
        block: Consolidate command flag and queue limit checks for merges
        block: Clean up special command handling logic
        block/blk-tag.c: Remove useless kfree
        block: remove the duplicated setting for congestion_threshold
        block: reject invalid queue attribute values
        block: Add bio_clone_bioset(), bio_clone_kmalloc()
        block: Consolidate bio_alloc_bioset(), bio_kmalloc()
        ...
      ce40be7a
  2. 10 Oct, 2012 22 commits