From: Magnus Damm
Extend the driver to make use of iommu_device_register()/unregister()
functions together with iommu_device_set_ops() and iommu_set_fwnode().
These used to be part of the earlier posted 64-bit ARM (r8a7795) series but
it turns out that these days they are required on 32-bit ARM
-by: Magnus Damm
---
drivers/iommu/ipmmu-vmsa.c | 21 +++--
1 file changed, 3 insertions(+), 18 deletions(-)
--- 0010/drivers/iommu/ipmmu-vmsa.c
+++ work/drivers/iommu/ipmmu-vmsa.c 2017-06-15 17:29:00.290607110 +0900
@@ -73,22 +73,9 @@ static struct ipmmu_vmsa_domain *to_vmsa
From: Magnus Damm
Now when both 32-bit and 64-bit code inside the driver is using
fwspec it is possible to replace the utlb handling with fwspec ids
that get populated from ->of_xlate().
Suggested-by: Robin Murphy
Signed-off-by: Magnus Damm
---
drivers/iommu/ipmmu-vmsa.c |
From: Magnus Damm
The 32-bit ARM code gets updated to make use of ->of_xlate() and the
code is shared between 64-bit and 32-bit ARM. The of_device_is_available()
check gets dropped since it is included in of_iommu_xlate().
Suggested-by: Robin Murphy
Signed-off-by: Magnus Damm
---
driv
Hi Geert,
On Fri, Jun 16, 2017 at 4:18 PM, Geert Uytterhoeven
wrote:
> Hi Magnus,
>
> On Thu, Jun 15, 2017 at 12:29 PM, Magnus Damm wrote:
>> Now when both 32-bit and 64-bit code inside the driver is using
>> fwspec it is possible to replace the utlb handling with f
From: Magnus Damm
Introduce struct ipmmu_features to track various hardware
and software implementation changes inside the driver for
different kinds of IPMMU hardware. Add use_ns_alias_offset
as a first example of a feature to control if the secure
register bank offset should be used or not
kes use of iommu_device_* functions
- Patch 5/9 sets the mask to 40 bits instead of 64 bits
- Patch 9/9 implements white list handling via ->xlate() and fixes a bug
Signed-off-by: Magnus Damm
---
Developed on top of next-20170614 with the following series applied
[PATCH 00/04] iommu/ipmmu-vmsa: 3
From: Magnus Damm
Add root device handling to the IPMMU driver by allowing certain
DT compat strings to enable has_cache_leaf_nodes that in turn will
support both root devices with interrupts and leaf devices that
face the actual IPMMU consumer devices.
Signed-off-by: Magnus Damm
---
Changes
From: Magnus Damm
Add support for up to 8 contexts. Each context is mapped to one
domain. One domain is assigned one or more slave devices. Contexts
are allocated dynamically and slave devices are grouped together
based on which IPMMU device they are connected to. This makes slave
devices tied
From: Magnus Damm
Introduce a feature to allow opt-out of setting up
IMBUSCR. The default case is unchanged.
Signed-off-by: Magnus Damm
---
Changes since V3:
- None
Changes since V2:
- None
Changes since V1:
- Updated the commit message
- Reworked patch to coexist with the multi
From: Magnus Damm
The r8a7795 IPMMU supports 40-bit bus mastering. Both
the coherent DMA mask and the streaming DMA mask are
set to unlock the 40-bit address space for coherent
allocations and streaming operations.
Signed-off-by: Magnus Damm
---
Changes since V3:
- None
Changes since V2
From: Magnus Damm
Introduce support for two bit SL0 bitfield in IMTTBCR
by using a separate feature flag.
Signed-off-by: Magnus Damm
---
Changes since V3:
- None
Changes since V2:
- None
Changes since V1:
- None
drivers/iommu/ipmmu-vmsa.c | 14 +-
1 file changed, 13
From: Magnus Damm
Write IMCTR both in the root device and the leaf node.
To allow access of IMCTR introduce the following function:
- ipmmu_ctx_write_all()
While at it also rename context functions:
- ipmmu_ctx_read() -> ipmmu_ctx_read_root()
- ipmmu_ctx_write() -> ipmmu_ctx_writ
From: Magnus Damm
Tie in r8a7795 features and update the IOMMU_OF_DECLARE
compat string to include the updated compat string.
Signed-off-by: Magnus Damm
---
Changes since V3:
- Rebased code on top of
[PATCH 00/04] iommu/ipmmu-vmsa: 32-bit ARM update
This includes support for
From: Magnus Damm
Hook up IOMMU_OF_DECLARE() support in case CONFIG_IOMMU_DMA
is enabled. The only current supported case for 32-bit ARM
is disabled, however for 64-bit ARM usage of OF is required.
Signed-off-by: Magnus Damm
---
Changes since V3:
- Reworked to fit on top of
[PATCH 00/04
upstream merge and includes the following tags:
Signed-off-by: Magnus Damm
Acked-by: Laurent Pinchart
Acked-by: Rob Herring
Acked-by: Simon Horman
Acked-by: Geert Uytterhoeven
Patch 2/3 and 3/3 are quite trivial but have no acked-by so far.
Signed-off-by: Magnus Damm
---
Developed on top of
From: Magnus Damm
Bump up the maximum numbers of micro-TLBS to 48.
Each IPMMU device instance get micro-TLB assignment via
the "iommus" property in DT. Older SoCs tend to use a
maximum number of 32 micro-TLBs per IPMMU instance however
newer SoCs such as r8a7796 make use of up to 48
From: Magnus Damm
Support the r8a7796 IPMMU by sharing feature flags between
r8a7795 and r8a7796. Also update IOMMU_OF_DECLARE to hook
up the updated compat string.
Signed-off-by: Magnus Damm
Reviewed-by: Geert Uytterhoeven
---
Changes since V3:
- Added Reviewed-by from Geert - thanks
From: Magnus Damm
Update the IPMMU DT binding documentation to include the r8a7796 compat
string for R-Car M3-W.
Signed-off-by: Magnus Damm
Acked-by: Laurent Pinchart
Acked-by: Rob Herring
Acked-by: Simon Horman
Acked-by: Geert Uytterhoeven
---
Changes since V3:
- None
Changes since
On Fri, Sep 23, 2016 at 6:03 PM, Simon Horman wrote:
> On Fri, Sep 23, 2016 at 10:35:06AM +0200, Geert Uytterhoeven wrote:
>> Hi Simon, Magnus,
>>
>> On Fri, Sep 23, 2016 at 10:20 AM, Simon Horman
>> wrote:
>> > This documents the SoC specific binding for the r8a779[34] SoCs.
>> > This is in keep
Hi Geert,
On Fri, Sep 30, 2016 at 4:20 PM, Geert Uytterhoeven
wrote:
> Hi Magnus,
>
> On Fri, Sep 30, 2016 at 9:07 AM, Magnus Damm wrote:
>> On Fri, Sep 23, 2016 at 6:03 PM, Simon Horman wrote:
>>> On Fri, Sep 23, 2016 at 10:35:06AM +0200, Geert Uytterhoeven wrote:
&g
From: Magnus Damm
The IPMMU driver is using DT these days, and platform data is no longer
used by the driver. Remove unused code.
Signed-off-by: Magnus Damm
Reviewed-by: Laurent Pinchart
Reviewed-by: Joerg Roedel
---
Changes since V5:
- None
Changes since V4:
- None
Changes since V3
From: Magnus Damm
Break out the domain allocation code into a separate function.
This is preparation for future code sharing.
Signed-off-by: Magnus Damm
Reviewed-by: Joerg Roedel
---
Changes since V5:
- None
Changes since V4:
- None
Changes since V3:
- None
Changes since V2
From: Magnus Damm
Break out the utlb parsing code and dev_data allocation into a
separate function. This is preparation for future code sharing.
Signed-off-by: Magnus Damm
Reviewed-by: Joerg Roedel
---
Changes since V5:
- None
Changes since V4:
- Dropped hunk with fix to apply on top of
From: Magnus Damm
Introduce a bitmap for context handing and convert the
interrupt routine to handle all registered contexts.
At this point the number of contexts are still limited.
Also remove the use of the ARM specific mapping variable
from ipmmu_irq() to allow compile on ARM64.
Signed-off
From: Magnus Damm
Not all architectures have an iommu member in their archdata, so
use #ifdefs support build wit COMPILE_TEST on any architecture.
Signed-off-by: Magnus Damm
Reviewed-by: Joerg Roedel
---
Changes since V5:
- None
Changes since V4:
- None
Changes since V3:
- New patch
From: Magnus Damm
Neither the ARM page table code enabled by IOMMU_IO_PGTABLE_LPAE
nor the IPMMU_VMSA driver actually depends on ARM_LPAE, so get
rid of the dependency.
Tested with ipmmu-vmsa on r8a7794 ALT and a kernel config using:
# CONFIG_ARM_LPAE is not set
Signed-off-by: Magnus Damm
From: Magnus Damm
Introduce an alternative set of iommu_ops suitable for 64-bit ARM
as well as 32-bit ARM when CONFIG_IOMMU_DMA=y. Also adjust the
Kconfig to depend on ARM or IOMMU_DMA.
Signed-off-by: Magnus Damm
---
Changes since V5:
- Made domain allocation/free code more consistent
Hi Joerg,
On Thu, Sep 22, 2016 at 11:45 PM, Joerg Roedel wrote:
> On Tue, Sep 20, 2016 at 10:44:46PM +0900, Magnus Damm wrote:
>> +#ifdef CONFIG_IOMMU_DMA
>> +
>> +static struct iommu_domain *ipmmu_domain_alloc_dma(unsigned type)
>> +{
>> + struct iommu_do
from initial series
- Updated bitmap code locking and also used lighter bitop functions
- Updated the Kconfig bits to apply on top of ARCH_RENESAS
Signed-off-by: Magnus Damm
---
Built on top next-20161019:
drivers/iommu/Kconfig |2
drivers/iommu/ipmmu-vmsa.c | 311
Commit-ID: e03f9088e22ca7e2b0de826466540e2527518e52
Gitweb: http://git.kernel.org/tip/e03f9088e22ca7e2b0de826466540e2527518e52
Author: Magnus Damm
AuthorDate: Wed, 3 Dec 2014 21:18:03 +0900
Committer: Thomas Gleixner
CommitDate: Mon, 26 Jan 2015 11:38:22 +0100
irqchip: renesas-intc
Commit-ID: 43881ec7a88a3d3b2fd6da58168173e135b41fba
Gitweb: http://git.kernel.org/tip/43881ec7a88a3d3b2fd6da58168173e135b41fba
Author: Magnus Damm
AuthorDate: Wed, 4 Dec 2013 21:05:56 +0900
Committer: Thomas Gleixner
CommitDate: Wed, 22 Jan 2014 21:48:55 +0100
irqchip: renesas-irqc
Commit-ID: 3aba55605326be6d7e624090858aa921ab519cda
Gitweb: http://git.kernel.org/tip/3aba55605326be6d7e624090858aa921ab519cda
Author: Magnus Damm
AuthorDate: Wed, 4 Dec 2013 21:05:46 +0900
Committer: Thomas Gleixner
CommitDate: Wed, 22 Jan 2014 21:48:55 +0100
irqchip: renesas-irqc
Commit-ID: 35c3f67f11849d80cc0e3cd3dd898977567c9c29
Gitweb: http://git.kernel.org/tip/35c3f67f11849d80cc0e3cd3dd898977567c9c29
Author: Magnus Damm
AuthorDate: Mon, 20 Jul 2015 19:06:14 +0900
Committer: Thomas Gleixner
CommitDate: Mon, 20 Jul 2015 13:18:59 +0200
irqchip/renesas-irqc
Commit-ID: 7d153751c79e84a88e8c80e82ee5293085b9081b
Gitweb: http://git.kernel.org/tip/7d153751c79e84a88e8c80e82ee5293085b9081b
Author: Magnus Damm
AuthorDate: Mon, 20 Jul 2015 19:06:25 +0900
Committer: Thomas Gleixner
CommitDate: Mon, 20 Jul 2015 13:19:00 +0200
irqchip/renesas-irqc
Commit-ID: e10fc03c4f89e5191f0ad2a3885d476f498bf131
Gitweb: http://git.kernel.org/tip/e10fc03c4f89e5191f0ad2a3885d476f498bf131
Author: Magnus Damm
AuthorDate: Mon, 20 Jul 2015 19:06:35 +0900
Committer: Thomas Gleixner
CommitDate: Mon, 20 Jul 2015 13:19:00 +0200
irqchip/renesas-irqc
Commit-ID: e7dbe2da5e8e247c6e62a0894935d94d7153ed16
Gitweb: http://git.kernel.org/tip/e7dbe2da5e8e247c6e62a0894935d94d7153ed16
Author: Magnus Damm
AuthorDate: Mon, 28 Sep 2015 18:42:28 +0900
Committer: Thomas Gleixner
CommitDate: Tue, 29 Sep 2015 20:41:00 +0200
irqchip/renesas-irqc
Commit-ID: 99c221df33fbfa1b30e15dee879eb0a9ae1be353
Gitweb: http://git.kernel.org/tip/99c221df33fbfa1b30e15dee879eb0a9ae1be353
Author: Magnus Damm
AuthorDate: Mon, 28 Sep 2015 18:42:37 +0900
Committer: Thomas Gleixner
CommitDate: Tue, 29 Sep 2015 20:41:00 +0200
irqchip/renesas-irqc
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 8c1afba285a86b9dbb0637f8c70a34fe2d88569e
Gitweb:
https://git.kernel.org/tip/8c1afba285a86b9dbb0637f8c70a34fe2d88569e
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:56 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 81b604c39997de91f4b2912f803074c85045fe36
Gitweb:
https://git.kernel.org/tip/81b604c39997de91f4b2912f803074c85045fe36
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:14 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 53933bc3a69e0f07a1af2fea16fda9c816ffcf87
Gitweb:
https://git.kernel.org/tip/53933bc3a69e0f07a1af2fea16fda9c816ffcf87
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:36 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 19d608458f4f3bb3a1f89bd7e4814c3fd30dbec7
Gitweb:
https://git.kernel.org/tip/19d608458f4f3bb3a1f89bd7e4814c3fd30dbec7
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:36:07 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: c90d37c9c41a572ea7183299951341b4640d5b4b
Gitweb:
https://git.kernel.org/tip/c90d37c9c41a572ea7183299951341b4640d5b4b
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:03 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 1be8c9fd2ac9ad730cf537b8909f66c357866c5d
Gitweb:
https://git.kernel.org/tip/1be8c9fd2ac9ad730cf537b8909f66c357866c5d
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:46 +09:00
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 649dd060334f13792f624ec3fa8a0024ed1e02bc
Gitweb:
https://git.kernel.org/tip/649dd060334f13792f624ec3fa8a0024ed1e02bc
Author:Magnus Damm
AuthorDate:Tue, 20 Aug 2019 21:35:25 +09:00
601 - 645 of 645 matches
Mail list logo