21 Jun, 2016
4 commits
-
This iommu uses the armv7 short descriptor format. So use the
generic ARMV7S pagetable ops instead of rewriting the same stuff
in the driver.Signed-off-by: Sricharan R
Tested-by: Archit Taneja
Tested-by: Srinivas Kandagatla
Signed-off-by: Joerg Roedel -
This adds the xlate callback which gets invoked during
device registration from DT. The master devices gets added
through this.Signed-off-by: Sricharan R
Tested-by: Archit Taneja
Tested-by: Srinivas Kandagatla
Signed-off-by: Joerg Roedel -
There are only two functions left in msm_iommu_dev.c. Move it to
msm_iommu.c and delete the file.Signed-off-by: Sricharan R
Tested-by: Archit Taneja
Tested-by: Srinivas Kandagatla
Signed-off-by: Joerg Roedel -
The driver currently works based on platform data. Remove this
and add support for DT. A single master can have multiple ports
connected to more than one iommu.master
|
|
|
------------------------
| |
IOMMU0 IOMMU1
| |
ctx0 ctx1 ctx0 ctx1This association of master and iommus/contexts were previously
represented by platform data parent/child device details. The client
drivers were responsible for programming all of the iommus/contexts
for the device. Now while adapting to generic DT bindings we maintain the
list of iommus, contexts that each master domain is connected to and
program all of them on attach/detach.Signed-off-by: Sricharan R
Tested-by: Archit Taneja
Tested-by: Srinivas Kandagatla
Signed-off-by: Joerg Roedel
14 Aug, 2015
1 commit
-
Found by a coccicheck script.
Signed-off-by: Joerg Roedel
31 Mar, 2015
1 commit
-
Implement domain_alloc and domain_free iommu-ops as a
replacement for domain_init/domain_destroy.Signed-off-by: Joerg Roedel
02 Dec, 2014
1 commit
-
… 'x86/vt-d', 'x86/amd' and 'core' into next
Conflicts:
drivers/iommu/arm-smmu.c
04 Nov, 2014
1 commit
-
Mapping and unmapping are more often than not in the critical path.
map_sg allows IOMMU driver implementations to optimize the process
of mapping buffers into the IOMMU page tables.Instead of mapping a buffer one page at a time and requiring potentially
expensive TLB operations for each page, this function allows the driver
to map all pages in one go and defer TLB maintenance until after all
pages have been mapped.Additionally, the mapping operation would be faster in general since
clients does not have to keep calling map API over and over again for
each physically contiguous chunk of memory that needs to be mapped to a
virtually contiguous region.Signed-off-by: Olav Haugan
Signed-off-by: Joerg Roedel
23 Oct, 2014
1 commit
-
A semantic patch approach was proposed with the subject
"[PATCH with Coccinelle?] Deletion of unnecessary checks
before specific function calls" on 2014-03-05.
https://lkml.org/lkml/2014/3/5/344
http://article.gmane.org/gmane.comp.version-control.coccinelle/3513/This patch pattern application was repeated with the help of
the software "Coccinelle 1.0.0-rc22" on the source files for
Linux 3.17.1. An extract of the automatically generated
update suggestions is shown here.It was determined that the affected source code places call
functions which perform input parameter validation already.
It is therefore not needed that a similar safety check is
repeated at the call site.Signed-off-by: Markus Elfring
Signed-off-by: Joerg Roedel
25 Sep, 2014
1 commit
-
Signed-off-by: Joerg Roedel
07 Jul, 2014
1 commit
-
This structure is read-only data and should never be modified.
Signed-off-by: Thierry Reding
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: Joerg Roedel
07 Aug, 2013
1 commit
-
Two header files exist in mach-msm's include/mach directory that
are only used by the MSM iommu driver. Move these files to the
iommu driver directory and prefix them with "msm_". This allows
us to compile the MSM iommu driver on multi-platform kernels.Acked-by: Joerg Roedel
Cc: Stepan Moskovchenko
Signed-off-by: Stephen Boyd
Signed-off-by: David Brown
03 Apr, 2013
1 commit
-
This is required in case of PAMU, as it can support a window size of up
to 64G (even on 32bit).Signed-off-by: Varun Sethi
Signed-off-by: Joerg Roedel
11 Jul, 2012
1 commit
-
Implement the attribute for the MSM IOMMU driver.
Acked-by: David Brown
Signed-off-by: Joerg Roedel
30 Jan, 2012
1 commit
-
Error handling in msm_iommu_unmap() is broken. On some error
conditions retval is set to a non-zero value which causes
the function to return 'len' at the end. This hides the
error from the user. Zero should be returned in those error
cases.Cc: David Brown
Cc: Stepan Moskovchenko
Cc: stable@vger.kernel.org # >= 3.1
Signed-off-by: Joerg Roedel
Acked-by: David Brown
10 Nov, 2011
2 commits
-
Let the IOMMU core know we support 4KiB, 64KiB, 1MiB and 16MiB page sizes.
This way the IOMMU core can split any arbitrary-sized physically
contiguous regions (that it needs to map) as needed.Signed-off-by: Ohad Ben-Cohen
Acked-by: David Brown
Cc: Stepan Moskovchenko
Signed-off-by: Joerg Roedel -
Express sizes in bytes rather than in page order, to eliminate the
size->order->size conversions we have whenever the IOMMU API is calling
the low level drivers' map/unmap methods.Adopt all existing drivers.
Signed-off-by: Ohad Ben-Cohen
Cc: David Brown
Cc: David Woodhouse
Cc: Joerg Roedel
Cc: Stepan Moskovchenko
Cc: KyongHo Cho
Cc: Hiroshi DOYU
Cc: Laurent Pinchart
Signed-off-by: Joerg Roedel
21 Oct, 2011
1 commit
-
Convert the MSM IOMMU driver for ARM to use the new
interface for publishing the iommu_ops.Acked-by: David Brown
Signed-off-by: Joerg Roedel
05 Sep, 2011
1 commit
-
Users of the IOMMU API (kvm specifically) assume that iommu_unmap()
returns the order of the unmapped page (on success).Fix msm_iommu_unmap() accordingly.
Signed-off-by: Ohad Ben-Cohen
Cc: Stepan Moskovchenko
Cc: David Brown
Acked-by: David Brown
Signed-off-by: Joerg Roedel
21 Jun, 2011
1 commit
-
This should ease finding similarities with different platforms,
with the intention of solving problems once in a generic framework
which everyone can use.Compile-tested for MSM8X60.
Signed-off-by: Ohad Ben-Cohen
Acked-by: David Brown
Signed-off-by: Joerg Roedel