<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/io-pgtable.h, branch v5.4.262</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.4.262</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.4.262'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2019-08-30T14:12:10Z</updated>
<entry>
<title>Merge branch 'arm/smmu' into arm/mediatek</title>
<updated>2019-08-30T14:12:10Z</updated>
<author>
<name>Joerg Roedel</name>
<email>jroedel@suse.de</email>
</author>
<published>2019-08-30T14:12:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4c008893415385a0941bbb626c666620a4d7ab00'/>
<id>urn:sha1:4c008893415385a0941bbb626c666620a4d7ab00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>iommu/io-pgtable-arm-v7s: Extend to support PA[33:32] for MediaTek</title>
<updated>2019-08-30T13:57:26Z</updated>
<author>
<name>Yong Wu</name>
<email>yong.wu@mediatek.com</email>
</author>
<published>2019-08-24T03:01:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4c019de653237674d38cf2b3119153b144ffe173'/>
<id>urn:sha1:4c019de653237674d38cf2b3119153b144ffe173</id>
<content type='text'>
MediaTek extend the arm v7s descriptor to support up to 34 bits PA where
the bit32 and bit33 are encoded in the bit9 and bit4 of the PTE
respectively. Meanwhile the iova still is 32bits.

Regarding whether the pagetable address could be over 4GB, the mt8183
support it while the previous mt8173 don't, thus keep it as is.

Signed-off-by: Yong Wu &lt;yong.wu@mediatek.com&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable-arm-v7s: Rename the quirk from MTK_4GB to MTK_EXT</title>
<updated>2019-08-30T13:57:26Z</updated>
<author>
<name>Yong Wu</name>
<email>yong.wu@mediatek.com</email>
</author>
<published>2019-08-24T03:01:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=73d50811bc91d2a173213a78b6b43ac762f6cc54'/>
<id>urn:sha1:73d50811bc91d2a173213a78b6b43ac762f6cc54</id>
<content type='text'>
In previous mt2712/mt8173, MediaTek extend the v7s to support 4GB dram.
But in the latest mt8183, We extend it to support the PA up to 34bit.
Then the "MTK_4GB" name is not so fit, This patch only change the quirk
name to "MTK_EXT".

Signed-off-by: Yong Wu &lt;yong.wu@mediatek.com&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Pass struct iommu_iotlb_gather to -&gt;tlb_add_page()</title>
<updated>2019-07-29T16:22:59Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:45:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3951c41af4a65ba418e6b1b973d398552bedb84f'/>
<id>urn:sha1:3951c41af4a65ba418e6b1b973d398552bedb84f</id>
<content type='text'>
With all the pieces in place, we can finally propagate the
iommu_iotlb_gather structure from the call to unmap() down to the IOMMU
drivers' implementation of -&gt;tlb_add_page(). Currently everybody ignores
it, but the machinery is now there to defer invalidation.

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Pass struct iommu_iotlb_gather to -&gt;unmap()</title>
<updated>2019-07-29T16:22:59Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:44:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a2d3a382d6c682e22b263c9e7f0d857c3fa6c9d6'/>
<id>urn:sha1:a2d3a382d6c682e22b263c9e7f0d857c3fa6c9d6</id>
<content type='text'>
Update the io-pgtable -&gt;unmap() function to take an iommu_iotlb_gather
pointer as an argument, and update the callers as appropriate.

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Remove unused -&gt;tlb_sync() callback</title>
<updated>2019-07-29T16:22:58Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:44:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e953f7f2fa78d1c7fd064171f88457c6b1e21af9'/>
<id>urn:sha1:e953f7f2fa78d1c7fd064171f88457c6b1e21af9</id>
<content type='text'>
The -&gt;tlb_sync() callback is no longer used, so it can be removed.

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Replace -&gt;tlb_add_flush() with -&gt;tlb_add_page()</title>
<updated>2019-07-29T16:22:57Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:44:41Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=abfd6fe0cd535d31ee83b668be6eb59ce6a8469d'/>
<id>urn:sha1:abfd6fe0cd535d31ee83b668be6eb59ce6a8469d</id>
<content type='text'>
The -&gt;tlb_add_flush() callback in the io-pgtable API now looks a bit
silly:

  - It takes a size and a granule, which are always the same
  - It takes a 'bool leaf', which is always true
  - It only ever flushes a single page

With that in mind, replace it with an optional -&gt;tlb_add_page() callback
that drops the useless parameters.

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable-arm: Call -&gt;tlb_flush_walk() and -&gt;tlb_flush_leaf()</title>
<updated>2019-07-29T16:22:57Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:44:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=10b7a7d912697afd681a0bcfced9e05543aded35'/>
<id>urn:sha1:10b7a7d912697afd681a0bcfced9e05543aded35</id>
<content type='text'>
Now that all IOMMU drivers using the io-pgtable API implement the
-&gt;tlb_flush_walk() and -&gt;tlb_flush_leaf() callbacks, we can use them in
the io-pgtable code instead of -&gt;tlb_add_flush() immediately followed by
-&gt;tlb_sync().

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Introduce tlb_flush_walk() and tlb_flush_leaf()</title>
<updated>2019-07-29T16:22:55Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3445545b2248300319b6965208e77140c960c3fd'/>
<id>urn:sha1:3445545b2248300319b6965208e77140c960c3fd</id>
<content type='text'>
In preparation for deferring TLB flushes to iommu_tlb_sync(), introduce
two new synchronous invalidation helpers to the io-pgtable API, which
allow the unmap() code to force invalidation in cases where it cannot be
deferred (e.g. when replacing a table with a block or when TLBI_ON_MAP
is set).

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu/io-pgtable: Rename iommu_gather_ops to iommu_flush_ops</title>
<updated>2019-07-24T12:32:33Z</updated>
<author>
<name>Will Deacon</name>
<email>will@kernel.org</email>
</author>
<published>2019-07-02T15:43:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=298f78895b081911e0b3605f07d79ebd3d4cf7b0'/>
<id>urn:sha1:298f78895b081911e0b3605f07d79ebd3d4cf7b0</id>
<content type='text'>
In preparation for TLB flush gathering in the IOMMU API, rename the
iommu_gather_ops structure in io-pgtable to iommu_flush_ops, which
better describes its purpose and avoids the potential for confusion
between different levels of the API.

$ find linux/ -type f -name '*.[ch]' | xargs sed -i 's/gather_ops/flush_ops/g'

Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
</feed>
