1. 21 Dec, 2010 22 commits
  2. 18 Dec, 2010 11 commits
    • Santosh Shilimkar's avatar
      omap4: l2x0: Enable early BRESP bit · b89cd71a
      Santosh Shilimkar authored
      The AXI protocol specifies that the write response can only
      be sent back to an AXI master when the last write data has been
      accepted. This optimization enables the PL310 to send the write
      response of certain write transactions as soon as the store buffer
      accepts the write address. This behavior is not compatible with
      the AXI protocol and is disabled by default. You enable this
      optimization by setting the Early BRESP Enable bit in the
      Auxiliary Control Register (bit [30]).
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarMans Rullgard <mans@mansr.com>
      Tested-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b89cd71a
    • Santosh Shilimkar's avatar
      omap4: l2x0: Set share override bit · b0f20ff9
      Santosh Shilimkar authored
      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: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b0f20ff9
    • Mans Rullgard's avatar
      omap4: l2x0: enable instruction and data prefetching · 11e02640
      Mans Rullgard authored
      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: default avatarMans Rullgard <mans@mansr.com>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      11e02640
    • Santosh Shilimkar's avatar
      omap4: l2x0: Construct the AUXCTRL value using defines · 1773e60a
      Santosh Shilimkar authored
      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: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      1773e60a
    • Santosh Shilimkar's avatar
      ARM: l2x0: Add aux control register bitfields · 0aaa6f8f
      Santosh Shilimkar authored
      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: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      0aaa6f8f
    • Tony Lindgren's avatar
      c7d3e9e8
    • Anand Gadiyar's avatar
      omap: remove dead wdt code in plat-omap/devices.c · 6bc56aae
      Anand Gadiyar authored
      Commit f2ce6231 (OMAP: WDT: Split OMAP1 and OMAP2PLUS device
      registration) removed omap_init_wdt and related structures from
      plat-omap/devices.c. However a subsequent commit or merge
      seems to have reintroduced these by accident. The caller of
      omap_init_wdt was also removed by that commit, and this did
      not get restored. So we have the following build warning now:
      
        CC      arch/arm/plat-omap/devices.o
      arch/arm/plat-omap/devices.c:252: warning: 'omap_init_wdt' defined but not used
      
      Fix this by removing this dead code.
      Signed-off-by: default avatarAnand Gadiyar <gadiyar@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      6bc56aae
    • John Rigby's avatar
      OMAP4: enable smc instruction in new assembler versions · fe297dde
      John Rigby authored
      New assemblers need -march=armv7-a+sec on command line or
      .arch_extension sec inline to enable use of the smc instruction.
      
      This patch uses as-instr to check the latter to conditionally
      enable the former in AFLAGS for files that use smc.
      
      Checked on both old and new binutils to verify that it does
      not break old versions.
      Signed-off-by: default avatarJohn Rigby <john.rigby@linaro.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      fe297dde
    • Bryan Wu's avatar
      omap: kill all section mismatch warning for omap2plus_defconfig · 1a6b5923
      Bryan Wu authored
      This patch will kill following section mismatch warnings:
      
      WARNING: vmlinux.o(.text+0x24a00): Section mismatch in reference from the function zoom_twl_gpio_setup() to the (unknown reference) .init.data:(unknown)
      The function zoom_twl_gpio_setup() references
      the (unknown reference) __initdata (unknown).
      This is often because zoom_twl_gpio_setup lacks a __initdata
      annotation or the annotation of (unknown) is wrong.
      
      WARNING: vmlinux.o(.text+0x24bfc): Section mismatch in reference from the function cm_t35_twl_gpio_setup() to the (unknown reference) .init.data:(unknown)
      The function cm_t35_twl_gpio_setup() references
      the (unknown reference) __initdata (unknown).
      This is often because cm_t35_twl_gpio_setup lacks a __initdata
      annotation or the annotation of (unknown) is wrong.
      
      WARNING: vmlinux.o(.data+0x1d3e0): Section mismatch in reference from the variable h4_config to the (unknown reference) .init.data:(unknown)
      The variable h4_config references
      the (unknown reference) __initdata (unknown)
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      WARNING: vmlinux.o(.data+0x1dc08): Section mismatch in reference from the variable sdp2430_config to the (unknown reference) .init.data:(unknown)
      The variable sdp2430_config references
      the (unknown reference) __initdata (unknown)
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      WARNING: vmlinux.o(.data+0x1e1d8): Section mismatch in reference from the variable apollon_config to the (unknown reference) .init.data:(unknown)
      The variable apollon_config references
      the (unknown reference) __initdata (unknown)
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      1a6b5923
    • Ohad Ben-Cohen's avatar
      omap: boards w/ wl12xx should select REGULATOR_FIXED_VOLTAGE · 7c50152f
      Ohad Ben-Cohen authored
      Power to the wl12xx wlan device is controlled by a fixed regulator.
      
      Boards that have the wl12xx should select REGULATOR_FIXED_VOLTAGE so
      users will not be baffled.
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      7c50152f
    • Jean Pihet's avatar
      OMAP3: add comments for erratas i540 and i478 workarounds · 447b8da5
      Jean Pihet authored
      Add comments and IDs for the following erratas:
      - i540: MPU cannot exit from Standby,
      - i478: Unexpected Cold-Reset is generated when device is coming
         back from OFF mode
      Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      447b8da5
  3. 17 Dec, 2010 7 commits