1. 27 9月, 2008 1 次提交
  2. 24 9月, 2008 1 次提交
    • T
      fsldma: remove internal self-test from Freescale Elo DMA driver · 59f647c2
      Timur Tabi 提交于
      The Freescale Elo DMA driver runs an internal self-test before registering
      the channels with the DMA engine.  This self-test has a fundemental flaw in
      that it calls the DMA engine's callback functions directly before the
      registration.  However, the registration initializes some variables that the
      callback functions uses, namely the device struct.
      
      The code works today because there are two device structs: the one created
      by the DMA engine, and one created by the Open Firmware (OF) subsystem.  The
      self-test currently uses the device struct created by OF.  However, in the
      future, some of the device structs created by OF will be eliminated.
      This means that the self-test will only have access to the device struct
      created by the DMA engine.  But this device struct isn't initialized when
      the self-test runs, and this causes a kernel panic.
      
      Since there is already a DMA test module (dmatest), the internal self-test
      code is not useful anyway.  It is extremely unlikely that the test will fail
      in normal usage.  It may have been helpful during development, but not any more.
      
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Scott Wood <scottwood@freescale.com>
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      59f647c2
  3. 09 7月, 2008 2 次提交
  4. 18 4月, 2008 4 次提交
  5. 01 4月, 2008 1 次提交
  6. 19 3月, 2008 1 次提交
  7. 14 3月, 2008 3 次提交
    • Z
      fsldma: Add a completed cookie updated action in DMA finish interrupt. · 9c98718e
      Zhang Wei 提交于
      The patch 'fsldma: do not cleanup descriptors in hardirq context'
      (commit 222ccf9a) removed descriptors
      cleanup function to tasklet but the completed cookie do not updated.
      Thus, the DMA controller will get lots of duplicated transfer
      interrupts. Just make a completed cookie update in interrupt handler.
      And keep other cleanup jobs in tasklet function.
      Tested-by: NSebastian Siewior <bigeasy@linutronix.de>
      Signed-off-by: NZhang Wei <wei.zhang@freescale.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      9c98718e
    • Z
      fsldma: Add device_prep_dma_interrupt support to fsldma.c · 2187c269
      Zhang Wei 提交于
      This is a bug that I assigned DMA_INTERRUPT capability to fsldma
      but missing device_prep_dma_interrupt function. For a bug in
      dmaengine.c the driver passed BUG_ON() checking. The patch fixes it.
      Signed-off-by: NZhang Wei <wei.zhang@freescale.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      2187c269
    • Z
      fsldma: Fix fsldma.c warning messages when it's compiled under PPC64. · 56822843
      Zhang Wei 提交于
      There are warning messages reported by Stephen Rothwell with
      ARCH=powerpc allmodconfig build:
      
      drivers/dma/fsldma.c: In function 'fsl_dma_prep_memcpy':
      drivers/dma/fsldma.c:439: warning: comparison of distinct pointer types
      lacks a cast
      drivers/dma/fsldma.c: In function 'fsl_chan_xfer_ld_queue':
      drivers/dma/fsldma.c:584: warning: format '%016llx' expects type 'long long
      unsigned int', but argument 4 has type 'dma_addr_t'
      drivers/dma/fsldma.c: In function 'fsl_dma_chan_do_interrupt':
      drivers/dma/fsldma.c:668: warning: format '%x' expects type 'unsigned int',
      but argument 5 has type 'dma_addr_t'
      drivers/dma/fsldma.c:684: warning: format '%016llx' expects type 'long long
      unsigned int', but argument 4 has type 'dma_addr_t'
      drivers/dma/fsldma.c:684: warning: format '%016llx' expects type 'long long
      unsigned int', but argument 5 has type 'dma_addr_t'
      drivers/dma/fsldma.c:701: warning: format '%02x' expects type 'unsigned
      int', but argument 4 has type 'dma_addr_t'
      drivers/dma/fsldma.c: In function 'fsl_dma_self_test':
      drivers/dma/fsldma.c:840: warning: format '%d' expects type 'int', but
      argument 5 has type 'size_t'
      drivers/dma/fsldma.c: In function 'of_fsl_dma_probe':
      drivers/dma/fsldma.c:1010: warning: format '%08x' expects type 'unsigned
      int', but argument 5 has type 'resource_size_t'
      
      This patch fixed the above warning messages.
      Signed-off-by: NZhang Wei <wei.zhang@freescale.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      56822843
  8. 05 3月, 2008 2 次提交