<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm, branch v3.10.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/gpu/drm?h=v3.10.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/gpu/drm?h=v3.10.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-06-28T03:27:40Z</updated>
<entry>
<title>drm/qxl: add missing access check for execbuffer ioctl</title>
<updated>2013-06-28T03:27:40Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-06-28T03:27:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=18097b91aaff215e843f04b84ec2c686270bb55f'/>
<id>urn:sha1:18097b91aaff215e843f04b84ec2c686270bb55f</id>
<content type='text'>
Reported-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: make compact dma scatter lists creation work with SWIOTLB backend.</title>
<updated>2013-06-25T00:39:57Z</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2013-06-24T15:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=426729dcc713b3d1ae802e314030e5556a62da53'/>
<id>urn:sha1:426729dcc713b3d1ae802e314030e5556a62da53</id>
<content type='text'>
Git commit 90797e6d1ec0dfde6ba62a48b9ee3803887d6ed4
("drm/i915: create compact dma scatter lists for gem objects") makes
certain assumptions about the under laying DMA API that are not always
correct.

On a ThinkPad X230 with an Intel HD 4000 with Xen during the bootup
I see:

[drm:intel_pipe_set_base] *ERROR* pin &amp; fence failed
[drm:intel_crtc_set_config] *ERROR* failed to set mode on [CRTC:3], err = -28

Bit of debugging traced it down to dma_map_sg failing (in
i915_gem_gtt_prepare_object) as some of the SG entries were huge (3MB).

That unfortunately are sizes that the SWIOTLB is incapable of handling -
the maximum it can handle is a an entry of 512KB of virtual contiguous
memory for its bounce buffer. (See IO_TLB_SEGSIZE).

Previous to the above mention git commit the SG entries were of 4KB, and
the code introduced by above git commit squashed the CPU contiguous PFNs
in one big virtual address provided to DMA API.

This patch is a simple semi-revert - were we emulate the old behavior
if we detect that SWIOTLB is online. If it is not online then we continue
on with the new compact scatter gather mechanism.

An alternative solution would be for the the '.get_pages' and the
i915_gem_gtt_prepare_object to retry with smaller max gap of the
amount of PFNs that can be combined together - but with this issue
discovered during rc7 that might be too risky.

Reported-and-Tested-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
CC: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
CC: Imre Deak &lt;imre.deak@intel.com&gt;
CC: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
CC: David Airlie &lt;airlied@linux.ie&gt;
CC: &lt;dri-devel@lists.freedesktop.org&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes</title>
<updated>2013-06-25T00:38:44Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-06-25T00:38:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d20299dbb47b1ee429140ae0784b49231dc7781'/>
<id>urn:sha1:0d20299dbb47b1ee429140ae0784b49231dc7781</id>
<content type='text'>
One remaining regression fix for i915. I've left it in -fixes for more
than a week since it's in tricky code, and it took us a few kernel
releases to notice the regression at all. The fence leak is especially
annoying on gen2/3 and will kill userspace there quickly. For extra
paranoia we've added a WARN in -next to catch this, things seem to be
solid now.

* tag 'drm-intel-fixes-2013-06-24' of git://people.freedesktop.org/~danvet/drm-intel:
  drm/i915: Restore fences after resume and GPU resets
</content>
</entry>
<entry>
<title>Merge branch 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux into drm-fixes</title>
<updated>2013-06-20T22:52:19Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-06-20T22:52:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9aa36876ddeb85dfb0bcf37be06bbdc62e954f16'/>
<id>urn:sha1:9aa36876ddeb85dfb0bcf37be06bbdc62e954f16</id>
<content type='text'>
One user visible fix to stop misreport GPU hangs and subsequent resets.
* 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: update lockup tracking when scheduling in empty ring
</content>
</entry>
<entry>
<title>drm/radeon: update lockup tracking when scheduling in empty ring</title>
<updated>2013-06-20T18:45:08Z</updated>
<author>
<name>Jerome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2013-06-19T14:02:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8444d5c69549aa0f0b574cc608742d4669e1cc01'/>
<id>urn:sha1:8444d5c69549aa0f0b574cc608742d4669e1cc01</id>
<content type='text'>
There might be issue with lockup detection when scheduling on an
empty ring that have been sitting idle for a while. Thus update
the lockup tracking data when scheduling new work in an empty ring.

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Tested-by: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: stable@vger.kernel.org
Reviewed-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>Merge branch 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux into drm-fixes</title>
<updated>2013-06-19T01:48:36Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-06-19T01:48:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=784a4d5539eaff3316933f8f3dc2fdad5a9b9f4d'/>
<id>urn:sha1:784a4d5539eaff3316933f8f3dc2fdad5a9b9f4d</id>
<content type='text'>
Alex writes:
Remove some harmless but confusing VM related error messages
fix a regression with suspend and UVD,
fix UVD on big endian.

* 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: fix UVD on big endian
  drm/radeon: fix write back suspend regression with uvd v2
  drm/radeon: do not try to uselessly update virtual memory pagetable
</content>
</entry>
<entry>
<title>drm/prime: Honor requested file flags when exporting a buffer</title>
<updated>2013-06-19T01:34:54Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart+renesas@ideasonboard.com</email>
</author>
<published>2013-06-19T01:14:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ebc0bad4a05ad63979e8bc115cea3b8abdf814c7'/>
<id>urn:sha1:ebc0bad4a05ad63979e8bc115cea3b8abdf814c7</id>
<content type='text'>
The DRM PRIME API passes file flags to the driver for the exported
buffer. Honor them instead of hardcoding 0600.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart+renesas@ideasonboard.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Restore fences after resume and GPU resets</title>
<updated>2013-06-15T23:10:45Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2013-06-12T09:15:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19b2dbde5732170a03bd82cc8bd442cf88d856f7'/>
<id>urn:sha1:19b2dbde5732170a03bd82cc8bd442cf88d856f7</id>
<content type='text'>
Stéphane Marchesin found that fences for pinned objects (i.e. the
scanout) were not being restored upon resume, leading to corruption on
the display and reference counting issues. This is due to a bug in

commit 312817a39f17dbb4de000165b5b724e3728cd91c [2.6.38]
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Mon Nov 22 11:50:11 2010 +0000

    drm/i915: Only save and restore fences for UMS

that zapped the pinned fences even though they were in use.
Fortuitously, whilst we forced a VT switch during suspend and resume,
no fences were ever pinned at the time. However, we now can do
switchless S3 transitions and so the old bug finally surfaces.

Reported-by: Stéphane Marchesin &lt;marcheu@chromium.org&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Stéphane Marchesin &lt;marcheu@chromium.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix UVD on big endian</title>
<updated>2013-06-14T21:05:57Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2013-06-07T14:04:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c139b1ee4e36374af705660af6172d7477352792'/>
<id>urn:sha1:c139b1ee4e36374af705660af6172d7477352792</id>
<content type='text'>
This fixes the kernel side so that the ring should come
up and ring and IB tests should work.  The userspace
UVD drivers will also need big endian fixes.

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: fix write back suspend regression with uvd v2</title>
<updated>2013-06-12T12:16:29Z</updated>
<author>
<name>Jerome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2013-06-06T21:51:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=089920f21db0108fb105ecfd81de4c92d88f06d0'/>
<id>urn:sha1:089920f21db0108fb105ecfd81de4c92d88f06d0</id>
<content type='text'>
UVD ring can't use scratch thus it does need writeback buffer to keep
a valid address or radeon_ring_backup will trigger a kernel fault.

It's ok to not unpin the write back buffer on suspend as it leave in
gtt and thus does not need eviction.

v2: Fix the uvd case.

Reported and tracked by Wojtek &lt;wojtask9@wp.pl&gt;

Signed-off-by: Jerome Glisse &lt;jglisse@redhat.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
</feed>
