1. 07 1月, 2009 11 次提交
  2. 06 1月, 2009 2 次提交
    • D
      dmaengine: remove dependency on async_tx · 07f2211e
      Dan Williams 提交于
      async_tx.ko is a consumer of dma channels.  A circular dependency arises
      if modules in drivers/dma rely on common code in async_tx.ko.  It
      prevents either module from being unloaded.
      
      Move dma_wait_for_async_tx and async_tx_run_dependencies to dmaeninge.o
      where they should have been from the beginning.
      Reviewed-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      
      07f2211e
    • D
      async_tx, dmaengine: document channel allocation and api rework · 28405d8d
      Dan Williams 提交于
      "Wouldn't it be better if the dmaengine layer made sure it didn't pass
      the same channel several times to a client?
      
      I mean, you seem concerned that the memcpy() API should be transparent
      and easy to use, but the whole registration interface is just
      ridiculously complicated..."
      	- Haavard
      
      The dmaengine and async_tx registration/allocation interface is indeed
      needlessly complicated.  This redesign has the following goals:
      
      1/ Simplify reference counting: dma channels are not something one would
         expect to be hotplugged, it should be an exceptional event handled by
         drivers not something clients should be mandated to handle in a
         callback.  The common case channel removal event is 'rmmod <dma driver>',
         which for simplicity should be disallowed if the channel is in use.
      2/ Add an interface for requesting exclusive access to a channel
         suitable to device-to-memory users.
      3/ Convert all memory-to-memory users over to a common allocator, the goal
         here is to not have competing channel allocation schemes.  The only
         competition should be between device-to-memory exclusive allocations and
         the memory-to-memory usage case where channels are shared between
         multiple "clients".
      
      Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Jeff Garzik <jeff@garzik.org>
      Reviewed-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      
      28405d8d
  3. 05 1月, 2009 24 次提交
  4. 04 1月, 2009 3 次提交
    • L
      Merge branch 'cpus4096-for-linus-3' of... · 7d3b56ba
      Linus Torvalds 提交于
      Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)
        x86: setup_per_cpu_areas() cleanup
        cpumask: fix compile error when CONFIG_NR_CPUS is not defined
        cpumask: use alloc_cpumask_var_node where appropriate
        cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t
        x86: use cpumask_var_t in acpi/boot.c
        x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids
        sched: put back some stack hog changes that were undone in kernel/sched.c
        x86: enable cpus display of kernel_max and offlined cpus
        ia64: cpumask fix for is_affinity_mask_valid()
        cpumask: convert RCU implementations, fix
        xtensa: define __fls
        mn10300: define __fls
        m32r: define __fls
        h8300: define __fls
        frv: define __fls
        cris: define __fls
        cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
        cpumask: zero extra bits in alloc_cpumask_var_node
        cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/
        cpumask: convert mm/
        ...
      7d3b56ba
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu · 269b0123
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits)
        AMD IOMMU: remove now unnecessary #ifdefs
        AMD IOMMU: prealloc_protection_domains should be static
        kvm/iommu: fix compile warning
        AMD IOMMU: add statistics about total number of map requests
        AMD IOMMU: add statistics about allocated io memory
        AMD IOMMU: add stats counter for domain tlb flushes
        AMD IOMMU: add stats counter for single iommu domain tlb flushes
        AMD IOMMU: add stats counter for cross-page request
        AMD IOMMU: add stats counter for free_coherent requests
        AMD IOMMU: add stats counter for alloc_coherent requests
        AMD IOMMU: add stats counter for unmap_sg requests
        AMD IOMMU: add stats counter for map_sg requests
        AMD IOMMU: add stats counter for unmap_single requests
        AMD IOMMU: add stats counter for map_single requests
        AMD IOMMU: add stats counter for completion wait events
        AMD IOMMU: add init code for statistic collection
        AMD IOMMU: add necessary header defines for stats counting
        AMD IOMMU: add Kconfig entry for statistic collection code
        AMD IOMMU: use dev_name in iommu_enable function
        AMD IOMMU: use calc_devid in prealloc_protection_domains
        ...
      269b0123
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · f60a0a79
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits)
        V4L/DVB (10173): Missing v4l2_prio_close in radio_release
        V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent
        V4L/DVB (10171): Use usb_set_intfdata
        V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error
        V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2
        V4L/DVB (10167): sms1xxx: add support for inverted gpio
        V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments
        V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2
        V4L/DVB (10164): Add missing S2 caps flag to S2API
        V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev
        V4L/DVB (10162): tuner-simple: Fix tuner type set message
        V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus
        V4L/DVB (10160): em28xx: update chip id for em2710
        V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme
        V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus
        V4L/DVB (10155): Add TEA5764 radio driver
        V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board
        V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources.
        V4L/DVB (10152): Change configuration of the Beholder H6 card
        V4L/DVB (10151): Fix I2C bridge error in zl10353
        ...
      f60a0a79