Andy Shevchenko
1b2e98bc1e
dma: acpi-dma: introduce ACPI DMA helpers
...
There is a new generic API to get a DMA channel for a slave device (commit
9a6cecc8 "dmaengine: add helper function to request a slave DMA channel"). In
similar fashion to the DT case (commit aa3da644 "of: Add generic device tree
DMA helpers") we introduce helpers to the DMAC drivers which are enumerated by
ACPI.
The proposed extension provides the following API calls:
acpi_dma_controller_register(), devm_acpi_dma_controller_register()
acpi_dma_controller_free(), devm_acpi_dma_controller_free()
acpi_dma_simple_xlate()
acpi_dma_request_slave_chan_by_index()
acpi_dma_request_slave_chan_by_name()
The first two should be used, for example, at probe() and remove() of the
corresponding DMAC driver. At the register stage the DMAC driver supplies a
custom xlate() function to translate a struct dma_spec into struct dma_chan.
Accordingly to the ACPI Fixed DMA resource specification the only two pieces of
information the slave device has are the channel id and the request line (slave
id). Those two are represented by struct dma_spec. The
acpi_dma_request_slave_chan_by_index() provides access to the specifix FixedDMA
resource by its index. Whereas dma_request_slave_channel() takes a string
parameter to identify the DMA resources required by the slave device. To make a
slave device driver work with both DeviceTree and ACPI enumeration a simple
convention is established: "tx" corresponds to the index 0 and "rx" to the
index 1. In case of robust configuration the slave device driver unfortunately
needs to call acpi_dma_request_slave_chan_by_index() directly.
Additionally the patch provides "managed" version of the register/free pair
i.e. devm_acpi_dma_controller_register() and devm_acpi_dma_controller_free().
Usually, the driver uses only devm_acpi_dma_controller_register().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2013-04-15 22:04:10 +05:30
..
accessibility
acpi
PCI updates for v3.9:
2013-04-05 19:29:36 -07:00
amba
ARM: 7675/1: amba: tegra-ahb: Fix build error w/ PM_SLEEP w/o PM_RUNTIME
2013-03-15 17:20:02 +00:00
ata
[libata] Fix HDIO_DRIVE_* ioctl() Linux 3.9 regression
2013-04-03 19:48:49 -04:00
atm
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
auxdisplay
base
regmap: Back out work buffer fix
2013-04-09 18:03:25 +01:00
bcma
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
2013-03-01 13:52:03 -05:00
block
for-linus-20130409
2013-04-09 12:05:41 -07:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
2013-03-18 15:17:11 -04:00
bus
cdrom
char
One reversion, a tiny leak fix, and a cc:stable locking fix, in two parts.
2013-04-01 16:17:52 -07:00
clk
clk: tegra: Allow PLLE training to succeed
2013-04-01 11:44:38 -07:00
clocksource
ImgTec Meta architecture changes for v3.9-rc1
2013-03-03 12:06:09 -08:00
connector
proc connector: reject unprivileged listener bumps
2013-02-27 13:08:35 -05:00
cpufreq
cpufreq / intel_pstate: Set timer timeout correctly
2013-04-08 22:09:23 +02:00
cpuidle
arm-soc: soc-specific updates
2013-02-21 15:27:22 -08:00
crypto
crypto: ux500 - add missing comma
2013-04-05 21:02:17 +08:00
dca
dca: convert to idr_alloc()
2013-02-27 19:10:15 -08:00
devfreq
dio
dma
dma: acpi-dma: introduce ACPI DMA helpers
2013-04-15 22:04:10 +05:30
edac
EDAC: Merge mci.mem_is_per_rank with mci.csbased
2013-03-16 06:32:30 +01:00
eisa
EISA/PCI: Init EISA early, before PNP
2013-04-01 12:02:05 -06:00
extcon
extcon: max77693: Initialize register of MUIC device to bring up it without platform data
2013-03-13 17:38:57 +09:00
firewire
firewire: convert to idr_alloc()
2013-02-27 19:10:15 -08:00
firmware
efivars: Fix check for CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE
2013-03-22 20:08:01 +00:00
gpio
gpio: pca953x: fix irq_domain_add_simple usage
2013-04-11 19:01:19 +02:00
gpu
drm/fb-helper: Fix locking in drm_fb_helper_hotplug_event
2013-04-12 14:21:12 +10:00
hid
HID: magicmouse: fix race between input_register() and probe()
2013-04-04 09:49:56 +02:00
hsi
hsi: fix kernel-doc warnings
2013-03-01 13:39:00 -08:00
hv
Drivers: hv: vmbus: Use the new infrastructure for delivering VMBUS interrupts
2013-02-27 10:15:53 -08:00
hwmon
hwmon: (lm75.h) Update header inclusion
2013-03-18 21:19:49 +01:00
hwspinlock
hwspinlock: fix __hwspin_lock_request error path
2013-04-05 17:45:11 +03:00
i2c
ACPI / I2C: Use parent's ACPI_HANDLE() in acpi_i2c_register_devices()
2013-04-02 15:30:41 +02:00
ide
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
idle
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-02-22 19:25:09 -08:00
iio
First round of iio fixes post the 3.9 merge window.
2013-03-06 05:48:24 +08:00
infiniband
firmware,IB/qib: revert firmware file move
2013-04-05 12:19:39 -07:00
input
arm-soc: bug fixes for 3.9-rc3
2013-03-18 08:17:14 -07:00
iommu
IOMMU fixes for Linux v3.9-rc4
2013-03-27 09:25:11 -07:00
ipack
Char/Misc driver patches for 3.9-rc1
2013-02-21 13:57:13 -08:00
irqchip
irqchip: fix typo when moving gic_raise_softirq()
2013-03-04 17:15:33 -08:00
isdn
isdn: hisax: netjet requires VIRT_TO_BUS
2013-03-17 12:01:10 -04:00
leds
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
2013-02-26 09:29:02 -08:00
lguest
All trivial, thanks to the stuff which didn't quite make it time.
2013-02-26 14:49:12 -08:00
macintosh
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
2013-02-23 17:09:55 -08:00
mailbox
mailbox, pl320-ipc: remove __init from probe function
2013-03-04 14:23:11 +01:00
md
dm cache: reduce bio front_pad size in writeback mode
2013-04-05 15:36:34 +01:00
media
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2013-04-04 08:40:45 -07:00
memory
memstick
memstick: move the dereference below the NULL test
2013-02-27 19:10:23 -08:00
message
mfd
mfd: twl4030-madc: Remove __exit_p annotation
2013-03-15 07:42:22 +01:00
misc
misc/vmw_vmci: Add dependency on CONFIG_NET
2013-04-03 11:53:39 -07:00
mmc
Merge branches 'devel-stable', 'fixes' and 'mmci' into for-linus
2013-03-03 00:32:50 +00:00
mtd
MTD fixes for 3.9
2013-03-18 08:27:41 -07:00
net
bnx2x: Prevent null pointer dereference in AFEX mode
2013-04-10 15:27:04 -04:00
nfc
NFC: microread: Fix build failure due to a new MEI bus API
2013-04-01 00:52:42 +02:00
ntb
nubus
of
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2013-02-21 17:40:58 -08:00
oprofile
fs: Limit sys_mount to only request filesystem modules.
2013-03-03 19:36:31 -08:00
parisc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
parport
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2013-02-21 17:54:03 -08:00
pci
PCI/PM: Disable runtime PM of PCIe ports
2013-04-03 15:54:59 -06:00
pcmcia
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2013-02-21 17:40:58 -08:00
pinctrl
Here are a few pinctrl fixes for the v3.9 rc series:
2013-03-24 10:11:29 -07:00
platform
Platform: x86: chromeos_laptop : Add basic platform data for atmel devices
2013-03-08 16:03:29 -08:00
pnp
ACPI / glue: Add .match() callback to struct acpi_bus_type
2013-03-04 14:23:40 +01:00
power
power: convert to idr_alloc()
2013-02-27 19:10:18 -08:00
pps
drivers/pps/clients/pps-gpio.c: use devm_kzalloc
2013-02-27 19:10:23 -08:00
ps3
ptp
pwm
pwm: Changes for v3.9-rc1
2013-02-26 09:34:29 -08:00
rapidio
regulator
Merge remote-tracking branch 'regulator/fix/twl' into tmp
2013-03-05 10:12:43 +08:00
remoteproc
remoteproc: fix FW_CONFIG typo
2013-04-07 15:11:27 +03:00
rpmsg
rpmsg: convert to idr_alloc()
2013-02-27 19:10:18 -08:00
rtc
Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR"
2013-04-05 09:36:53 -07:00
s390
qeth: fix qeth_wait_for_threads() deadlock for OSN devices
2013-04-08 17:16:57 -04:00
sbus
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
scsi
[SCSI] lpfc: fix potential NULL pointer dereference in lpfc_sli4_rq_put()
2013-04-11 14:17:15 -07:00
sfi
sh
sn
spi
spi: Fixes for v3.9
2013-04-05 10:04:41 -07:00
ssb
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into mips-for-linux-next
2013-02-22 10:07:30 +01:00
staging
staging: comedi: s626: fix continuous acquisition
2013-03-25 11:35:38 -07:00
target
target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition CDBs
2013-04-11 01:48:49 -07:00
tc
thermal
thermal: exynos_thermal: return a proper error code while thermal_zone_device_register fail.
2013-03-11 23:09:29 +08:00
tty
tty: mxser: fix cycle termination condition in mxser_probe() and mxser_module_init()
2013-04-08 11:30:04 -07:00
uio
uio: convert to idr_alloc()
2013-02-27 19:10:19 -08:00
usb
USB / PM: Don't try to hide PM QoS flags from usb_port_device_release()
2013-04-02 01:25:09 +02:00
uwb
vfio
vfio-pci: Fix possible integer overflow
2013-03-26 11:33:16 -06:00
vhost
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2013-04-12 15:26:42 -07:00
video
Fix uvesafb crash bug and typoed flag name in fbmon's new videomode code
2013-04-05 09:15:46 -07:00
virt
virtio
All trivial, thanks to the stuff which didn't quite make it time.
2013-02-26 14:49:12 -08:00
vlynq
vme
w1
w1: fix oops when w1_search is called from netlink connector
2013-03-12 16:20:46 -07:00
watchdog
watchdog: Revert the AT91RM9200_WATCHDOG dependency
2013-04-14 09:09:10 +02:00
xen
Bug-fixes:
2013-04-10 15:57:33 -07:00
zorro
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
Kconfig
Char/Misc driver patches for 3.9-rc1
2013-02-21 13:57:13 -08:00
Makefile
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
2013-02-23 17:09:55 -08:00