1. 17 3月, 2012 1 次提交
  2. 12 3月, 2012 6 次提交
  3. 09 3月, 2012 1 次提交
  4. 06 3月, 2012 7 次提交
    • F
      ARM: OMAP: mailbox: trivial whitespace fix · 44c568a8
      Felipe Contreras 提交于
      Trivial whitespace fix
      Signed-off-by: NFelipe Contreras <felipe.contreras@nokia.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      44c568a8
    • J
      ARM: OMAP: Remove definition cpu_is_omap4430() · a90180d1
      Jon Hunter 提交于
      The definition cpu_is_omap4430() always returns 0 even when CONFIG_ARCH_OMAP4
      is enabled. This macro should be removed and the macro cpu_is_omap443x() should
      be used where needed for OMAP4430 devices.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a90180d1
    • D
      ARM: OMAP: clock.c: included linux/debugfs.h twice · 7bb83085
      Danny Kukawka 提交于
      arch/arm/plat-omap/clock.c: included 'linux/debugfs.h' twice,
      remove the duplicate.
      Signed-off-by: NDanny Kukawka <danny.kukawka@bisect.de>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7bb83085
    • V
      ARM: OMAP: sram: Add am33xx SRAM support (minimal) · b4c0a8a7
      Vaibhav Bedia 提交于
      Update SRAM start & size for am33xx SoC's.
      
      Note: cpu_is_34xx() is true for am33xx also. Doing
      cpu_is_am33xx() check after cpu_is_34xx() will not
      achieve what we want due to the above reason.
      Hence cpu_is_am33xx() is done before cpu_is_34xx()
      Signed-off-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b4c0a8a7
    • T
      ARM: OMAP: dmtimer: fix missing content/correction in low-power mode support · dffc9dae
      Tarun Kanti DebBarma 提交于
      Since omap_dm_timer_write_reg/__omap_dm_timer_write is now modified
      to use timer->func_base OCP_CFG should not use this wrapper anymore.
      Instead use __raw_writel() directly and use timer->io_base instead
      to write to OCP_CFG.
      
      The timer->sys_stat is valid only if timer->revision is 1. In the
      context restore function make this correction.
      
      Save the contexts and loss count when timer is stopped.
      Also, disable the clock. Else, clock usecount would become imbalanced.
      Signed-off-by: NTarun Kanti DebBarma <tarun.kanti@ti.com>
      Tested-by: NOmar Ramirez Luna <omar.ramirez@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dffc9dae
    • P
      ARM: OMAP2+: omap_device: call all suspend, resume callbacks when... · b7c39a3f
      Paul Walmsley 提交于
      ARM: OMAP2+: omap_device: call all suspend, resume callbacks when OMAP_DEVICE_NO_IDLE_ON_SUSPEND is set
      
      During system suspend, when OMAP_DEVICE_NO_IDLE_ON_SUSPEND is set on
      an omap_device, call the corresponding driver's ->suspend() and
      ->suspend_noirq() callbacks (if present).  Similarly, during resume,
      the driver's ->resume() and ->resume_noirq() callbacks must both be
      called, if present.  (The previous code only called ->suspend_noirq()
      and ->resume_noirq().)
      
      If all of these callbacks aren't called, some important driver
      suspend/resume code may not get executed.
      
      In current mainline, the bug fixed by this patch is only a problem
      under the following conditions:
      
      - the kernel is running on an OMAP4
      
      - an OMAP UART is used as a console
      
      - the kernel command line parameter 'no_console_suspend' is specified
      
      - and the system enters suspend ("echo mem > /sys/power/state").
      
      Under this combined circumstance, the system cannot be awakened via
      the serial port after commit be4b0281c
      ("tty: serial: OMAP: block idle while the UART is transferring data in
      PIO mode").  This is because the OMAP UART driver's ->suspend()
      callback is never called.  The ->suspend() callback would have called
      uart_suspend_port() which in turn would call enable_irq_wake().  Since
      enable_irq_wake() isn't called for the UART's IRQ, check_wakeup_irqs()
      would mask off the UART IRQ in the GIC.
      
      On v3.3 kernels prior to the above commit, serial resume from suspend
      presumably occurred via the PRCM interrupt.  The UART was in
      smart-idle mode, so it was able to send a PRCM wakeup which in turn
      would be converted into a PRCM interrupt to the GIC, waking up the
      kernel.  But after the above commit, when the system is suspended in
      the middle of a UART transmit, the UART IP block would be in no-idle
      mode.  In no-idle mode, the UART won't generate wakeups to the PRCM
      when incoming characters are received; only GIC interrupts.  But since
      the UART driver's ->suspend() callback is never called,
      uart_suspend_port() and enable_irq_wake() is never called; so the UART
      interrupt is masked by check_wakeup_irqs() and the UART can't wake up
      the MPU.
      
      The remaining mechanism that could have awakened the system would have
      been I/O chain wakeups.  These wouldn't be active because the console
      UART's clocks are never disabled when no_console_suspend is used,
      preventing the full chip from idling.  Also, current mainline doesn't
      yet support full chip idle states for OMAP4, so I/O chain wakeups are
      not enabled.
      
      This patch is the result of a collaboration.  John Stultz
      <johnstul@us.ibm.com> and Andy Green <andy.green@linaro.org> reported
      the serial wakeup problem that led to the discovery of this problem.
      Kevin Hilman <khilman@ti.com> narrowed the problem down to the use of
      no_console_suspend.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: John Stultz <johnstul@us.ibm.com>
      Cc: Andy Green <andy.green@linaro.org>
      Reviewed-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      b7c39a3f
    • K
      ARM: OMAP: omap_device: remove omap_device_parent · 3ec2decb
      Kevin Hilman 提交于
      Currently all omap_devices are forced to have the dummy device
      'omap_device_parent' as a parent.  This was used to distinguish
      omap_devices from "normal" platform_devices in the OMAP PM core code.
      
      Now that we implement the PM core using PM domains, this is no longer
      needed, and is removed.
      
      This also frees up omap_devices to have a more complex parent/child
      relationships that model actual device relationships.
      
      The only in-tree user of omap_device_parent was the OMAP PM layer to
      handle lost-context count for omap_devices.  That is now converted to
      use the presence of the omap_device_pm_domain instead.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      3ec2decb
  5. 29 2月, 2012 1 次提交
    • C
      ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts · 5a3ff847
      Cousson, Benoit 提交于
      The following commit: 2f31b516
      Author: Tero Kristo <t-kristo@ti.com>
      Date:   Fri Dec 16 14:37:00 2011 -0700
      
          ARM: OMAP4: PRM: use PRCM interrupt handler
      
      introduced the PRCM interrupt handler and thus the need
      for 64 more interrupts. Since SPARSE_IRQ is still not fully
      functional on OMAP, the NR_IRQS needs to be updated to avoid
      the failure that happen during irq_alloc_descs call inside
      the PRCM driver:
      
      [    0.208221] PRCM: failed to allocate irq descs: -12
      
      Later the mux framework is then unable to request an IRQ from
      the PRCM interrupt handler.
      
      [    1.802795] mux: Failed to setup hwmod io irq -22
      
      Fix that by adding 64 more interrupts for OMAP2PLUS config.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      5a3ff847
  6. 25 2月, 2012 9 次提交
  7. 23 2月, 2012 8 次提交
  8. 22 2月, 2012 2 次提交
  9. 21 2月, 2012 1 次提交
    • O
      ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register} · 993e4fbd
      Ohad Ben-Cohen 提交于
      Expose omap_device_{alloc, delete, register} so we can use them outside
      of omap_device.c.
      
      This approach allows users, which need to manipulate an archdata member
      of a device before it is registered, to do so. This is also useful
      for users who have their devices created very early so they can be used
      at ->reserve() time to reserve CMA memory.
      
      The immediate use case for this is to set the private iommu archdata
      member, which binds a device to its associated iommu controller.
      This way, generic code will be able to attach omap devices to their
      iommus, without calling any omap-specific API.
      
      With this in hand, we can further clean the existing mainline OMAP iommu
      driver and its mainline users, and focus on generic IOMMU approaches
      for future users (rpmsg/remoteproc and the upcoming generic DMA API).
      
      This patch is still considered an interim solution until DT fully materializes
      for omap; at that point, this functionality will be removed as DT will
      take care of creating the devices and configuring them correctly.
      
      Tested on OMAP4 with a generic rpmsg/remoteproc that doesn't use any
      omap-specific IOMMU API anymore.
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      993e4fbd
  10. 15 2月, 2012 1 次提交
  11. 08 2月, 2012 1 次提交
    • S
      ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains · fef67c51
      Santosh Shilimkar 提交于
      With the latest Sourcery G++ Lite 2011.03-41 and latest linaro
      tool-chains OMAP2 only build breaks with below error.
      
      arch/arm/mach-omap2/omap-smc.S: Assembler messages:
      arch/arm/mach-omap2/omap-smc.S:30: Error: selected processor does not support ARM mode `smc #0'
      arch/arm/mach-omap2/omap-smc.S:53: Error: selected processor does not support ARM mode `smc #0'
      arch/arm/mach-omap2/omap-smc.S:61: Error: selected processor does not support ARM mode `smc #0'
      arch/arm/mach-omap2/omap-smc.S:69: Error: selected processor does not support ARM mode `smc #0'
      arch/arm/mach-omap2/omap-smc.S:77: Error: selected processor does not support ARM mode `smc #0'
      make[1]: *** [arch/arm/mach-omap2/omap-smc.o] Error 1
      
      OMAP2 devices doesn't have the security support but the security support
      was getting built because of OMAP2PLUS. Don't build security code for
      OMAP2 devices.
      
      While at it, fix the secure-common line in the Makefile to use tabs
      instead of spaces.
      Reported-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      fef67c51
  12. 06 2月, 2012 2 次提交