<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/iommu, branch v2026.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/iommu?h=v2026.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/iommu?h=v2026.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2025-10-30T17:04:51Z</updated>
<entry>
<title>iommu: qcom-smmu: Introduce sc7180 compatible string</title>
<updated>2025-10-30T17:04:51Z</updated>
<author>
<name>George Chan</name>
<email>gchan9527@gmail.com</email>
</author>
<published>2025-10-20T16:23:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5d6042ce3fdacefb075ef22ca9e14a7d13f43eca'/>
<id>urn:sha1:5d6042ce3fdacefb075ef22ca9e14a7d13f43eca</id>
<content type='text'>
Add basic compatible string for sc7180 family soc.

Signed-off-by: Vitalii Skorkin &lt;nikroks@mainlining.org&gt;
Co-developed-by: George Chan &lt;gchan9527@gmail.com&gt;
Signed-off-by: George Chan &lt;gchan9527@gmail.com&gt;
Reviewed-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
Link: https://patch.msgid.link/20251021-sc7180-minor-v1-1-9fe33c73365e@gmail.com
Signed-off-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>iommu: qcom-smmu: Add qcom,sm6350-smmu-500 compatible</title>
<updated>2025-10-29T11:27:33Z</updated>
<author>
<name>Luca Weiss</name>
<email>luca.weiss@fairphone.com</email>
</author>
<published>2025-09-17T12:47:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=11003e47800f572c4506d6bd1e7c049b2f90fd16'/>
<id>urn:sha1:11003e47800f572c4506d6bd1e7c049b2f90fd16</id>
<content type='text'>
This SoC doesn't have the generic compatible.

Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Signed-off-by: Luca Weiss &lt;luca.weiss@fairphone.com&gt;
</content>
</entry>
<entry>
<title>iommu: qcom-smmu: add missing linux/bug.h header for WARN_ON</title>
<updated>2025-06-14T15:11:10Z</updated>
<author>
<name>Christian Marangi</name>
<email>ansuelsmth@gmail.com</email>
</author>
<published>2025-06-07T21:11:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1f1aafe0b526ae22b0b1673d440c58fa99d5d4bf'/>
<id>urn:sha1:1f1aafe0b526ae22b0b1673d440c58fa99d5d4bf</id>
<content type='text'>
The WARN macro requires inclusion of linux/bug.h header. It does
currently work as bitfield.h includes it indirectly but this will
change when bitfield.h will be synced with new Linux version.

Explicitly include the header to fix future compilation error.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge patch series "Fix device removal order for Apple dart iommu"</title>
<updated>2024-11-24T21:41:32Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-11-24T21:41:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=880fcc49eb40a78ed27ff575aa02034d7bd74e80'/>
<id>urn:sha1:880fcc49eb40a78ed27ff575aa02034d7bd74e80</id>
<content type='text'>
Janne Grunau &lt;j@jannau.net&gt; says:

Starting with v2024.10 dev_iommu_dma_unmap calls during device removal
trigger a NULL pointer dereference in the Apple dart iommu driver. The
iommu device is removed before its user. The sparsely used DM_FLAG_VITAL
flag is intended to describe this dependency. Add it to the driver.

Adding this flag is unfortunately not enough since the boot routines
except the arm one simply remove all drivers. Add and use a new function
which calls
    dm_remove_devioce_flags(DM_REMOVE_ACTIVE_ALL | DM_REMOVE_NON_VITAL);
    dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
to ensure this order dependency is head consistently.

Link: https://lore.kernel.org/r/20241123-iommu_apple_dart_ordering-v2-0-cc2ade6dde97@jannau.net
</content>
</entry>
<entry>
<title>iommu: apple: Mark device with DM_FLAG_VITAL</title>
<updated>2024-11-24T21:41:28Z</updated>
<author>
<name>Janne Grunau</name>
<email>j@jannau.net</email>
</author>
<published>2024-11-23T21:44:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=544a76bac3393045e86a56cc5dfe2477e437c59b'/>
<id>urn:sha1:544a76bac3393045e86a56cc5dfe2477e437c59b</id>
<content type='text'>
Avoids NULL pointer dereferences in apple_dart_unmap when the iommu
device is removed before its user. U-boot's device model does not track
dependencies between devices.
Observed on a M1 Ultra Mac Studio with v2024.10.

Acked-by: Mark Kettenis &lt;kettenis@openbsd.org&gt;
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
</content>
</entry>
<entry>
<title>iommu: qcom-smmu: handle running in el2</title>
<updated>2024-11-20T16:57:58Z</updated>
<author>
<name>Caleb Connolly</name>
<email>caleb.connolly@linaro.org</email>
</author>
<published>2024-11-13T05:09:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e55fc3ab205c6e81ac52fe2550478ea746d9b512'/>
<id>urn:sha1:e55fc3ab205c6e81ac52fe2550478ea746d9b512</id>
<content type='text'>
We only need to configure the SMMU when running in EL1. In EL2 the
hypervisor isn't running so peripherals can just do DMA as they wish.

Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Signed-off-by: Caleb Connolly &lt;caleb.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>iommu: qcom-smmu: allow SID 0</title>
<updated>2024-11-20T16:57:58Z</updated>
<author>
<name>Caleb Connolly</name>
<email>caleb.connolly@linaro.org</email>
</author>
<published>2024-11-13T05:00:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=53c0f1beac1e528f4ccfd116d6d4fde9881b3c91'/>
<id>urn:sha1:53c0f1beac1e528f4ccfd116d6d4fde9881b3c91</id>
<content type='text'>
It turns out this is a very real stream ID. Who woulda thought?

Drop the 0 check on the SID, there's no reason for it to be there in the first
place.

Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Signed-off-by: Caleb Connolly &lt;caleb.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>iommu: apple: Manage IOVA separately from global LMB mem map</title>
<updated>2024-11-11T13:26:44Z</updated>
<author>
<name>Janne Grunau</name>
<email>j@jannau.net</email>
</author>
<published>2024-11-11T06:56:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f642f344348558e05902175e7517c7a12f2c5562'/>
<id>urn:sha1:f642f344348558e05902175e7517c7a12f2c5562</id>
<content type='text'>
There is no overlap between the IOVA space managed by the iommu (here
the 32-bit address space) and physical RAM on Apple silicon systems. The
RAM starts at 0x10_0000_0000 or 0x100_0000_0000 so it's not possible to
manage the IOVA with the global memory LMB and use 1:1 translation.
In addition each device has its own iommu and does not need to share the
address space with all other devices. This should not be problem for
u-boot's limited use and hardware support.
Restore the private per instance LMB IOVA map.

Fixes: ed17a33fed2 ("lmb: make LMB memory map persistent and global")
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
</content>
</entry>
<entry>
<title>iommu: qcom-smmu: add sc7280-smmu-500 compatible</title>
<updated>2024-09-06T08:47:47Z</updated>
<author>
<name>Caleb Connolly</name>
<email>caleb.connolly@linaro.org</email>
</author>
<published>2024-08-21T13:41:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2bb90ac29fcf04ecc3ff8eb5d419549ba59077b0'/>
<id>urn:sha1:2bb90ac29fcf04ecc3ff8eb5d419549ba59077b0</id>
<content type='text'>
This soc doesn't have the generic compatible.

Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Caleb Connolly &lt;caleb.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>sandbox: iommu: remove lmb allocation in the driver</title>
<updated>2024-09-03T20:08:50Z</updated>
<author>
<name>Sughosh Ganu</name>
<email>sughosh.ganu@linaro.org</email>
</author>
<published>2024-08-26T11:59:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=727c4348d3d07d6732bf3e6e60565776444e1cc9'/>
<id>urn:sha1:727c4348d3d07d6732bf3e6e60565776444e1cc9</id>
<content type='text'>
The sandbox iommu driver uses the LMB module to allocate a particular
range of memory for the device virtual address(DVA). This used to work
earlier since the LMB memory map was caller specific and not
global. But with the change to make the LMB allocations global and
persistent, adding this memory range has other side effects. On the
other hand, the sandbox iommu test expects to see this particular
value of the DVA. Use the DVA address directly, instead of mapping it
in the LMB memory map, and then have it allocated.

Signed-off-by: Sughosh Ganu &lt;sughosh.ganu@linaro.org&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
