1. 19 10月, 2012 1 次提交
  2. 18 10月, 2012 1 次提交
  3. 16 10月, 2012 1 次提交
  4. 21 9月, 2012 1 次提交
  5. 13 9月, 2012 2 次提交
    • T
      ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+ · dbc04161
      Tony Lindgren 提交于
      As the plat and mach includes need to disappear for single zImage work,
      we need to remove plat/hardware.h.
      
      Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.
      
      The old plat/hardware.h already has omap1 only defines, so it gets moved
      to mach/hardware.h for omap1. For omap2+, we use the local soc.h
      that for now just includes the related SoC headers to keep this patch more
      readable.
      
      Note that the local soc.h still includes plat/cpu.h that can be dealt
      with in later patches. Let's also include plat/serial.h from common.h for
      all the board-*.c files. This allows making the include files local later
      on without patching these files again.
      
      Note that only minimal changes are done in this patch for the
      drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
      patches are needed to eventually remove cpu_is_omap usage in the drivers.
      
      Also only minimal changes are done to sound/soc/omap/* to remove the
      unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
      no need to include omap44xx.h.
      
      While at it, also sort some of the includes in the standard way.
      
      Cc: linux-watchdog@vger.kernel.org
      Cc: alsa-devel@alsa-project.org
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dbc04161
    • T
      ARM: OMAP2+: Prepare for irqs.h removal · 7d7e1eba
      Tony Lindgren 提交于
      As the interrupts should only be defined in the platform_data, and
      eventually coming from device tree, there's no need to define them
      in header files.
      
      Let's remove the hardcoded references to irqs.h and fix up the includes
      so we don't rely on headers included in irqs.h. Note that we're
      defining OMAP_INTC_START as 0 to the interrupts. This will be needed
      when we enable SPARSE_IRQ. For some drivers we need to add
      #include <plat/cpu.h> for now until these drivers are fixed to
      remove cpu_is_omapxxxx() usage.
      
      While at it, sort som of the includes the standard way, and add
      the trailing commas where they are missing in the related data
      structures.
      
      Note that for drivers/staging/tidspbridge we just define things
      locally.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7d7e1eba
  6. 08 9月, 2012 1 次提交
  7. 09 7月, 2012 2 次提交
  8. 09 5月, 2012 1 次提交
    • B
      ARM: OMAP4: hsmmc: check for null pointer · 1ee47b0a
      Balaji T K 提交于
      platform_device pdev can be NULL if CONFIG_MMC_OMAP_HS is not set.
      Add check for NULL pointer. while at it move the duplicated functions
      to omap4-common.c
      
      Fixes the following boot crash seen with omap4sdp and omap4panda
      when MMC is disabled.
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000008c
      pgd = c0004000
      [0000008c] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0    Not tainted  (3.4.0-rc1-05971-ga4dfa82 #4)
      PC is at omap_4430sdp_init+0x184/0x410
      LR is at device_add+0x1a0/0x664
      Signed-off-by: NBalaji T K <balajitk@ti.com>
      Reported-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1ee47b0a
  9. 06 3月, 2012 1 次提交
    • R
      ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688 · cc4ad907
      R Sricharan 提交于
      While building modules with randconfig the below errors are observed.
      
      ERROR: "omap_bus_sync" [drivers/watchdog/sp805_wdt.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/watchdog/dw_wdt.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/virtio/virtio_ring.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/video/sm501fb.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/mon/usbmon.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/host/sl811-hcd.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/host/ohci-hcd.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/host/isp1760.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/host/isp1362-hcd.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/host/isp116x-hcd.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/usb/core/usbcore.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/tty/serial/altera_uart.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/tty/serial/altera_jtaguart.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/tty/serial/8250/8250_dw.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/ssb/ssb.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/rtc/rtc-cmos.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/rtc/rtc-bq4802.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/mtd/nand/tmio_nand.ko] undefined!
      ERROR: "omap_bus_sync" [drivers/mtd/nand/omap2.ko] undefined!
      Signed-off-by: NR Sricharan <r.sricharan@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      cc4ad907
  10. 15 2月, 2012 1 次提交
  11. 13 1月, 2012 1 次提交
    • R
      ARM: Add arm_memblock_steal() to allocate memory away from the kernel · 716a3dc2
      Russell King 提交于
      Several platforms are now using the memblock_alloc+memblock_free+
      memblock_remove trick to obtain memory which won't be mapped in the
      kernel's page tables.  Most platforms do this (correctly) in the
      ->reserve callback.  However, OMAP has started to call these functions
      outside of this callback, and this is extremely unsafe - memory will
      not be unmapped, and could well be given out after memblock is no
      longer responsible for its management.
      
      So, provide arm_memblock_steal() to perform this function, and ensure
      that it panic()s if it is used inappropriately.  Convert everyone
      over, including OMAP.
      
      As a result, OMAP with OMAP4_ERRATA_I688 enabled will panic on boot
      with this change.  Mark this option as BROKEN and make it depend on
      BROKEN.  OMAP needs to be fixed, or 137d105d (ARM: OMAP4: Fix
      errata i688 with MPU interconnect barriers.) reverted until such
      time it can be fixed correctly.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      716a3dc2
  12. 09 12月, 2011 5 次提交
  13. 18 11月, 2011 1 次提交
  14. 16 11月, 2011 1 次提交
  15. 16 6月, 2011 1 次提交
  16. 09 3月, 2011 1 次提交
  17. 19 12月, 2010 4 次提交
    • S
      omap4: l2x0: Enable early BRESP bit · b89cd71a
      Santosh Shilimkar 提交于
      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: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NMans Rullgard <mans@mansr.com>
      Tested-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b89cd71a
    • 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
  18. 15 12月, 2010 2 次提交
  19. 26 10月, 2010 1 次提交
  20. 24 9月, 2010 1 次提交
  21. 21 5月, 2010 1 次提交