<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/vmwgfx, branch linux-4.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-03-11T18:47:41Z</updated>
<entry>
<title>drm/vmwgfx: Fix an issue with the device losing its irq line on module unload</title>
<updated>2015-03-11T18:47:41Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2015-03-10T18:07:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd3e4d6e26288d12b566912f692e278e8db15b82'/>
<id>urn:sha1:fd3e4d6e26288d12b566912f692e278e8db15b82</id>
<content type='text'>
Starting with commit b4b55cda5874
("x86/PCI: Refine the way to release PCI IRQ resources")

the device lost its irq resource on module unload. While that's ok and
apparently intentional, the driver never got the resource back on module load

The code apparently wants drivers to disable the pci device at pci device
driver removal, so lets do that. That fixes the issue.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Correctly NULLify dma buffer pointer on failure</title>
<updated>2015-03-11T18:47:41Z</updated>
<author>
<name>Colin Ian King</name>
</author>
<published>2015-01-22T15:17:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da5efffc42222d09079a3427b60374a68200d798'/>
<id>urn:sha1:da5efffc42222d09079a3427b60374a68200d798</id>
<content type='text'>
cppcheck on lines 917 and 977 show an ineffective assignment
to the dma buffer pointer:

[drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:917]:
[drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:977]:
  (warning) Assignment of function parameter has no effect
  outside the function. Did you forget dereferencing it?

On a successful DMA buffer lookup, the dma buffer pointer is
assigned, however, on failure it currently is left in an
undefined state.

The original intention in the error exit path was to nullify
the pointer on an error (which the original code failed to
do properly). This patch fixes this also ensures all failure
paths nullify the buffer pointer on the error return.

Fortunately the callers to vmw_translate_mob_ptr and
vmw_translate_guest_ptr are checking on a return status and not
on the dma buffer pointer, so the original code worked.

Reviewed-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Reorder device takedown somewhat</title>
<updated>2015-03-11T18:47:40Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2015-03-05T10:33:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3458390b9f0ba784481d23134798faee27b5f16f'/>
<id>urn:sha1:3458390b9f0ba784481d23134798faee27b5f16f</id>
<content type='text'>
To take down the MOB and GMR memory types, the driver may have to issue
fence objects and thus make sure that the fence manager is taken down
after those memory types.
Reorder device init accordingly.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Fix a couple of lock dependency violations</title>
<updated>2015-03-11T18:47:40Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2015-03-09T08:56:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5151adb37a5918957f4c33a8d8e7629c0fb00563'/>
<id>urn:sha1:5151adb37a5918957f4c33a8d8e7629c0fb00563</id>
<content type='text'>
Experimental lockdep annotation added to the TTM lock has unveiled a
couple of lock dependency violations in the vmwgfx driver. In both
cases it turns out that the device_private::reservation_sem is not
needed so the offending code is moved out of that lock.

Cc: &lt;stable@vger.kernel.org&gt;
Acked-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Replace the hw mutex with a hw spinlock</title>
<updated>2015-01-19T11:02:13Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2015-01-14T10:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=496eb6fd2c3fd13f4b914e537598e5c86ce4f52a'/>
<id>urn:sha1:496eb6fd2c3fd13f4b914e537598e5c86ce4f52a</id>
<content type='text'>
Fixes a case where we call vmw_fifo_idle() from within a wait function with
task state !TASK_RUNNING, which is illegal.

In addition, make the locking fine-grained, so that it is performed once
for every read- and write operation. This is of course more costly, but we
don't perform much register access in the timing critical paths anyway. Instead
we have the extra benefit of being sure that we don't forget the hw lock around
register accesses. I think currently the kms code was quite buggy w r t this.

This fixes Red Hat Bugzilla Bug 1180796

Cc: stable@vger.kernel.org
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: optionally move duplicates to a separate list</title>
<updated>2014-12-03T23:26:52Z</updated>
<author>
<name>Christian König</name>
</author>
<published>2014-12-03T14:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa35071c590461f95d0179cc8e730d49d610f773'/>
<id>urn:sha1:aa35071c590461f95d0179cc8e730d49d610f773</id>
<content type='text'>
This patch adds an optional list_head parameter to ttm_eu_reserve_buffers.
If specified duplicates in the execbuf list are no longer reported as errors,
but moved to this list instead.

Reviewed-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: (Re)bind shaders to MOBs with the correct offset</title>
<updated>2014-12-03T08:48:14Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-12-02T11:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8ccd1e490de8d9b9a968f859c003a10882ad8c8'/>
<id>urn:sha1:b8ccd1e490de8d9b9a968f859c003a10882ad8c8</id>
<content type='text'>
This codepath is mostly hit when rebinding after a backup buffer swapout. It's
amazing that this error hasn't been more obvious but probably the shaders are
not reread from guest memory that often..

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Fix fence event code</title>
<updated>2014-12-03T08:48:14Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-12-02T11:36:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc'/>
<id>urn:sha1:89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc</id>
<content type='text'>
The commit "vmwgfx: Rework fence event action" introduced a number of bugs
that are fixed with this commit:

a) A forgotten return stateemnt.
b) An if statement with identical branches.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Don't use memory accounting for kernel-side fence objects</title>
<updated>2014-12-03T08:48:14Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-12-02T11:32:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f563a6a46544602183e7493b6ef69769d3d76d9'/>
<id>urn:sha1:1f563a6a46544602183e7493b6ef69769d3d76d9</id>
<content type='text'>
Kernel side fence objects are used when unbinding resources and may thus be
created as part of a memory reclaim operation. This might trigger recursive
memory reclaims and result in the kernel running out of stack space.

So a simple way out is to avoid accounting of these fence objects.
In principle this is OK since while user-space can trigger the creation of
such objects, it can't really hold on to them. However, their lifetime is
quite long, so some form of accounting should perhaps be implemented in the
future.

Fixes kernel crashes when running, for example viewperf11 ensight-04 test 3
with low system memory settings.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Fix error printout on signals pending</title>
<updated>2014-12-03T08:48:14Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-11-25T07:20:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e338c4c2b620ba4e75fd3576f8142eb93be12ce3'/>
<id>urn:sha1:e338c4c2b620ba4e75fd3576f8142eb93be12ce3</id>
<content type='text'>
The function vmw_master_check() might return -ERESTARTSYS if there is a
signal pending, indicating that the IOCTL should be rerun, potentially from
user-space. At that point we shouldn't print out an error message since that
is not an error condition. In short, avoid bloating the kernel log when a
process refuses to die on SIGTERM.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
</content>
</entry>
</feed>
