Thierry Reding
8918465163
memory: Add NVIDIA Tegra memory controller support
...
The memory controller on NVIDIA Tegra exposes various knobs that can be
used to tune the behaviour of the clients attached to it.
Currently this driver sets up the latency allowance registers to the HW
defaults. Eventually an API should be exported by this driver (via a
custom API or a generic subsystem) to allow clients to register latency
requirements.
This driver also registers an IOMMU (SMMU) that's implemented by the
memory controller. It is supported on Tegra30, Tegra114 and Tegra124
currently. Tegra20 has a GART instead.
The Tegra SMMU operates on memory clients and SWGROUPs. A memory client
is a unidirectional, special-purpose DMA master. A SWGROUP represents a
set of memory clients that form a logical functional unit corresponding
to a single device. Typically a device has two clients: one client for
read transactions and one client for write transactions, but there are
also devices that have only read clients, but many of them (such as the
display controllers).
Because there is no 1:1 relationship between memory clients and devices
the driver keeps a table of memory clients and the SWGROUPs that they
belong to per SoC. Note that this is an exception and due to the fact
that the SMMU is tightly integrated with the rest of the Tegra SoC. The
use of these tables is discouraged in drivers for generic IOMMU devices
such as the ARM SMMU because the same IOMMU could be used in any number
of SoCs and keeping such tables for each SoC would not scale.
Acked-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:11:47 +01:00
..
accessibility
acpi
Merge branches 'acpi-scan' and 'acpi-ec'
2014-10-31 22:24:44 +01:00
amba
ARM: tegra: Move AHB Kconfig to drivers/amba
2014-11-26 09:43:25 +01:00
ata
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2014-10-18 18:11:04 -07:00
atm
atm: simplify lanai.c by using module_pci_driver
2014-10-17 11:55:32 -04:00
auxdisplay
base
ACPI and power management fixes for 3.18-rc3
2014-10-31 19:08:25 -07:00
bcma
bcma: add another PCI ID of device with BCM43228
2014-10-23 14:02:06 -04:00
block
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
2014-10-31 15:00:48 -07:00
bluetooth
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-10-13 11:28:42 +02:00
bus
cdrom
char
Return short read or 0 at end of a raw device, not EIO
2014-10-31 06:33:26 -04:00
clk
clk: tegra: Implement memory-controller clock
2014-11-26 09:43:23 +01:00
clocksource
ARM/ARM64: arch-timer: fix arch_timer_probed logic
2014-10-26 20:50:00 +01:00
connector
cpufreq
cpufreq: cpufreq-dt: Restore default cpumask_setall(policy->cpus)
2014-10-27 23:27:35 +01:00
cpuidle
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2014-10-24 12:48:47 -07:00
crypto
crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c
2014-10-14 10:51:23 +02:00
dca
devfreq
dio
dma
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2014-10-18 18:11:04 -07:00
dma-buf
edac
e7xxx_edac: Report CE events properly
2014-10-22 22:59:00 +02:00
eisa
extcon
firewire
firmware
Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-10-23 14:45:09 -07:00
fmc
gpio
gpu
drm/exynos: correct connector->dpms field before resuming
2014-11-03 01:51:28 +09:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2014-10-29 11:52:35 -07:00
hsi
hv
hwmon
hwmon: (menf21bmc) Include linux/err.h
2014-10-19 18:41:18 -07:00
hwspinlock
i2c
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2014-10-19 12:50:44 -07:00
ide
Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block
2014-10-18 12:12:45 -07:00
idle
iio
First round of IIO fixes for the 3.18 cycle.
2014-10-25 10:09:39 +08:00
infiniband
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-10-31 15:04:58 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2014-10-31 19:51:11 -07:00
iommu
memory: Add NVIDIA Tegra memory controller support
2014-12-04 16:11:47 +01:00
ipack
irqchip
Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2014-10-15 07:48:18 +02:00
isdn
isdn/gigaset: fix usb_gigaset write_cmd result race
2014-10-14 15:05:35 -04:00
leds
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
2014-10-21 08:18:38 -07:00
lguest
macintosh
mailbox
Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration
2014-10-21 11:21:19 -07:00
mcb
md
. fix DM's long-standing excessive use of memory by leveraging the new
2014-10-18 12:25:30 -07:00
media
[media] s5p-jpeg: Avoid -Wuninitialized warning in s5p_jpeg_parse_hdr
2014-10-24 09:36:59 -02:00
memory
memory: Add NVIDIA Tegra memory controller support
2014-12-04 16:11:47 +01:00
memstick
memstick: r592: fix build warnings for !PM_SLEEP
2014-10-14 02:18:22 +02:00
message
mfd
Changes to existing drivers:
2014-10-15 06:58:16 +02:00
misc
cxl: Fix PSL error due to duplicate segment table entries
2014-10-28 19:52:52 +11:00
mmc
Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block
2014-10-18 12:12:45 -07:00
mtd
Three main MTD fixes for 3.18:
2014-11-02 14:45:52 -08:00
net
Merge tag 'master-2014-10-30' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2014-10-31 16:18:35 -04:00
nfc
ntb
ntb: Adding split BAR support for Haswell platforms
2014-10-17 07:08:51 -04:00
nubus
of
drivers: of: add return value to of_reserved_mem_device_init()
2014-10-29 16:33:14 -07:00
oprofile
parisc
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-10-13 16:23:15 +02:00
parport
pci
PCI updates for v3.18:
2014-10-31 18:48:29 -07:00
pcmcia
phy
pinctrl
platform
thinkpad_acpi: replace strnicmp with strncasecmp
2014-10-14 02:18:25 +02:00
pnp
PNP: replace strnicmp with strncasecmp
2014-10-14 02:18:25 +02:00
power
power: reset: at91-reset: fix power down register
2014-10-22 10:08:22 +02:00
powercap
pps
ps3
ptp
pwm
pwm: Changes for v3.18-rc1
2014-10-21 08:17:43 -07:00
rapidio
ras
regulator
Merge remote-tracking branch 'regulator/fix/rk808' into regulator-linus
2014-10-27 11:26:24 +00:00
remoteproc
reset
rpmsg
rtc
drivers/rtc/rtc-bq32k.c: fix register value
2014-10-29 16:33:14 -07:00
s390
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2014-10-21 07:47:54 -07:00
sbus
scsi
libcxgbi : support ipv6 address host_param
2014-10-28 09:57:00 +01:00
sfi
sh
sn
soc
spi
Merge remote-tracking branches 'spi/fix/dw', 'spi/fix/orion', 'spi/fix/pl022', 'spi/fix/rockchip' and 'spi/fix/spidev' into spi-linus
2014-10-27 11:26:54 +00:00
spmi
ssb
staging
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2014-11-02 10:28:43 -08:00
target
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2014-10-21 13:06:38 -07:00
tc
thermal
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
2014-10-24 11:21:43 -07:00
thunderbolt
tty
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2014-10-18 18:11:04 -07:00
uio
usb
USB-serial fixes for v3.18-rc3
2014-10-29 09:24:42 -07:00
uwb
vfio
IOMMU Updates for Linux v3.18
2014-10-15 07:23:49 +02:00
vhost
video
Merge branch '3.18/omapdss-fixes' into 3.18/fbdev-fixes
2014-10-30 14:53:49 +02:00
virt
virtio
One cc: stable commit, the rest are a series of minor cleanups which have
2014-10-18 10:25:09 -07:00
vlynq
vme
w1
watchdog
watchdog: meson: remove magic value for reboot
2014-10-20 21:09:17 +02:00
xen
xen/pci: Allocate memory for physdev_pci_device_add's optarr
2014-10-23 16:24:02 +01:00
zorro
Kconfig
ARM: tegra: Move AHB Kconfig to drivers/amba
2014-11-26 09:43:25 +01:00
Makefile