1. 22 1月, 2011 1 次提交
  2. 19 1月, 2011 1 次提交
  3. 18 1月, 2011 1 次提交
  4. 15 1月, 2011 1 次提交
  5. 14 1月, 2011 1 次提交
  6. 13 1月, 2011 1 次提交
  7. 11 1月, 2011 2 次提交
  8. 08 1月, 2011 2 次提交
    • R
      spi/omap: Fix DMA API usage in OMAP MCSPI driver · 07fe0351
      Russell King - ARM Linux 提交于
      Running the latest kernel on the 4430SDP board with DMA API debugging
      enabled results in this:
      
      WARNING: at lib/dma-debug.c:803 check_unmap+0x19c/0x6f0()
      NULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated
      [device address=0x000000008129901a] [size=260 bytes]
      Modules linked in:
      Backtrace:
      [<c003cbe0>] (dump_backtrace+0x0/0x10c) from [<c0278da8>] (dump_stack+0x18/0x1c)
       r7:c1839dc0 r6:c0198578 r5:c0304b17 r4:00000323
      [<c0278d90>] (dump_stack+0x0/0x1c) from [<c005b158>] (warn_slowpath_common+0x58/0x70)
      [<c005b100>] (warn_slowpath_common+0x0/0x70) from [<c005b214>] (warn_slowpath_fmt+0x38/0x40)
       r8:c1839e40 r7:00000000 r6:00000104 r5:00000000 r4:8129901a
      [<c005b1dc>] (warn_slowpath_fmt+0x0/0x40) from [<c0198578>] (check_unmap+0x19c/0x6f0)
       r3:c03110de r2:c0304e6b
      [<c01983dc>] (check_unmap+0x0/0x6f0) from [<c0198cd8>] (debug_dma_unmap_page+0x74/0x80)
      [<c0198c64>] (debug_dma_unmap_page+0x0/0x80) from [<c01d5ad8>] (omap2_mcspi_work+0x514/0xbf0)
      [<c01d55c4>] (omap2_mcspi_work+0x0/0xbf0) from [<c006dfb0>] (process_one_work+0x294/0x400)
      [<c006dd1c>] (process_one_work+0x0/0x400) from [<c006e50c>] (worker_thread+0x220/0x3f8)
      [<c006e2ec>] (worker_thread+0x0/0x3f8) from [<c00738d0>] (kthread+0x88/0x90)
      [<c0073848>] (kthread+0x0/0x90) from [<c005e924>] (do_exit+0x0/0x5fc)
       r7:00000013 r6:c005e924 r5:c0073848 r4:c1829ee0
      ---[ end trace 1b75b31a2719ed20 ]---
      
      I've no idea why this driver uses NULL for dma_unmap_single instead of
      the &spi->dev that is laying around just waiting to be used in that
      function - but it's an easy fix.
      
      Also replace this comment with a FIXME comment:
                      /* Do DMA mapping "early" for better error reporting and
                       * dcache use.  Note that if dma_unmap_single() ever starts
                       * to do real work on ARM, we'd need to clean up mappings
                       * for previous transfers on *ALL* exits of this loop...
                       */
      as the comment is not true - we do work in dma_unmap() functions,
      particularly on ARMv6 and above.  I've corrected the existing unmap
      functions but if any others are required they must be added ASAP.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      07fe0351
    • R
      spi/imx: correct the test on platform_get_irq() return value · 73575938
      Richard Genoud 提交于
      The test "if (spi_imx->irq <= 0)" is not testing the IRQ value, but
      the return value of platform_get_irq().  As platform_get_irq() can
      return an error (-ENXIO) or the IRQ value it found, the test should be
      "if (spi_imx->irq < 0)"
      
      [grant.likely: Note: In general, Linux irq number 0 should also mean
      no irq, but arm still allows devices to be assigned 0, and the imx
      platform uses 0 for one of the spi devices, so this patch is needed
      for the device to work]
      Signed-off-by: NRichard Genoud <richard.genoud@gmail.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      73575938
  9. 01 1月, 2011 1 次提交
  10. 31 12月, 2010 1 次提交
  11. 30 12月, 2010 3 次提交
    • J
      spi/m68knommu: Coldfire QSPI platform support · 0bc46342
      Jate Sujjavanich 提交于
      After grabbing a msg from the msgq, the mcfqspi_work function calls
      list_del_init on the mcfqspi->msgq which unintentionally deletes the rest
      of the list before it can be processed. If qspi call was made using
      spi_sync, this can result in a process hang.
      Signed-off-by: NJate Sujjavanich <jsujjavanich@syntech-fuelmaster.com>
      Acked-by: NSteven King <sfking@fdwdc.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      0bc46342
    • M
      spi/fsl_espi: change the read behaviour of the SPIRF · 477ca3ad
      Mingkai Hu 提交于
      The user must read N bytes of SPIRF (1 <= N <= 4) that do not exceed the
      amount of data in the receive FIFO, so read the SPIRF byte by byte when
      the data in receive FIFO is less than 4 bytes.
      
      On Simics, when read N bytes that exceed the amout of data in receive
      FIFO, we can't read the data out, that is we can't clear the rx FIFO,
      then the CPU will loop on the espi rx interrupt.
      Signed-off-by: NMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      477ca3ad
    • G
      spi/omap2_mcspi.c: Force CS to be in inactive state after off-mode transition · 42ce7fd6
      Gregory CLEMENT 提交于
      When SPI wake up from OFF mode, CS is in the wrong state: force it to the
      inactive state.
      
      During the system life, I monitored the CS behavior using a oscilloscope.
      I also activated debug in omap2_mcspi, so I saw when driver disable the clocks
      and restore context when device is not used.Each time the CS was in the correct
      state.  It was only when system was put suspend to ram with off-mode activated
      that on resume the CS was in wrong state( ie activated).
      
      Changelog:
      * Change from v1 to v2:
        - Rebase on linus/master (after 2.6.37-rc1)
        - Do some clean-up and fix indentation on both patches
        - Add more explanations for patch 2
      
      * Change from v2 to v3:
        - Use directly resume function of spi_master instead of using function
        - from spi_device as Grant Likely pointed it out.
        - Force this transition explicitly for each CS used by a device.
      
      * Change from v3 to v4:
        - Patch clean-up according to Kevin Hilman and checkpatch.
        - Now force CS to be in inactive state only if it was inactive when it was
          suspended.
      
      * Change from v4 to v5:
        - Rebase on linus/master (after 2.6.37-rc3)
        - Collapse some lines as pointed by Grant Likely
        - Fix a spelling
      
      * Change from v5 to v6:
        - Rebase on linus/master (after 2.6.37-rc7)
        - Use CONFIG_SUSPEND instead of CONFIG_PM
        - Didn't use legacy PM methods anymore. Instead, add a struct dev_pm_ops and
          add the resume method there.
        - Fix multi-line comment style
      
      * Change from v6 to v7:
        - Rebase on linus/master (after 2.6.37-rc8)
        - Drop an extra line
      Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Reviewed-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      42ce7fd6
  12. 25 12月, 2010 2 次提交
  13. 24 12月, 2010 12 次提交
  14. 23 12月, 2010 1 次提交
  15. 15 12月, 2010 1 次提交
  16. 03 12月, 2010 3 次提交
  17. 01 12月, 2010 6 次提交