1
0
Fork 0
alistair23-linux/drivers
Will Deacon a9a1b0b53d iommu/arm-smmu: add support for PCI master devices
This patch extends the ARM SMMU driver so that it can handle PCI master
devices in addition to platform devices described in the device tree.

The driver is informed about the PCI host controller in the DT via a
phandle to the host controller in the mmu-masters property. The host
controller is then added to the master tree for that SMMU, just like a
normal master (although it probably doesn't advertise any StreamIDs).

When a device is added to the PCI bus, we set the archdata.iommu pointer
for that device to describe its StreamID (actually its RequesterID for
the moment). This allows us to re-use our existing data structures using
the host controller of_node for everything apart from StreamID
configuration, where we reach into the archdata for the information we
require.

Cc: Varun Sethi <varun.sethi@freescale.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-07-03 15:50:21 +01:00
..
accessibility
acpi Merge branch 'pm-sleep' 2014-06-12 13:43:08 +02:00
amba
ata Merge branch 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-06-09 14:58:36 -07:00
atm atm: fore200e.c: Cleaning up uninitialized variables 2014-06-02 17:11:03 -07:00
auxdisplay
base More ACPI and power management updates for 3.16-rc1 2014-06-12 13:14:19 -07:00
bcma
block Merge git://git.infradead.org/users/willy/linux-nvme 2014-06-15 15:58:03 -10:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
bus ARM: SoC driver changes 2014-06-02 16:35:49 -07:00
cdrom Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2014-06-11 08:41:17 -07:00
char Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-06-12 10:30:18 -07:00
clk This pull request contains the second half the of the clk changes for 2014-06-15 16:02:20 -10:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-04 15:57:20 -07:00
connector Char / misc driver patches for 3.16-rc1 2014-06-03 08:06:56 -07:00
cpufreq Merge branch 'pm-cpufreq' 2014-06-12 13:43:02 +02:00
cpuidle Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-06-12 20:11:38 -07:00
crypto crypto/nx: disable NX on little endian builds 2014-06-11 17:03:19 +10:00
dca
devfreq
dio
dma Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-06-10 10:28:45 -07:00
edac PCI changes for the v3.16 merge window: 2014-06-02 12:15:19 -07:00
eisa
extcon
firewire sound updates for 3.16-rc1 2014-06-04 09:08:25 -07:00
firmware Merge branch 'arm64-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-05 13:15:32 -07:00
fmc
gpio gpio: of: Fix handling for deferred probe for -gpio suffix 2014-06-12 09:57:00 +02:00
gpu Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-06-12 11:32:30 -07:00
hid Most of this is cleaning up various driver sysfs permissions so we can 2014-06-11 16:09:14 -07:00
hsi hsi: omap_ssi_port: use normal module refcounting 2014-06-05 00:59:05 +02:00
hv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
hwmon hwmon: vexpress: Use devm helper for hwmon device registration 2014-06-12 08:36:50 -07:00
hwspinlock
i2c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into next 2014-06-06 12:26:57 -07:00
ide
idle
iio Staging driver patches for 3.16-rc1 2014-06-03 08:34:00 -07:00
infiniband Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-06-12 22:38:32 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-06-09 18:46:02 -07:00
iommu iommu/arm-smmu: add support for PCI master devices 2014-07-03 15:50:21 +01:00
ipack
irqchip Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-04 15:59:13 -07:00
isdn isdn/capi: fix (middleware) device nodes 2014-06-04 23:13:41 -07:00
leds Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2014-06-12 13:08:09 -07:00
lguest
macintosh
mailbox
mcb
md . Add dm_accept_partial_bio interface to DM core to allow DM targets 2014-06-12 13:33:29 -07:00
media Merge branch 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-06-12 23:04:28 -07:00
memory
memstick
message
mfd This pull-request contains some misplaced patches from Tony 2014-06-12 12:42:32 -07:00
misc Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 15:48:23 -07:00
mmc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
mtd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-06-12 10:30:18 -07:00
net vxlan: Checksum fixes 2014-06-15 01:00:50 -07:00
nfc
ntb
nubus kernel/printk: use symbolic defines for console loglevels 2014-06-04 16:54:17 -07:00
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
oprofile
parisc
parport parport: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:15 -07:00
pci PCI changes for the v3.16 merge window (part 2): 2014-06-12 13:20:24 -07:00
pcmcia
phy
pinctrl This is the bulk of pin control changes for the v3.16 2014-06-03 11:20:32 -07:00
platform Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-06-10 16:58:32 -07:00
pnp Merge branches 'pnp', 'powercap', 'pm-runtime' and 'pm-opp' 2014-06-03 23:13:00 +02:00
power ACPI and power management updates for 3.16-rc1 2014-06-04 08:57:16 -07:00
powercap
pps
ps3
ptp
pwm pwm: Changes for v3.16-rc1 2014-06-11 14:06:55 -07:00
rapidio rapidio/tsi721: use pci_enable_msix_exact() instead of pci_enable_msix() 2014-06-06 16:08:13 -07:00
regulator Most of this is cleaning up various driver sysfs permissions so we can 2014-06-11 16:09:14 -07:00
remoteproc
reset ARM: SoC driver changes 2014-06-02 16:35:49 -07:00
rpmsg
rtc rtc: s5m: consolidate two device type switch statements 2014-06-10 15:34:47 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
sbus
scsi SCSI for-linus on 20140613 2014-06-14 19:49:48 -05:00
sfi
sh SH Driver Update for v3.16 2014-06-06 11:44:09 -07:00
sn
soc
spi Merge remote-tracking branch 'spi/topic/workqueue' into spi-next 2014-06-02 17:08:43 +01:00
spmi
ssb
staging Merge branch 'topic/omap3isp' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-06-12 23:04:28 -07:00
target Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-06-12 22:38:32 -07:00
tc
thermal Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-06-11 14:26:21 -07:00
tty Merge commit '3cf2f34' into sched/core, to fix build error 2014-06-12 13:46:37 +02:00
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
uwb
vfio A handful of VFIO bug fixes for v3.16 2014-06-07 20:12:15 -07:00
vhost Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-06-12 22:38:32 -07:00
video This pull-request merely contains some very basic build/run-time bug fixes. 2014-06-12 12:45:50 -07:00
virt
virtio
vlynq
vme
w1 Merge commit '3cf2f34' into sched/core, to fix build error 2014-06-12 13:46:37 +02:00
watchdog watchdog: add Intel MID watchdog driver support 2014-06-10 21:48:16 +02:00
xen Merge commit '3cf2f34' into sched/core, to fix build error 2014-06-12 13:46:37 +02:00
zorro
Kconfig
Makefile Char / misc driver patches for 3.16-rc1 2014-06-03 08:06:56 -07:00