1. 12 10月, 2010 1 次提交
    • J
      omap: dma: Fix buffering disable bit setting for omap24xx · 3e57f162
      Jarkko Nikula 提交于
      An errata workaround for omap24xx is not setting the buffering disable bit
      25 what is the purpose but channel enable bit 7 instead.
      
      Background for this fix is the DMA stalling issue with ASoC omap-mcbsp
      driver. Peter Ujfalusi <peter.ujfalusi@nokia.com> has found an issue in
      recording that the DMA stall could happen if there were a buffer overrun
      detected by ALSA and the DMA was stopped and restarted due that. This
      problem is known to occur on both OMAP2420 and OMAP3. It can recover on
      OMAP3 after dma free, dma request and reconfiguration cycle. However, on
      OMAP2420 it seems that only way to recover is a reset.
      
      Problem was not visible before the commit c12abc01. That commit changed that
      the McBSP transmitter/receiver is released from reset only when needed. That
      is, only enabled McBSP transmitter without transmission was able to prevent
      this DMA stall problem in receiving side and underlying problem did not show
      up until now. McBSP transmitter itself seems to no be reason since DMA
      stall does not recover by enabling the transmission after stall.
      
      Debugging showed that there were a DMA write active during DMA stop time and
      it never completed even when restarting the DMA. Experimenting showed that
      the DMA buffering disable bit could be used to avoid stalling when using
      source synchronized transfers. However that could have performance hit and
      OMAP3 TRM states that buffering disable is not allowed for destination
      synchronized transfers so subsequent patch will implement a method to
      complete DMA writes when stopping.
      
      This patch is based on assumtion that complete lock-up on OMAP2420 is
      different but related problem. I don't have access to OMAP2420 errata but
      I believe this old workaround here is put for a reason but unfortunately
      a wrong bit was typed and problem showed up only now.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NManjunath Kondaiah G <manjugk@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3e57f162
  2. 09 10月, 2010 12 次提交
    • J
      OMAP: McBSP: Swap CLKS source definition · e4cc41d7
      Jarkko Nikula 提交于
      This is just a readability and debugging improvement. As selection bit in
      DEVCONF register is cleared when using 96 MHz PRCM source and set when using
      external CLKS pin, change definitions to be sync with these.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      e4cc41d7
    • P
      OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks · 6041c27f
      Paul Walmsley 提交于
      Reduce the amount of debugging generated by default when unused clocks
      are being disabled by the clock code.  The previous code would only
      generate debug-level messages, but some people who wished to run
      production kernels with debug-level messages enabled reported that the
      large number of clock disable messages were slowing boot.  Now to
      enable clock-by-clock disable messages, DEBUG needs to be defined in
      mach-omap2/clock.c.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tuukka Tikkanen <tuukka.tikkanen@nokia.com>
      Cc: Tim Bird <tim.bird@am.sony.com>
      6041c27f
    • P
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley 提交于
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5
    • P
      OMAP: split plat-omap/common.c · aa218daf
      Paul Walmsley 提交于
      Split plat-omap/common.c into three pieces:
      
      1. the 32KiHz sync timer and clocksource code, which now lives in
         plat-omap/counter_32k.c;
      
      2. the OMAP2+ common code, which has been moved to mach-omap2/common.c;
      
      3. and the remainder of the OMAP-wide common code, which includes the
         deprecated ATAGs code and a deprecated video RAM reservation function.
      
      The primary motivation for doing this is to move the OMAP2+-specific parts
      into an OMAP2+-specific file, so that build breakage related to the
      System Control Module code can be resolved.
      
      Benoît Cousson <b-cousson@ti.com> suggested a new filename and found
      some bugs in the counter_32k.c comments - thanks Benoît.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      aa218daf
    • P
      OMAP: McBSP: implement functional clock switching via clock framework · d1358657
      Paul Walmsley 提交于
      Previously the OMAP McBSP ASoC driver implemented CLKS switching by
      using omap_ctrl_{read,write}l() directly.  This is against policy; the OMAP
      System Control Module functions are not intended to be exported to drivers.
      These symbols are no longer exported, so as a result, the OMAP McBSP ASoC
      driver does not build as a module.
      
      Resolve the CLKS clock changing portion of this problem by creating a
      clock parent changing function that lives in
      arch/arm/mach-omap2/mcbsp.c, and modify the ASoC driver to use it.
      Due to the unfortunate way that McBSP support is implemented in ASoC
      and the OMAP tree, this symbol must be exported for use by
      sound/soc/omap/omap-mcbsp.c.
      
      Going forward, the McBSP device driver should be moved from
      arch/arm/*omap* into drivers/ or sound/soc/* and the CPU DAI driver
      should be implemented as a platform_driver as many other ASoC CPU DAI
      drivers are.  These two steps should resolve many of the layering
      problems, which will rapidly reappear during a McBSP hwmod/PM runtime
      conversions.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      d1358657
    • P
      OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c · cf4c87ab
      Paul Walmsley 提交于
      The OMAP ASoC McBSP code implemented CLKR and FSR signal muxing via
      direct System Control Module writes on OMAP2+.  This required the
      omap_ctrl_{read,write}l() functions to be exported, which is against
      policy: the only code that should call those functions directly is
      OMAP core code, not device drivers.  omap_ctrl_{read,write}*() are no
      longer exported, so the driver no longer builds as a module.
      
      Fix the pinmuxing part of the problem by removing calls to
      omap_ctrl_{read,write}l() from the OMAP ASoC McBSP code and
      implementing signal muxing functions in arch/arm/mach-omap2/mcbsp.c.
      Due to the unfortunate way that McBSP support is implemented in ASoC
      and the OMAP tree, these symbols must be exported for use by
      sound/soc/omap/omap-mcbsp.c.
      
      Going forward, the McBSP device driver should be moved from
      arch/arm/*omap* into drivers/ or sound/soc/*, and the CPU DAI driver
      should be implemented as a platform_driver as many other ASoC CPU DAI
      drivers are.  These two steps should resolve many of the layering
      problems, which will rapidly reappear during a McBSP hwmod/PM runtime
      conversion.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      cf4c87ab
    • P
      OMAP2420: CTRL: fix OMAP242X_CTRL_REGADDR macro · 54164bb2
      Paul Walmsley 提交于
      Conform the OMAP2420_CTRL_BASE macro name to the standard of the rest of the
      OMAP*_CTRL_BASE macro names.  This fixes a bug in the OMAP2420 SCM code that
      prevented OMAP242X_CTRL_REGADDR from working.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      54164bb2
    • R
      omap: hwmod: Handle modules with 16bit registers · cc7a1d2a
      Rajendra Nayak 提交于
      Some modules which have 16bit registers can cause imprecise
      aborts if a __raw_readl/writel is used to read/write 32 bits.
      
      Add an additional flag to identify modules which have such
      hard requirement, and handle it in the hwmod framework.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      cc7a1d2a
    • E
      omap3: Add minimal OMAP3 IGEP module support · e844b1da
      Enric Balletbo i Serra 提交于
      The OMAP3 IGEP module is a low-power, high performance production-ready
      system-on-module (SOM) based on TI's OMAP3 family. More about this
      board at www.igep.es.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      [tony@atomide.com: updated for the mmc changes and to be selected by default]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e844b1da
    • M
      OMAP: plat-omap: Fix static function warnings · b0a330dc
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due non declarations of static functions.
      
      arch/arm/plat-omap/sram.c:130:13: warning: symbol 'omap_detect_sram' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:216:13: warning: symbol 'omap_map_sram' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:450:12: warning: symbol 'omap_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:348:12: warning: symbol 'omap242x_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:369:12: warning: symbol 'omap243x_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:425:12: warning: symbol 'omap34xx_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:441:12: warning: symbol 'omap44xx_sram_init' was not declared. Should it be static
      
      arch/arm/plat-omap/mcbsp.c:36:6: warning: symbol 'omap_mcbsp_write' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:50:5: warning: symbol 'omap_mcbsp_read' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:65:6: warning: symbol 'omap_mcbsp_st_write' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:70:5: warning: symbol 'omap_mcbsp_st_read' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:1648:15: warning: symbol 'omap_st_add' was not declared. Should it be static?
      
      arch/arm/plat-omap/fb.c:414:15: warning: symbol 'omapfb_reserve_sram' was not declared. Should it be static?
      arch/arm/plat-omap/cpu-omap.c:43:5: warning: symbol 'omap_verify_speed' was not declared. Should it be static?
      arch/arm/plat-omap/cpu-omap.c:61:14: warning: symbol 'omap_getspeed' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b0a330dc
    • M
      OMAP2plus: Fix static function warnings · 04aeae77
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due non declarations of static functions.
      
      arch/arm/mach-omap2/timer-gp.c:115:12: warning: symbol 'omap2_gp_clockevent_set_gptimer' was not declared. Should it be static?
      arch/arm/mach-omap2/powerdomain.c:993:5: warning: symbol 'pwrdm_set_lowpwrstchange' was not declared. Should it be static?
      arch/arm/mach-omap2/board-flash.c:141:8: warning: symbol 'board_nand_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-n8x0.c:416:6: warning: symbol 'n8x0_mmc_slot1_cover_handler' was not declared. Should it be static?
      arch/arm/mach-omap2/board-n8x0.c:544:13: warning: symbol 'n8x0_mmc_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-peripherals.c:902:13: warning: symbol 'rx51_peripherals_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-video.c:107:13: warning: symbol 'rx51_video_mem_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-zoom-debugboard.c:155:12: warning: symbol 'zoom_debugboard_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-zoom-peripherals.c:280:13: warning: symbol 'zoom_peripherals_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-igep0020.c:110:13: warning: symbol 'igep2_flash_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-am3517evm.c:109:6: warning: symbol 'am3517_evm_ethernet_init' was not declared. Should it be static?
      drivers/mtd/onenand/omap2.c:577:5: warning: symbol 'omap2_onenand_rephase' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      04aeae77
    • M
      OMAP: mach-omap2: Fix static declaration warnings · 38815733
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due to non declaration of
      static structures and variables.
      
      Sparse warning logs fixed:
      arch/arm/mach-omap2/control.c:88:6: warning: symbol 'omap3_secure_ram_storage' was not declared. Should it be static?
      n
      arch/arm/mach-omap2/timer-gp.c:50:22: warning: symbol 'gptimer_wakeup' was not declared. Should it be static?
      arch/arm/mach-omap2/timer-gp.c:240:18: warning: symbol 'omap_timer' was not declared. Should it be static?
      arch/arm/mach-omap2/prcm.c:121:24: warning: symbol 'prcm_context' was not declared. Should it be static?
      arch/arm/mach-omap2/mux2420.c:510:29: warning: symbol 'omap2420_pop_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux2430.c:589:29: warning: symbol 'omap2430_pop_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:934:28: warning: symbol 'omap3_cus_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1080:29: warning: symbol 'omap3_cus_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1272:28: warning: symbol 'omap3_cbb_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1393:29: warning: symbol 'omap3_cbb_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1603:28: warning: symbol 'omap36xx_cbp_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1821:29: warning: symbol 'omap36xx_cbp_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/pm-debug.c:165:15: warning: symbol 'pm_dbg_dir' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3evm.c:587:30: warning: symbol 'ads7846_config' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3evm.c:606:23: warning: symbol 'omap3evm_spi_board_info' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-sdram.c:46:25: warning: symbol 'rx51_sdrc_params' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-sdram.c:211:25: warning: symbol 'rx51_get_sdram_timings' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3touchbook.c:64:15: warning: symbol 'touchbook_revision' was not declared. Should it be static?
      arch/arm/mach-omap2/board-am3517evm.c:350:24: warning: symbol 'am3517_evm_dss_device' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3stalker.c:567:23: warning: symbol 'omap3stalker_spi_board_info' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      38815733
  3. 05 10月, 2010 1 次提交
  4. 02 10月, 2010 3 次提交
  5. 30 9月, 2010 4 次提交
  6. 29 9月, 2010 2 次提交
  7. 28 9月, 2010 11 次提交
  8. 25 9月, 2010 1 次提交
  9. 24 9月, 2010 5 次提交
    • S
      omap4: Fix bootup crash observed with higher CPU clocks · e7193cc8
      Santosh Shilimkar 提交于
      This patch is temporary fix to below crash. This is observed when
      CPU is clocked more than 600 MHz.
      
      Unhandled fault: imprecise external abort (0x1406) at 0xbf9ef65c
      Internal error: : 1406 [#1] PREEMPT SMP
      last sysfs file:
      Modules linked in:
      CPU: 0    Not tainted  (2.6.36-rc3+ #18)
      PC is at kernel_thread_helper+0x0/0x14
      LR is at kernel_thread_helper+0x0/0x14
      pc : [<c003ce14>]    lr : [<c003ce14>]    psr: 00000093
      sp : dc83bff8  ip : 00000000  fp : 00000000
      r10: 00000000  r9 : 00000000  r8 : 00000000
      r7 : 00000013  r6 : c003ce28  r5 : c008935c  r4 : 00000000
      r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
      Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c53c7f  Table: 8000404a  DAC: 00000017
      Process swapper (pid: 2, stack limit = 0xdc83a2f0)
      Stack: (0xdc83bff8 to 0xdc83c000)
      bfe0: 00000000 ffffffff
      [<c003ce14>] (kernel_thread_helper+0x0/0x14) from [<fffffffe>] (0xfffffffe)
      Code: c03a0ba3 c03a5fcb c045c880 c0394035 (eb017701)
      ---[ end trace 1b75b31a2719ed1c ]---
      
      The timer hwmod adaptation will eventually fix it in a proper way.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      e7193cc8
    • D
      omap4: Panda: Add DEBUG_LL support · b5be6b66
      David Anders 提交于
      Add support for use of DEBUG_LL for use with PandaBoard.
      Signed-off-by: NDavid Anders <x0132446@ti.com>
      b5be6b66
    • S
      omap4: Update id.c and cpu.h for es2.0 · ed6be0ba
      Santosh Shilimkar 提交于
      This patch updates the id.c and cpu.h files to support
      omap4 ES2.0 silicon detection. Few initial omap4 es2 samples
      IDCODE is same as es1. So the patch uses ARM cpuid register to
      detect the ES version for such samples
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      ed6be0ba
    • V
      omap4: sram: Fix start address · f47d8c69
      Vikram Pandita 提交于
      On OMAP4 there is no need to have SRAM_BOOTLOADER_SZ provision
      
      Hence put this macro under CONFIG_ARCH_OMAP2PLUS check
      Signed-off-by: NVikram Pandita <vikram.pandita@ti.com>
      Reviewed-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      f47d8c69
    • V
      omap: sram: fix is_sram_locked check · 2a27753f
      Vikram Pandita 提交于
      For OMAP24xx/34xx/44xx: omap_type() returns the correct type:
       OMAP2_DEVICE_TYPE_TEST
       OMAP2_DEVICE_TYPE_EMU
       OMAP2_DEVICE_TYPE_SEC
       OMAP2_DEVICE_TYPE_GP
       OMAP2_DEVICE_TYPE_BAD
      
      In current implementation there are two problems:
      Problem 1:
      For 34xx, the current if check will never return true.
      
      Problem 2:
      For 24xx the correct type check should be with omap_type() function
      Verified by checking the TRM 24xx for CONTROL_STATUS register bits
      Signed-off-by: NVikram Pandita <vikram.pandita@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      2a27753f