<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/vmwgfx, branch linux-3.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-03-26T12:59:45Z</updated>
<entry>
<title>drm/vmwgfx: Fix a couple of lock dependency violations</title>
<updated>2015-03-26T12:59:45Z</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=b197b203b126331d9185df0af85e578f3fc7e0d3'/>
<id>urn:sha1:b197b203b126331d9185df0af85e578f3fc7e0d3</id>
<content type='text'>
commit 5151adb37a5918957f4c33a8d8e7629c0fb00563 upstream.

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.

Acked-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vmwgfx: Reorder device takedown somewhat</title>
<updated>2015-03-26T12:59:45Z</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=cd32cd8c9cab3da5dbf6d122f40e19a693a00b39'/>
<id>urn:sha1:cd32cd8c9cab3da5dbf6d122f40e19a693a00b39</id>
<content type='text'>
commit 3458390b9f0ba784481d23134798faee27b5f16f upstream.

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.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&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>
<entry>
<title>drm/vmwgfx: Deletion of an unnecessary check before the function call "vfree"</title>
<updated>2014-11-21T02:16:40Z</updated>
<author>
<name>Markus Elfring</name>
</author>
<published>2014-11-19T16:50:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3a1a6674f7fd6c0f7e673c4fc1b1aea3d8fce53'/>
<id>urn:sha1:a3a1a6674f7fd6c0f7e673c4fc1b1aea3d8fce53</id>
<content type='text'>
The vfree() function performes also input parameter validation. Thus the test
around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring &lt;elfring@users.sourceforge.net&gt;
Reviewed-by: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: Per-plane locking</title>
<updated>2014-11-12T07:56:12Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2014-11-11T09:12:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d02e2de0e80a786452e70d7f3a20a50641e6620'/>
<id>urn:sha1:4d02e2de0e80a786452e70d7f3a20a50641e6620</id>
<content type='text'>
Turned out to be much simpler on top of my latest atomic stuff than
what I've feared. Some details:

- Drop the modeset_lock_all snakeoil in drm_plane_init. Same
  justification as for the equivalent change in drm_crtc_init done in

	commit d0fa1af40e784aaf7ebb7ba8a17b229bb3fa4c21
	Author: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
	Date:   Mon Sep 8 09:02:49 2014 +0200

	    drm: Drop modeset locking from crtc init function

  Without these the drm_modeset_lock_init would fall over the exact
  same way.

- Since the atomic core code wraps the locking switching it to
  per-plane locks was a one-line change.

- For the legacy ioctls add a plane argument to the locking helper so
  that we can grab the right plane lock (cursor or primary). Since the
  universal cursor plane might not be there, or someone really crazy
  might forgoe the primary plane even accept NULL.

- Add some locking WARN_ON to the atomic helpers for good paranoid
  measure and to check that it all works out.

Tested on my exynos atomic hackfest with full lockdep checks and ww
backoff injection.

v2: I've forgotten about the load-detect code in i915.

v3: Thierry reported that in latest 3.18-rc vmwgfx doesn't compile any
more due to

commit 21e88620aa21b48d4f62d29275e3e2944a5ea2b5
Author: Rob Clark &lt;robdclark@gmail.com&gt;
Date:   Thu Oct 30 13:39:04 2014 -0400

    drm/vmwgfx: fix lock breakage

Rebased and fix this up.

Cc: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
