<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/io-pgtable.h, branch v5.19.9</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.19.9</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.19.9'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2022-08-25T09:45:48Z</updated>
<entry>
<title>iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit</title>
<updated>2022-08-25T09:45:48Z</updated>
<author>
<name>Yunfei Wang</name>
<email>yf.wang@mediatek.com</email>
</author>
<published>2022-06-30T09:29:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b4f50e13d7eab6f806b214c4168e797a3acbc34c'/>
<id>urn:sha1:b4f50e13d7eab6f806b214c4168e797a3acbc34c</id>
<content type='text'>
[ Upstream commit bfdd231374181254742c5e2faef0bef2d30c0ee4 ]

Single memory zone feature will remove ZONE_DMA32 and ZONE_DMA and
cause pgtable PA size larger than 32bit.

Since Mediatek IOMMU hardware support at most 35bit PA in pgtable,
so add a quirk to allow the PA of pgtables support up to bit35.

Signed-off-by: Ning Li &lt;ning.li@mediatek.com&gt;
Signed-off-by: Yunfei Wang &lt;yf.wang@mediatek.com&gt;
Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Link: https://lore.kernel.org/r/20220630092927.24925-2-yf.wang@mediatek.com
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next</title>
<updated>2021-08-20T15:14:35Z</updated>
<author>
<name>Joerg Roedel</name>
<email>jroedel@suse.de</email>
</author>
<published>2021-08-20T15:14:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d8768d7eb9c21ef928adb93402d9348bcc4a6915'/>
<id>urn:sha1:d8768d7eb9c21ef928adb93402d9348bcc4a6915</id>
<content type='text'>
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Remove non-strict quirk</title>
<updated>2021-08-18T11:25:32Z</updated>
<author>
<name>Robin Murphy</name>
<email>robin.murphy@arm.com</email>
</author>
<published>2021-08-11T12:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a8e5f04458c4e496eada2b029ce96713bb6c388d'/>
<id>urn:sha1:a8e5f04458c4e496eada2b029ce96713bb6c388d</id>
<content type='text'>
IO_PGTABLE_QUIRK_NON_STRICT was never a very comfortable fit, since it's
not a quirk of the pagetable format itself. Now that we have a more
appropriate way to convey non-strict unmaps, though, this last of the
non-quirk quirks can also go, and with the flush queue code also now
enforcing its own ordering we can have a lovely cleanup all round.

Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Link: https://lore.kernel.org/r/155b5c621cd8936472e273a8b07a182f62c6c20d.1628682049.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Add DART pagetable format</title>
<updated>2021-08-12T11:15:02Z</updated>
<author>
<name>Sven Peter</name>
<email>sven@svenpeter.dev</email>
</author>
<published>2021-08-03T12:16:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=892384cd998a17960dff6ebefc27375f63364111'/>
<id>urn:sha1:892384cd998a17960dff6ebefc27375f63364111</id>
<content type='text'>
Apple's DART iommu uses a pagetable format that shares some
similarities with the ones already implemented by io-pgtable.c.
Add a new format variant to support the required differences
so that we don't have to duplicate the pagetable handling code.

Reviewed-by: Alexander Graf &lt;graf@amazon.com&gt;
Reviewed-by: Alyssa Rosenzweig &lt;alyssa.rosenzweig@collabora.com&gt;
Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Link: https://lore.kernel.org/r/20210803121651.61594-2-sven@svenpeter.dev
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Introduce map_pages() as a page table op</title>
<updated>2021-07-26T10:37:07Z</updated>
<author>
<name>Isaac J. Manjarres</name>
<email>isaacm@codeaurora.org</email>
</author>
<published>2021-06-16T13:38:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ca073b55d16a83ba7e73cd313312abc68f07f293'/>
<id>urn:sha1:ca073b55d16a83ba7e73cd313312abc68f07f293</id>
<content type='text'>
Mapping memory into io-pgtables follows the same semantics
that unmapping memory used to follow (i.e. a buffer will be
mapped one page block per call to the io-pgtable code). This
means that it can be optimized in the same way that unmapping
memory was, so add a map_pages() callback to the io-pgtable
ops structure, so that a range of pages of the same size
can be mapped within the same call.

Signed-off-by: Isaac J. Manjarres &lt;isaacm@codeaurora.org&gt;
Suggested-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Georgi Djakov &lt;quic_c_gdjako@quicinc.com&gt;
Link: https://lore.kernel.org/r/1623850736-389584-4-git-send-email-quic_c_gdjako@quicinc.com
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Introduce unmap_pages() as a page table op</title>
<updated>2021-07-26T10:37:06Z</updated>
<author>
<name>Isaac J. Manjarres</name>
<email>isaacm@codeaurora.org</email>
</author>
<published>2021-06-16T13:38:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=374c15594c4ee0dfcceb38852bd43be09070f402'/>
<id>urn:sha1:374c15594c4ee0dfcceb38852bd43be09070f402</id>
<content type='text'>
The io-pgtable code expects to operate on a single block or
granule of memory that is supported by the IOMMU hardware when
unmapping memory.

This means that when a large buffer that consists of multiple
such blocks is unmapped, the io-pgtable code will walk the page
tables to the correct level to unmap each block, even for blocks
that are virtually contiguous and at the same level, which can
incur an overhead in performance.

Introduce the unmap_pages() page table op to express to the
io-pgtable code that it should unmap a number of blocks of
the same size, instead of a single block. Doing so allows
multiple blocks to be unmapped in one call to the io-pgtable
code, reducing the number of page table walks, and indirect
calls.

Signed-off-by: Isaac J. Manjarres &lt;isaacm@codeaurora.org&gt;
Suggested-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Georgi Djakov &lt;quic_c_gdjako@quicinc.com&gt;
Link: https://lore.kernel.org/r/1623850736-389584-2-git-send-email-quic_c_gdjako@quicinc.com
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFG</title>
<updated>2021-04-07T08:56:53Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2021-04-01T15:52:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4fc52b81e87be583efb834df5b58245cb9ddd3e7'/>
<id>urn:sha1:4fc52b81e87be583efb834df5b58245cb9ddd3e7</id>
<content type='text'>
Use an explicit set_pgtable_quirks method instead that just passes
the actual quirk bitmask instead.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Acked-by: Li Yang &lt;leoyang.li@nxp.com&gt;
Link: https://lore.kernel.org/r/20210401155256.298656-20-hch@lst.de
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next</title>
<updated>2021-02-12T14:27:17Z</updated>
<author>
<name>Joerg Roedel</name>
<email>jroedel@suse.de</email>
</author>
<published>2021-02-12T14:27:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=45e606f2726926b04094e1c9bf809bca4884c57f'/>
<id>urn:sha1:45e606f2726926b04094e1c9bf809bca4884c57f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek</title>
<updated>2021-02-01T11:31:17Z</updated>
<author>
<name>Yong Wu</name>
<email>yong.wu@mediatek.com</email>
</author>
<published>2021-01-11T11:18:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=40596d2f2b6075f6c33180b2f55c814ff4885475'/>
<id>urn:sha1:40596d2f2b6075f6c33180b2f55c814ff4885475</id>
<content type='text'>
MediaTek extend the bit5 in lvl1 and lvl2 descriptor as PA34.

Signed-off-by: Yong Wu &lt;yong.wu@mediatek.com&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt;
Link: https://lore.kernel.org/r/20210111111914.22211-11-yong.wu@mediatek.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Remove TLBI_ON_MAP quirk</title>
<updated>2021-01-28T21:05:11Z</updated>
<author>
<name>Robin Murphy</name>
<email>robin.murphy@arm.com</email>
</author>
<published>2021-01-27T16:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3d5eab41451f8e28f3e45eef8f6b372bf56612fb'/>
<id>urn:sha1:3d5eab41451f8e28f3e45eef8f6b372bf56612fb</id>
<content type='text'>
IO_PGTABLE_QUIRK_TLBI_ON_MAP is now fully superseded by the
core API's iotlb_sync_map callback.

Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt;
Link: https://lore.kernel.org/r/5abb80bba3a7c371d5ffb7e59c05586deddb9a91.1611764372.git.robin.murphy@arm.com
[will: Remove unused 'iop' local variable from arm_v7s_map()]
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
</feed>
