<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/iommu, branch linux-3.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-01-26T16:40:14Z</updated>
<entry>
<title>iommu/amd: Fix the left value check of cmd buffer</title>
<updated>2017-01-26T16:40:14Z</updated>
<author>
<name>Huang Rui</name>
</author>
<published>2016-12-12T12:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70eaa9c0da68624ad4fe6b46162156205b886927'/>
<id>urn:sha1:70eaa9c0da68624ad4fe6b46162156205b886927</id>
<content type='text'>
commit 432abf68a79332282329286d190e21fe3ac02a31 upstream.

The generic command buffer entry is 128 bits (16 bytes), so the offset
of tail and head pointer should be 16 bytes aligned and increased with
0x10 per command.

When cmd buf is full, head = (tail + 0x10) % CMD_BUFFER_SIZE.

So when left space of cmd buf should be able to store only two
command, we should be issued one COMPLETE_WAIT additionally to wait
all older commands completed. Then the left space should be increased
after IOMMU fetching from cmd buf.

So left check value should be left &lt;= 0x20 (two commands).

Signed-off-by: Huang Rui &lt;ray.huang@amd.com&gt;
Fixes: ac0ea6e92b222 ('x86/amd-iommu: Improve handling of full command buffer')
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/amd: Free domain id when free a domain of struct dma_ops_domain</title>
<updated>2016-11-24T15:23:47Z</updated>
<author>
<name>Baoquan He</name>
</author>
<published>2016-09-15T08:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1fd4c5e383c44934691f1d2fb356a8533591fa8e'/>
<id>urn:sha1:1fd4c5e383c44934691f1d2fb356a8533591fa8e</id>
<content type='text'>
commit c3db901c54466a9c135d1e6e95fec452e8a42666 upstream.

The current code missed freeing domain id when free a domain of
struct dma_ops_domain.

Signed-off-by: Baoquan He &lt;bhe@redhat.com&gt;
Fixes: ec487d1a110a ('x86, AMD IOMMU: add domain allocation and deallocation functions')
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/amd: Update Alias-DTE in update_device_table()</title>
<updated>2016-10-06T06:22:01Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2016-07-26T13:18:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca7119939db8a242ce3848f44c6039e06a8563bb'/>
<id>urn:sha1:ca7119939db8a242ce3848f44c6039e06a8563bb</id>
<content type='text'>
commit 3254de6bf74fe94c197c9f819fe62a3a3c36f073 upstream.

Not doing so might cause IO-Page-Faults when a device uses
an alias request-id and the alias-dte is left in a lower
page-mode which does not cover the address allocated from
the iova-allocator.

Fixes: 492667dacc0a ('x86/amd-iommu: Remove amd_iommu_pd_table')
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>iommu/amd: Fix boot warning when device 00:00.0 is not iommu covered</title>
<updated>2016-03-07T15:05:23Z</updated>
<author>
<name>Suravee Suthikulpanit</name>
</author>
<published>2016-02-23T12:03:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7532136e1a5e84d6e396c3057e33e23d56efe268'/>
<id>urn:sha1:7532136e1a5e84d6e396c3057e33e23d56efe268</id>
<content type='text'>
commit 38e45d02ea9f194b89d6bf41e52ccafc8e2c2b47 upstream.

The setup code for the performance counters in the AMD IOMMU driver
tests whether the counters can be written. It tests to setup a counter
for device 00:00.0, which fails on systems where this particular device
is not covered by the IOMMU.

Fix this by not relying on device 00:00.0 but only on the IOMMU being
present.

Signed-off-by: Suravee Suthikulpanit &lt;Suravee.Suthikulpanit@amd.com&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG</title>
<updated>2016-02-25T09:49:11Z</updated>
<author>
<name>CQ Tang</name>
</author>
<published>2016-01-13T21:15:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d11bce1f90f52c278a53c127cf65fbfe294f3594'/>
<id>urn:sha1:d11bce1f90f52c278a53c127cf65fbfe294f3594</id>
<content type='text'>
commit fda3bec12d0979aae3f02ee645913d66fbc8a26e upstream.

This is a 32-bit register. Apparently harmless on real hardware, but
causing justified warnings in simulation.

Signed-off-by: CQ Tang &lt;cq.tang@intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/amd: Don't clear DTE flags when modifying it</title>
<updated>2015-11-09T11:02:13Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2015-10-20T12:59:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e627a4ceb2d0c49bb16660b231f923362f0ae400'/>
<id>urn:sha1:e627a4ceb2d0c49bb16660b231f923362f0ae400</id>
<content type='text'>
commit cbf3ccd09d683abf1cacd36e3640872ee912d99b upstream.

During device assignment/deassignment the flags in the DTE
get lost, which might cause spurious faults, for example
when the device tries to access the system management range.
Fix this by not clearing the flags with the rest of the DTE.

Reported-by: G. Richard Bellamy &lt;rbellamy@pteradigm.com&gt;
Tested-by: G. Richard Bellamy &lt;rbellamy@pteradigm.com&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/amd: Handle integer overflow in dma_ops_area_alloc</title>
<updated>2015-10-07T07:24:57Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2015-05-27T07:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3720583b46772213f8bd13b17d9b1af1c478e23f'/>
<id>urn:sha1:3720583b46772213f8bd13b17d9b1af1c478e23f</id>
<content type='text'>
commit e6aabee05f41c9d18e0b92194819edd84f352ac9 upstream.

Handle this case to make sure boundary_size does not become
0 and trigger a BUG_ON later.

Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>iommu/amd: Handle large pages correctly in free_pagetable</title>
<updated>2015-07-30T12:10:41Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2015-06-18T08:48:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4075da9bd94776fcaa4a73372b8a68623f6d8a1f'/>
<id>urn:sha1:4075da9bd94776fcaa4a73372b8a68623f6d8a1f</id>
<content type='text'>
commit 0b3fff54bc01e8e6064d222a33e6fa7adabd94cd upstream.

Make sure that we are skipping over large PTEs while walking
the page-table tree.

Fixes: 5c34c403b723 ("iommu/amd: Fix memory leak in free_pagetable")
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>iommu/amd: Correctly encode huge pages in iommu page tables</title>
<updated>2015-06-10T11:31:35Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2015-04-01T12:58:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=376ab7b755abd61296eeb1d5f46935a25e907f9f'/>
<id>urn:sha1:376ab7b755abd61296eeb1d5f46935a25e907f9f</id>
<content type='text'>
commit d4b036648402bb4ef6d4a0df51375a2fb705b6cc upstream.

When a default page-size for given level should be mapped,
the level encoding must be 0 rather than 7. This fixes an
issue seen on IOMMUv2 hardware, where this encoding is
enforced.

Tested-by: Suravee Suthikulpanit &lt;Suravee.Suthikulpanit@amd.com&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface</title>
<updated>2015-06-10T11:31:30Z</updated>
<author>
<name>Joerg Roedel</name>
</author>
<published>2015-04-01T12:58:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=253b6d09b48fb739305f0b37676f1de607558e24'/>
<id>urn:sha1:253b6d09b48fb739305f0b37676f1de607558e24</id>
<content type='text'>
commit b24b1b63a37d05d61601d643ef30f95dd2452048 upstream.

Now that fetch_pte returns the page-size of the pte, this
function can be optimized too.

Tested-by: Suravee Suthikulpanit &lt;Suravee.Suthikulpanit@amd.com&gt;
Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
</feed>
