1. 15 11月, 2013 7 次提交
  2. 14 11月, 2013 1 次提交
  3. 23 8月, 2013 2 次提交
  4. 04 7月, 2013 1 次提交
  5. 16 4月, 2013 5 次提交
  6. 15 4月, 2013 7 次提交
  7. 14 2月, 2013 1 次提交
  8. 13 2月, 2013 1 次提交
    • D
      ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING · 4dec23d7
      Dave Jiang 提交于
      There is a race that can hit during __cleanup() when the ioat->head pointer is
      incremented during descriptor submission. The __cleanup() can clear the
      PENDING flag when it does not see any active descriptors. This causes new
      submitted descriptors to be ignored because the COMPLETION_PENDING flag is
      cleared. This was introduced when code was adapted from ioatdma v1 to ioatdma
      v2. For v2 and v3, IOAT_COMPLETION_PENDING flag will be abandoned and a new
      flag IOAT_CHAN_ACTIVE will be utilized. This flag will also be protected under
      the prep_lock when being modified in order to avoid the race.
      Signed-off-by: NDave Jiang <dave.jiang@intel.com>
      Reviewed-by: NDan Williams <djbw@fb.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      4dec23d7
  9. 08 1月, 2013 3 次提交
  10. 07 1月, 2013 1 次提交
    • S
      ioat: Fix DMA memory sync direction correct flag · ac498987
      Shuah Khan 提交于
      ioat does DMA memory sync with DMA_TO_DEVICE direction on a buffer allocated
      for DMA_FROM_DEVICE dma, resulting in the following warning from dma debug.
      Fixed the dma_sync_single_for_device() call to use the correct direction.
      
      [  226.288947] WARNING: at lib/dma-debug.c:990 check_sync+0x132/0x550()
      [  226.288948] Hardware name: ProLiant DL380p Gen8
      [  226.288951] ioatdma 0000:00:04.0: DMA-API: device driver syncs DMA memory with different direction [device address=0x00000000ffff7000] [size=4096 bytes] [mapped with DMA_FROM_DEVICE] [synced with DMA_TO_DEVICE]
      [  226.288953] Modules linked in: iTCO_wdt(+) sb_edac(+) ioatdma(+) microcode serio_raw pcspkr edac_core hpwdt(+) iTCO_vendor_support hpilo(+) dca acpi_power_meter ata_generic pata_acpi sd_mod crc_t10dif ata_piix libata hpsa tg3 netxen_nic(+) sunrpc dm_mirror dm_region_hash dm_log dm_mod
      [  226.288967] Pid: 1055, comm: work_for_cpu Tainted: G        W    3.3.0-0.20.el7.x86_64 #1
      [  226.288968] Call Trace:
      [  226.288974]  [<ffffffff810644cf>] warn_slowpath_common+0x7f/0xc0
      [  226.288977]  [<ffffffff810645c6>] warn_slowpath_fmt+0x46/0x50
      [  226.288980]  [<ffffffff81345502>] check_sync+0x132/0x550
      [  226.288983]  [<ffffffff81345c9f>] debug_dma_sync_single_for_device+0x3f/0x50
      [  226.288988]  [<ffffffff81661002>] ? wait_for_common+0x72/0x180
      [  226.288995]  [<ffffffffa019590f>] ioat_xor_val_self_test+0x3e5/0x832 [ioatdma]
      [  226.288999]  [<ffffffff811a5739>] ? kfree+0x259/0x270
      [  226.289004]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
      [  226.289008]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
      [  226.289011]  [<ffffffffa0195f51>] ioat3_dma_probe+0x1d5/0x2aa [ioatdma]
      [  226.289016]  [<ffffffffa0194d12>] ioat_pci_probe+0x139/0x17c [ioatdma]
      [  226.289020]  [<ffffffff81354b8c>] local_pci_probe+0x5c/0xd0
      [  226.289023]  [<ffffffff81083e50>] ? destroy_work_on_stack+0x20/0x20
      [  226.289025]  [<ffffffff81083e68>] do_work_for_cpu+0x18/0x30
      [  226.289029]  [<ffffffff8108d997>] kthread+0xb7/0xc0
      [  226.289033]  [<ffffffff8166cef4>] kernel_thread_helper+0x4/0x10
      [  226.289036]  [<ffffffff81662d20>] ? _raw_spin_unlock_irq+0x30/0x50
      [  226.289038]  [<ffffffff81663234>] ? retint_restore_args+0x13/0x13
      [  226.289041]  [<ffffffff8108d8e0>] ? kthread_worker_fn+0x1a0/0x1a0
      [  226.289044]  [<ffffffff8166cef0>] ? gs_change+0x13/0x13
      [  226.289045] ---[ end trace e1618afc7a606089 ]---
      [  226.289047] Mapped at:
      [  226.289048]  [<ffffffff81345307>] debug_dma_map_page+0x87/0x150
      [  226.289050]  [<ffffffffa019653c>] dma_map_page.constprop.18+0x70/0xb34 [ioatdma]
      [  226.289054]  [<ffffffffa0195702>] ioat_xor_val_self_test+0x1d8/0x832 [ioatdma]
      [  226.289058]  [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
      [  226.289061]  [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
      Signed-off-by: NShuah Khan <shuah.khan@hp.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      ac498987
  11. 04 1月, 2013 1 次提交
    • G
      Drivers: dma: remove __dev* attributes. · 4bf27b8b
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitconst,
      and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Viresh Kumar <viresh.linux@gmail.com>
      Cc: Dan Williams <djbw@fb.com>
      Cc: Vinod Koul <vinod.koul@intel.com>
      Cc: Barry Song <baohua.song@csr.com>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Alexander Duyck <alexander.h.duyck@intel.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Jassi Brar <jassisinghbrar@gmail.com>
      Cc: Dave Jiang <dave.jiang@intel.com>
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4bf27b8b
  12. 06 4月, 2012 1 次提交
  13. 24 3月, 2012 1 次提交
  14. 13 3月, 2012 4 次提交
  15. 04 8月, 2011 1 次提交
  16. 23 7月, 2011 1 次提交
  17. 23 5月, 2011 1 次提交
    • P
      Add appropriate <linux/prefetch.h> include for prefetch users · 70c71606
      Paul Gortmaker 提交于
      After discovering that wide use of prefetch on modern CPUs
      could be a net loss instead of a win, net drivers which were
      relying on the implicit inclusion of prefetch.h via the list
      headers showed up in the resulting cleanup fallout.  Give
      them an explicit include via the following $0.02 script.
      
       =========================================
       #!/bin/bash
       MANUAL=""
       for i in `git grep -l 'prefetch(.*)' .` ; do
       	grep -q '<linux/prefetch.h>' $i
       	if [ $? = 0 ] ; then
       		continue
       	fi
      
       	(	echo '?^#include <linux/?a'
       		echo '#include <linux/prefetch.h>'
       		echo .
       		echo w
       		echo q
       	) | ed -s $i > /dev/null 2>&1
       	if [ $? != 0 ]; then
       		echo $i needs manual fixup
       		MANUAL="$i $MANUAL"
       	fi
       done
       echo ------------------- 8\<----------------------
       echo vi $MANUAL
       =========================================
      Signed-off-by: NPaul <paul.gortmaker@windriver.com>
      [ Fixed up some incorrect #include placements, and added some
        non-network drivers and the fib_trie.c case    - Linus ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      70c71606
  18. 05 8月, 2010 1 次提交