1. 18 3月, 2015 2 次提交
  2. 08 1月, 2015 1 次提交
  3. 02 10月, 2014 1 次提交
  4. 19 9月, 2014 1 次提交
    • T
      ARM: OMAP: Remove unused pieces of legacy DMA API · 175655bd
      Tony Lindgren 提交于
      We're moving to the dmaengine API, so let's remove the unused
      pieces of the omap legacy DMA code to make sure we don't get
      any new users for these:
      
      omap_set_dma_color_mode
      omap_set_dma_src_index
      omap_set_dma_dest_index
      omap_dma_unlink_lch
      omap_clear_dma
      omap_dma_running
      omap_dma_set_prio_lch
      omap_set_dma_dst_endian_type
      omap_set_dma_src_endian_type
      omap_get_dma_index
      omap_dma_disable_irq
      omap_request_dma_chain
      omap_free_dma_chain
      omap_dma_chain_a_transfer
      omap_start_dma_chain_transfers
      omap_stop_dma_chain_transfers
      omap_get_dma_chain_index
      omap_get_dma_chain_dst_pos
      omap_get_dma_chain_src_pos
      omap_modify_dma_chain_params
      omap_dma_chain_status
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      175655bd
  5. 09 9月, 2014 1 次提交
  6. 22 7月, 2014 1 次提交
    • N
      ARM: OMAP2+: DMA: remove requirement of irq for platform-dma driver · 76be4a54
      Nishanth Menon 提交于
      we have currently 2 DMA drivers that try to co-exist.
      drivers/dma/omap-dma.c which registers it's own IRQ and is device tree
      aware and uses arch/arm/plat-omap/dma.c instance created by
      arch/arm/mach-omap2/dma.c to maintain channel usage (omap_request_dma).
      
      Currently both try to register interrupts and mach-omap2/plat-omap dma.c
      attempts to use the IRQ number registered by hwmod to register it's own
      interrupt handler.
      
      Now, there is no reasonable way of static allocating DMA irq in GIC
      SPI when we use crossbar. However, since the dma_chan structure is
      freed as a result of IRQ not being present due to devm allocation,
      maintaining information of channel by platform code fails at a later
      point in time when that region of memory is reused.
      
      So, if hwmod does not indicate an IRQ number, then, assume that
      dma-engine will take care of the interrupt handling.
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      76be4a54
  7. 01 7月, 2014 1 次提交
  8. 17 5月, 2014 1 次提交
    • T
      ARM: OMAP2+: Fix DMA hang after off-idle · 9ce2482f
      Tony Lindgren 提交于
      Commit 6ddeb6d8 (dmaengine: omap-dma: move IRQ handling to omap-dma)
      added support for handling interrupts in the omap dmaengine driver
      instead of the legacy driver. Because of different handling for
      interrupts this however caused omap3 to hang eventually after hitting
      off-idle.
      
      Any of the virtual 32 DMA channels can be assigned to any of the
      four DMA interrupts. So commit 6ddeb6d8 made the omap dmaengine
      driver to use the second DMA interrupt while keeping the legacy code
      still using the first DMA interrupt.
      
      This means we need to save and restore both IRQENABLE_L1 in addition
      to IRQENABLE_L0. As there is a chance that the DSP might be using
      IRQENABLE_L2 or IRQENABLE_L3 lines, let's not touch those until
      this has been confirmed. Let's just add a comment to the code for
      now.
      
      Fixes: 6ddeb6d8 (dmaengine: omap-dma: move IRQ handling to omap-dma)
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      9ce2482f
  9. 08 5月, 2014 3 次提交
  10. 04 4月, 2014 2 次提交
  11. 13 3月, 2014 1 次提交
  12. 21 12月, 2013 1 次提交
  13. 27 11月, 2013 1 次提交
  14. 22 11月, 2013 1 次提交
  15. 04 10月, 2013 1 次提交
  16. 21 8月, 2013 1 次提交
  17. 13 8月, 2013 1 次提交
  18. 18 6月, 2013 3 次提交
  19. 13 6月, 2013 1 次提交
  20. 12 6月, 2013 3 次提交
    • S
      mailbox/omap: move the OMAP mailbox framework to drivers · c869c75c
      Suman Anna 提交于
      The mailbox hardware (in OMAP) uses a queued mailbox interrupt
      mechanism that provides a communication channel between processors
      through a set of registers and their associated interrupt signals
      by sending and receiving messages.
      
      The OMAP mailbox framework/driver code is moved to be under
      drivers/mailbox, in preparation for adapting to a common mailbox
      driver framework. This allows the build for OMAP mailbox to be
      enabled (it was disabled during the multi-platform support).
      
      As part of the migration from plat and mach code:
      - Kconfig symbols have been renamed to build OMAP1 or OMAP2+ drivers.
      - mailbox.h under plat-omap/plat/include has been split into a public
        and private header files. The public header has only the API related
        functions and types.
      - The module name mailbox.ko from plat-omap is changed to
        omap-mailbox.ko
      - The module name mailbox_mach.ko from mach-omapX is changed as
          mailbox_omap1.ko for OMAP1
          mailbox_omap2.ko for OMAP2+
      
      Cc: Tony Lindgren <tony@atomide.com>
      [gregkh@linuxfoundation.org: ack for staging part]
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NOmar Ramirez Luna <omar.ramirez@copitl.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      c869c75c
    • S
      ARM: OMAP2+: mbox: remove dependencies with soc.h · b8a7cf8e
      Suman Anna 提交于
      The OMAP mailbox platform driver code has been cleaned up to
      remove the dependencies with soc.h in preparation for moving
      the mailbox code to drivers folder.
      
      The code relied on cpu_is_xxx/soc_is_xxx macros previously to
      pick the the right set of mailbox devices and register with the
      mailbox driver. This data is now represented in a concise format
      and moved to the respective omap_hwmod data files and published
      to the driver through the platform data.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      b8a7cf8e
    • S
      omap: mailbox: call request_irq after mbox queues are allocated · ecf305cf
      Suman Anna 提交于
      The OMAP mailbox startup code is enabling the interrupt before any
      of the associated mailbox queues are allocated. Move this code so
      that the interrupt configuration for a mailbox is together.
      Signed-off-by: NFernando Guzman Lugo <lugo.fernando@gmail.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      ecf305cf
  21. 03 5月, 2013 1 次提交
    • R
      ARM: OMAP: use consistent error checking · c48cd659
      Russell King 提交于
      Consistently check errors using the usual method used in the kernel
      for much of its history.  For instance:
      
      int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t)
      {
      	int div;
      	div = gpmc_calc_divider(t->sync_clk);
      	if (div < 0)
      		return div;
      static int gpmc_set_async_mode(int cs, struct gpmc_timings *t)
      {
      ...
      	return gpmc_cs_set_timings(cs, t);
      
      .....
      	ret = gpmc_set_async_mode(gpmc_onenand_data->cs, &t);
      	if (IS_ERR_VALUE(ret))
      		return ret;
      
      So, gpmc_cs_set_timings() thinks any negative return value is an error,
      but where we check that in higher levels, only a limited range are
      errors...
      
      There is only _one_ use of IS_ERR_VALUE() in arch/arm which is really
      appropriate, and that is in arch/arm/include/asm/syscall.h:
      
      static inline long syscall_get_error(struct task_struct *task,
      				     struct pt_regs *regs)
      {
      	unsigned long error = regs->ARM_r0;
      	return IS_ERR_VALUE(error) ? error : 0;
      }
      
      because this function really does have to differentiate between error
      return values and addresses which look like negative numbers (eg, from
      mmap()).
      
      So, here's a patch to remove them from OMAP, except for the above.
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c48cd659
  22. 09 4月, 2013 5 次提交
  23. 14 3月, 2013 1 次提交
    • R
      ARM: OMAP: use consistent error checking · 71856843
      Russell King 提交于
      Consistently check errors using the usual method used in the kernel
      for much of its history.  For instance:
      
      int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t)
      {
      	int div;
      	div = gpmc_calc_divider(t->sync_clk);
      	if (div < 0)
      		return div;
      static int gpmc_set_async_mode(int cs, struct gpmc_timings *t)
      {
      ...
      	return gpmc_cs_set_timings(cs, t);
      
      .....
      	ret = gpmc_set_async_mode(gpmc_onenand_data->cs, &t);
      	if (IS_ERR_VALUE(ret))
      		return ret;
      
      So, gpmc_cs_set_timings() thinks any negative return value is an error,
      but where we check that in higher levels, only a limited range are
      errors...
      
      There is only _one_ use of IS_ERR_VALUE() in arch/arm which is really
      appropriate, and that is in arch/arm/include/asm/syscall.h:
      
      static inline long syscall_get_error(struct task_struct *task,
      				     struct pt_regs *regs)
      {
      	unsigned long error = regs->ARM_r0;
      	return IS_ERR_VALUE(error) ? error : 0;
      }
      
      because this function really does have to differentiate between error
      return values and addresses which look like negative numbers (eg, from
      mmap()).
      
      So, here's a patch to remove them from OMAP, except for the above.
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      71856843
  24. 24 2月, 2013 1 次提交
  25. 02 2月, 2013 2 次提交
  26. 26 1月, 2013 1 次提交
  27. 12 1月, 2013 1 次提交