<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/gpu/drm/nouveau, branch master</title>
<subtitle>Linux Kernel</subtitle>
<id>https://git.etezian.org/cgit.cgi/linux.git/atom?h=master</id>
<link rel='self' href='https://git.etezian.org/cgit.cgi/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/'/>
<updated>2017-01-31T10:05:26+00:00</updated>
<entry>
<title>drm/nouveau/kms/nv50: request vblank events for commits that send completion events</title>
<updated>2017-01-31T10:05:26+00:00</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2017-01-23T23:32:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=2b5078937355c0d662ecef54b7d4d04f48da4fa9'/>
<id>urn:sha1:2b5078937355c0d662ecef54b7d4d04f48da4fa9</id>
<content type='text'>
This somehow fixes an issue where sync-to-vblank longer works correctly
after resume from suspend.

From a HW perspective, we don't need the IRQs turned on to be able to
detect flip completion, so it's assumed that this is required for the
voodoo in the core DRM vblank core.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval</title>
<updated>2017-01-31T10:05:26+00:00</updated>
<author>
<name>Ilia Mirkin</name>
<email>imirkin@alum.mit.edu</email>
</author>
<published>2017-01-20T03:56:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=24bf7ae359b8cca165bb30742d2b1c03a1eb23af'/>
<id>urn:sha1:24bf7ae359b8cca165bb30742d2b1c03a1eb23af</id>
<content type='text'>
Based on the xf86-video-nv code, NFORCE (NV1A) and NFORCE2 (NV1F) have a
different way of retrieving clocks. See the
nv_hw.c:nForceUpdateArbitrationSettings function in the original code
for how these clocks were accessed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54587
Cc: stable@vger.kernel.org
Signed-off-by: Ilia Mirkin &lt;imirkin@alum.mit.edu&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp/gt215: Fix HDA ELD handling (thus, HDMI audio) on gt215</title>
<updated>2017-01-31T10:05:25+00:00</updated>
<author>
<name>Alastair Bridgewater</name>
<email>alastair.bridgewater@gmail.com</email>
</author>
<published>2017-01-11T20:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=d347583a39e2df609a9e40c835f72d3614665b53'/>
<id>urn:sha1:d347583a39e2df609a9e40c835f72d3614665b53</id>
<content type='text'>
Store the ELD correctly, not just enough copies of the first byte
to pad out the given ELD size.

Signed-off-by: Alastair Bridgewater &lt;alastair.bridgewater@gmail.com&gt;
Fixes: 120b0c39c756 ("drm/nv50-/disp: audit and version SOR_HDA_ELD method")
Cc: stable@vger.kernel.org # v3.17+
Reviewed-by: Ilia Mirkin &lt;imirkin@alum.mit.edu&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/nouveau/led: prevent compiling the led-code if nouveau=y and leds=m</title>
<updated>2017-01-31T10:05:25+00:00</updated>
<author>
<name>Martin Peres</name>
<email>martin.peres@free.fr</email>
</author>
<published>2016-12-07T04:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=d72498ca2cbcf15e5038b184a95f061bca21e820'/>
<id>urn:sha1:d72498ca2cbcf15e5038b184a95f061bca21e820</id>
<content type='text'>
The proper fix would have been to select LEDS_CLASS but this can lead
to a circular dependency, as found out by Arnd.

This patch implements Arnd's suggestion instead, at the cost of some
auto-magic for a fringe feature.

Reported-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reported-by: Intel's 0-DAY
Fixes: 8d021d71b324 ("drm/nouveau/drm/nouveau: add a LED driver for the NVIDIA logo")
Signed-off-by: Martin Peres &lt;martin.peres@free.fr&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp/mcp7x: disable dptmds workaround</title>
<updated>2017-01-31T10:05:25+00:00</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2017-01-09T00:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=7dfee6827780d4228148263545af936d0cae8930'/>
<id>urn:sha1:7dfee6827780d4228148263545af936d0cae8930</id>
<content type='text'>
The workaround appears to cause regressions on these boards, and from
inspection of RM traces, NVIDIA don't appear to do it on them either.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Tested-by: Roy Spliet &lt;nouveau@spliet.org&gt;
</content>
</entry>
<entry>
<title>drm/nouveau: prevent userspace from deleting client object</title>
<updated>2017-01-31T10:05:25+00:00</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2016-05-25T07:11:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=c966b6279f610a24ac1d42dcbe30e10fa61220b2'/>
<id>urn:sha1:c966b6279f610a24ac1d42dcbe30e10fa61220b2</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers</title>
<updated>2017-01-31T10:05:25+00:00</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2016-12-13T23:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=96692b097ba76d0c637ae8af47b29c73da33c9d0'/>
<id>urn:sha1:96692b097ba76d0c637ae8af47b29c73da33c9d0</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau: Handle fbcon suspend/resume in seperate worker</title>
<updated>2017-01-27T00:50:35+00:00</updated>
<author>
<name>Lyude Paul</name>
<email>lyude@redhat.com</email>
</author>
<published>2017-01-12T02:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=15266ae38fe09dae07bd8812cb7a7717b1e1d992'/>
<id>urn:sha1:15266ae38fe09dae07bd8812cb7a7717b1e1d992</id>
<content type='text'>
Resuming from RPM can happen while already holding
dev-&gt;mode_config.mutex. This means we can't actually handle fbcon in
any RPM resume workers, since restoring fbcon requires grabbing
dev-&gt;mode_config.mutex again. So move the fbcon suspend/resume code into
it's own worker, and rely on that instead to avoid deadlocking.

This fixes more deadlocks for runtime suspending the GPU on the ThinkPad
W541. Reproduction recipe:

 - Get a machine with both optimus and a nvidia card with connectors
   attached to it
 - Wait for the nvidia GPU to suspend
 - Attempt to manually reprobe any of the connectors on the nvidia GPU
   using sysfs
 - *deadlock*

[airlied: use READ_ONCE to address Hans's comment]

Signed-off-by: Lyude &lt;lyude@redhat.com&gt;
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Kilian Singer &lt;kilian.singer@quantumtechnology.info&gt;
Cc: Lukas Wunner &lt;lukas@wunner.de&gt;
Cc: David Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau: Don't enabling polling twice on runtime resume</title>
<updated>2017-01-27T00:43:42+00:00</updated>
<author>
<name>Lyude Paul</name>
<email>lyude@redhat.com</email>
</author>
<published>2017-01-12T02:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=cae9ff036eea577856d5b12860b4c79c5e71db4a'/>
<id>urn:sha1:cae9ff036eea577856d5b12860b4c79c5e71db4a</id>
<content type='text'>
As it turns out, on cards that actually have CRTCs on them we're already
calling drm_kms_helper_poll_enable(drm_dev) from
nouveau_display_resume() before we call it in
nouveau_pmops_runtime_resume(). This leads us to accidentally trying to
enable polling twice, which results in a potential deadlock between the
RPM locks and drm_dev-&gt;mode_config.mutex if we end up trying to enable
polling the second time while output_poll_execute is running and holding
the mode_config lock. As such, make sure we only enable polling in
nouveau_pmops_runtime_resume() if we need to.

This fixes hangs observed on the ThinkPad W541

Signed-off-by: Lyude &lt;lyude@redhat.com&gt;
Cc: Hans de Goede &lt;hdegoede@redhat.com&gt;
Cc: Kilian Singer &lt;kilian.singer@quantumtechnology.info&gt;
Cc: Lukas Wunner &lt;lukas@wunner.de&gt;
Cc: David Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>ktime: Cleanup ktime_set() usage</title>
<updated>2016-12-25T16:21:22+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2016-12-25T11:30:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=8b0e195314fabd58a331c4f7b6db75a1565535d7'/>
<id>urn:sha1:8b0e195314fabd58a331c4f7b6db75a1565535d7</id>
<content type='text'>
ktime_set(S,N) was required for the timespec storage type and is still
useful for situations where a Seconds and Nanoseconds part of a time value
needs to be converted. For anything where the Seconds argument is 0, this
is pointless and can be replaced with a simple assignment.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
</content>
</entry>
</feed>
