1. 11 11月, 2010 1 次提交
  2. 06 11月, 2010 1 次提交
  3. 23 10月, 2010 7 次提交
  4. 13 10月, 2010 1 次提交
  5. 12 10月, 2010 2 次提交
    • P
      OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish · 0e4905c0
      Peter Ujfalusi 提交于
      Implement the suggested workaround for OMAP3 regarding to sDMA draining
      issue, when the channel is disabled on the fly.
      This errata affects the following configuration:
      sDMA transfer is source synchronized
      Buffering is enabled
      SmartStandby is selected.
      
      The issue can be easily reproduced by creating overrun situation while
      recording audio.
      Either introduce load to the CPU:
      nice -19 arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null & \
      dd if=/dev/urandom of=/dev/null
      
      or suspending the arecord, and resuming it:
      arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null
      CTRL+Z; fg; CTRL+Z; fg; ...
      
      In case of overrun audio stops DMA, and restarts it (without reseting
      the sDMA channel). When we hit this errata in stop case (sDMA drain did
      not complete), at the coming start the sDMA will not going to be
      operational (it is still draining).
      This leads to DMA stall condition.
      On OMAP3 we can recover with sDMA channel reset, it has been observed
      that by introducing unrelated sDMA activity might also help (reading
      from MMC for example).
      
      The same errata exists for OMAP2, where the suggestion is to disable the
      buffering to avoid this type of error.
      On OMAP3 the suggestion is to set sDMA to NoStandby before disabling
      the channel, and wait for the drain to finish, than configure sDMA to
      SmartStandby again.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by : Santosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by : Manjunath Kondaiah G <manjugk@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0e4905c0
    • 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
  6. 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
  7. 08 10月, 2010 1 次提交
  8. 06 10月, 2010 2 次提交
  9. 05 10月, 2010 2 次提交
  10. 02 10月, 2010 3 次提交
  11. 30 9月, 2010 4 次提交
  12. 29 9月, 2010 2 次提交
  13. 28 9月, 2010 2 次提交
新手
引导
客服 返回
顶部