linux/drivers
Viresh Kumar 69cea5a00d dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback
dmaengine routines can be called from interrupt context and with interrupts
disabled.  Whereas spin_unlock_bh can't be called from such contexts. So this
patch converts all spin_*_bh routines to irqsave variants.

Also, spin_lock() used in tasklet is converted to irqsave variants, as tasklet
can be interrupted, and dma requests from such interruptions may also call
spin_lock.

Now, submission from callbacks are permitted as per dmaengine framework. So we
shouldn't hold any locks while calling callbacks. As locks were taken by parent
routines, so releasing them before calling callbacks doesn't look clean enough.
So, locks are taken inside all routine now, whereever they are required. And
dwc_descriptor_complete is always called without taking locks.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2011-05-13 19:40:07 +05:30
..
accessibility
acpi acpi: Remove sysfs_create_link from video driver 2011-03-28 13:05:29 -07:00
amba
ata drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
atm
auxdisplay
base Introduce ARCH_NO_SYSDEV_OPS config option (v2) 2011-03-23 22:16:41 +01:00
block drbd: fix up merge error 2011-03-28 07:42:58 -07:00
bluetooth
cdrom
char char/tpm: Fix unitialized usage of data buffer 2011-03-29 09:45:34 -07:00
clk
clocksource
connector
cpufreq cpufreq: Use syscore_ops for boot CPU suspend/resume (v2) 2011-03-23 22:16:32 +01:00
cpuidle
crypto
dca drivers/dca/dca-core.c: use list_move() instead of list_del()/list_add() combination 2011-03-22 17:44:12 -07:00
dio
dma dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback 2011-05-13 19:40:07 +05:30
edac amd64_edac: Fix potential memleak 2011-03-29 18:19:06 +02:00
eisa
firewire
firmware sigma-firmware: loader for Analog Devices' SigmaStudio 2011-03-22 17:44:15 -07:00
gpio gpio: ab8500: Mark broken 2011-03-29 14:50:42 +02:00
gpu Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2011-03-24 17:27:20 -07:00
hid backlight: add backlight type 2011-03-22 17:43:59 -07:00
hwmon drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
hwspinlock
i2c mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
ide ide: ensure that we re-run the queue handler 2011-03-26 19:49:54 +01:00
idle
ieee802154
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-03-25 21:06:37 -07:00
input drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
isdn
leds Merge git://git.infradead.org/battery-2.6 2011-03-25 21:00:29 -07:00
lguest
macintosh backlight: add backlight type 2011-03-22 17:43:59 -07:00
mca
md md: Fix integrity registration error when no devices are capable 2011-03-28 17:53:29 -07:00
media [media] rc: update for bitop name changes 2011-03-24 18:58:55 -07:00
memstick memstick: make enable_dma less generic in r592 2011-03-28 16:24:29 -07:00
message Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block 2011-03-24 10:16:26 -07:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
misc drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1 2011-03-25 17:41:20 +02:00
net Merge branch 'irq-final-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-29 10:46:15 -07:00
nfc
nubus
of of/flattree: minor cleanups 2011-03-23 14:55:56 -06:00
oprofile
parisc parisc: Convert irq namespace 2011-03-29 14:48:08 +02:00
parport
pci drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pcmcia drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
platform drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pnp pnp: only assign IORESOURCE_DMA if CONFIG_ISA_DMA_API is enabled 2011-03-22 17:44:16 -07:00
power drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pps pps: remove unreachable code 2011-03-22 17:44:17 -07:00
ps3
rapidio rapidio: fix potential null deref on failure path 2011-03-23 19:46:44 -07:00
regulator regulator: Add MODULE_DEVICE_TABLE to max8997 and max8998 2011-03-27 11:47:25 +01:00
rtc drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-03-25 17:47:04 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-25 21:06:13 -07:00
sfi
sh sh: Convert to new function names 2011-03-29 14:48:13 +02:00
sn
spi Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6 2011-03-24 09:30:20 -07:00
ssb
staging drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-25 21:06:13 -07:00
tc
telephony
thermal
tty drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
uio
usb drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
uwb
vhost
video Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-03-24 09:50:13 -07:00
virtio
vlynq vlynq: Convert irq functions 2011-03-28 19:33:04 +02:00
w1 drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
watchdog watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry 2011-03-29 11:56:22 +00:00
xen xen: Use new irq_move functions 2011-03-29 10:01:05 -04:00
zorro
Kconfig
Makefile