1. 19 12月, 2010 4 次提交
    • S
      omap4: l2x0: Set share override bit · b0f20ff9
      Santosh Shilimkar 提交于
      Clearing bit 22 in the PL310 Auxiliary Control register (shared
      attribute override enable) has the side effect of transforming Normal
      Shared Non-cacheable reads into Cacheable no-allocate reads.
      
      Coherent DMA buffers in Linux always have a Cacheable alias via the
      kernel linear mapping and the processor can speculatively load cache
      lines into the PL310 controller. With bit 22 cleared, Non-cacheable
      reads would unexpectedly hit such cache lines leading to buffer
      corruption
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b0f20ff9
    • M
      omap4: l2x0: enable instruction and data prefetching · 11e02640
      Mans Rullgard 提交于
      Enabling L2 prefetching improves performance as shown on Panda
      ES2.1 board with mem test, and it has measurable impact on
      performances. I think we should consider it, even though it damages
      "writes" a bit. (rebased to k.org)
      Usually the prefetch is used at both levels together L1 + L2, however,
      to enable the CP15 prefetch engines, these are under security, and on
      GP devices, we cannot enable it(e.g. on PandaBoard). However, just
      enabling PL310 prefetch seems to provide performance improvement,
      as shown in the data below (from Ubuntu) and would be a great thing
      to pull in.
      
      What prefetch does is enable automatic next line prefetching. With this
      enabled, whenever the PL310 receives a cachable read request, it
      automatically prefetches the following cache line as well.
      
      Measurement Data:
      ==
      STOCK 10.10 WITHOUT PATCH
      
      ========================
      ~# ./memspeed
      size    8388608 8192k 8M
      offset  8388608, 0
      buffers 0x2aaad000 0x2b2ad000
      copy  libc          133 MB/s
      copy  Android v5    273 MB/s
      copy  Android NEON  235 MB/s
      copy  INT32         116 MB/s
      copy  ASM ARM       187 MB/s
      copy  ASM VLDM 64   204 MB/s
      copy  ASM VLDM 128  173 MB/s
      copy  ASM VLD1      216 MB/s
      read  ASM ARM       286 MB/s
      read  ASM VLDM      242 MB/s
      read  ASM VLD1      286 MB/s
      write libc         1947 MB/s
      write ASM ARM      1943 MB/s
      write ASM VSTM     1942 MB/s
      write ASM VST1     1935 MB/s
      
      10.10 + PATCH
      =============
      ~# ./memspeed
      size    8388608 8192k 8M
      offset  8388608, 0
      buffers 0x2ab17000 0x2b317000
      copy  libc          129 MB/s
      copy  Android v5    256 MB/s
      copy  Android NEON  356 MB/s
      copy  INT32         127 MB/s
      copy  ASM ARM       321 MB/s
      copy  ASM VLDM 64   337 MB/s
      copy  ASM VLDM 128  321 MB/s
      copy  ASM VLD1      350 MB/s
      read  ASM ARM       496 MB/s
      read  ASM VLDM      470 MB/s
      read  ASM VLD1      488 MB/s
      write libc         1701 MB/s
      write ASM ARM      1682 MB/s
      write ASM VSTM     1693 MB/s
      write ASM VST1     1681 MB/s
      Signed-off-by: NMans Rullgard <mans@mansr.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      11e02640
    • S
      omap4: l2x0: Construct the AUXCTRL value using defines · 1773e60a
      Santosh Shilimkar 提交于
      This patch removes the hardcoded value of auxctrl value and
      construct it using bitfields
      
      Bit 25 is reserved and is always set to 1. Same value
      of this bit is retained in this patch
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1773e60a
    • S
      ARM: l2x0: Add aux control register bitfields · 0aaa6f8f
      Santosh Shilimkar 提交于
      This patch adds the PL310 Auxiliary Control Register bitfields
      so that SOC's can use these bit fields to construct the AUXCTRL
      value to be passed/programmed instead of hardcoding it.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0aaa6f8f
  2. 15 12月, 2010 3 次提交
  3. 13 12月, 2010 3 次提交
  4. 11 12月, 2010 1 次提交
    • P
      OMAP2: PRCM: fix some SHIFT macros that were actually bitmasks · c2015dc8
      Paul Walmsley 提交于
      After Charu's GPIO hwmod patches, GPIO initialization on N800 emits
      the following messages for all GPIO banks:
      
      omap_hwmod: gpio1: cannot be enabled (3)
      
      This is due to OMAP24XX_ST_GPIOS_SHIFT being defined as a bitmask.
      Fix this and also fix two other macros that had the same problem.
      
      Thanks to Tony Lindgren <tony@atomide.com> for originally reporting
      this bug.
      
      Signed-off-by: Paul Walmsley <paul@pwsan.com
      Cc: Charulatha Varadarajan <charu@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c2015dc8
  5. 10 12月, 2010 2 次提交
  6. 08 12月, 2010 2 次提交
    • A
      arm: omap2: io: fix clk_get() error check · e281f7ec
      Aaro Koskinen 提交于
      clk_get() return value should be checked with IS_ERR().
      Signed-off-by: NAaro Koskinen <aaro.koskinen@nokia.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e281f7ec
    • V
      ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks · 812c4e40
      Vasily Khoruzhick 提交于
      Currently the {set,get}_pull callbacks of the s3c24xx_gpiocfg_default structure
      are initalized via s3c_gpio_{get,set}pull_1up. This results in a linker
      error when only CONFIG_CPU_S3C2442 is selected:
      
      arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f4): undefined reference to
      `s3c_gpio_getpull_1up'
      arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f8): undefined reference to
      `s3c_gpio_setpull_1up'
      
      The s3c2442 has pulldowns instead of pullups compared to the s3c2440.
      The method of controlling them is the same though.
      So this patch modifies the existing s3c_gpio_{get,set}pull_1up helper functions
      to take an additional parameter deciding whether the pin has a pullup or pulldown.
      The s3c_gpio_{get,set}pull_1{down,up} functions then wrap that functions passing
      either S3C_GPIO_PULL_UP or S3C_GPIO_PULL_DOWN.
      
      Furthermore this patch sets up the s3c24xx_gpiocfg_default.{get,set}_pull fields
      in the s3c244{0,2}_map_io function to the new pulldown helper functions.
      
      Based on patch from "Lars-Peter Clausen" <lars@metafoo.de>
      Signed-off-by: NVasily Khoruzhick <anarsoul@gmail.com>
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      812c4e40
  7. 07 12月, 2010 3 次提交
  8. 06 12月, 2010 1 次提交
  9. 04 12月, 2010 3 次提交
  10. 03 12月, 2010 1 次提交
  11. 01 12月, 2010 6 次提交
  12. 30 11月, 2010 11 次提交