<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/gpu/drm, branch v4.2.4</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.2.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.2.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2015-10-22T21:49:26Z</updated>
<entry>
<title>drm/dp/mst: drop cancel work sync in the mstb destroy path (v2)</title>
<updated>2015-10-22T21:49:26Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2015-09-30T00:39:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1eb8084fc4d2813e238cdb2d2948761022d03062'/>
<id>urn:sha1:1eb8084fc4d2813e238cdb2d2948761022d03062</id>
<content type='text'>
commit 274d83524895fe41ca8debae4eec60ede7252bb5 upstream.

Since 9eb1e57f564d4e6e10991402726cc83fe0b9172f
drm/dp/mst: make sure mst_primary mstb is valid in work function

we validate the mstb structs in the work function, and doing
that takes a reference. So we should never get here with the
work function running using the mstb device, only if the work
function hasn't run yet or is running for another mstb.

So we don't need to sync the work here, this was causing
lockdep spew as below.

[  +0.000160] =============================================
[  +0.000001] [ INFO: possible recursive locking detected ]
[  +0.000002] 3.10.0-320.el7.rhel72.stable.backport.3.x86_64.debug #1 Tainted: G        W      ------------
[  +0.000001] ---------------------------------------------
[  +0.000001] kworker/4:2/1262 is trying to acquire lock:
[  +0.000001]  ((&amp;mgr-&gt;work)){+.+.+.}, at: [&lt;ffffffff810b29a5&gt;] flush_work+0x5/0x2e0
[  +0.000007]
but task is already holding lock:
[  +0.000001]  ((&amp;mgr-&gt;work)){+.+.+.}, at: [&lt;ffffffff810b57e4&gt;] process_one_work+0x1b4/0x710
[  +0.000004]
other info that might help us debug this:
[  +0.000001]  Possible unsafe locking scenario:

[  +0.000002]        CPU0
[  +0.000000]        ----
[  +0.000001]   lock((&amp;mgr-&gt;work));
[  +0.000002]   lock((&amp;mgr-&gt;work));
[  +0.000001]
 *** DEADLOCK ***

[  +0.000001]  May be due to missing lock nesting notation

[  +0.000002] 2 locks held by kworker/4:2/1262:
[  +0.000001]  #0:  (events_long){.+.+.+}, at: [&lt;ffffffff810b57e4&gt;] process_one_work+0x1b4/0x710
[  +0.000004]  #1:  ((&amp;mgr-&gt;work)){+.+.+.}, at: [&lt;ffffffff810b57e4&gt;] process_one_work+0x1b4/0x710
[  +0.000003]
stack backtrace:
[  +0.000003] CPU: 4 PID: 1262 Comm: kworker/4:2 Tainted: G        W      ------------   3.10.0-320.el7.rhel72.stable.backport.3.x86_64.debug #1
[  +0.000001] Hardware name: LENOVO 20EGS0R600/20EGS0R600, BIOS GNET71WW (2.19 ) 02/05/2015
[  +0.000008] Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
[  +0.000001]  ffffffff82c26c90 00000000a527b914 ffff88046399bae8 ffffffff816fe04d
[  +0.000004]  ffff88046399bb58 ffffffff8110f47f ffff880461438000 0001009b840fc003
[  +0.000002]  ffff880461438a98 0000000000000000 0000000804dc26e1 ffffffff824a2c00
[  +0.000003] Call Trace:
[  +0.000004]  [&lt;ffffffff816fe04d&gt;] dump_stack+0x19/0x1b
[  +0.000004]  [&lt;ffffffff8110f47f&gt;] __lock_acquire+0x115f/0x1250
[  +0.000002]  [&lt;ffffffff8110fd49&gt;] lock_acquire+0x99/0x1e0
[  +0.000002]  [&lt;ffffffff810b29a5&gt;] ? flush_work+0x5/0x2e0
[  +0.000002]  [&lt;ffffffff810b29ee&gt;] flush_work+0x4e/0x2e0
[  +0.000002]  [&lt;ffffffff810b29a5&gt;] ? flush_work+0x5/0x2e0
[  +0.000004]  [&lt;ffffffff81025905&gt;] ? native_sched_clock+0x35/0x80
[  +0.000002]  [&lt;ffffffff81025959&gt;] ? sched_clock+0x9/0x10
[  +0.000002]  [&lt;ffffffff810da1f5&gt;] ? local_clock+0x25/0x30
[  +0.000002]  [&lt;ffffffff8110dca9&gt;] ? mark_held_locks+0xb9/0x140
[  +0.000003]  [&lt;ffffffff810b4ed5&gt;] ? __cancel_work_timer+0x95/0x160
[  +0.000002]  [&lt;ffffffff810b4ee8&gt;] __cancel_work_timer+0xa8/0x160
[  +0.000002]  [&lt;ffffffff810b4fb0&gt;] cancel_work_sync+0x10/0x20
[  +0.000007]  [&lt;ffffffffa0160d17&gt;] drm_dp_destroy_mst_branch_device+0x27/0x120 [drm_kms_helper]
[  +0.000006]  [&lt;ffffffffa0163968&gt;] drm_dp_mst_link_probe_work+0x78/0xa0 [drm_kms_helper]
[  +0.000002]  [&lt;ffffffff810b5850&gt;] process_one_work+0x220/0x710
[  +0.000002]  [&lt;ffffffff810b57e4&gt;] ? process_one_work+0x1b4/0x710
[  +0.000005]  [&lt;ffffffff810b5e5b&gt;] worker_thread+0x11b/0x3a0
[  +0.000003]  [&lt;ffffffff810b5d40&gt;] ? process_one_work+0x710/0x710
[  +0.000002]  [&lt;ffffffff810beced&gt;] kthread+0xed/0x100
[  +0.000003]  [&lt;ffffffff810bec00&gt;] ? insert_kthread_work+0x80/0x80
[  +0.000003]  [&lt;ffffffff817121d8&gt;] ret_from_fork+0x58/0x90

v2: add flush_work.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/dp/mst: fixup handling hotplug on port removal.</title>
<updated>2015-10-22T21:49:26Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2015-09-16T00:37:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=822b63beecffbb368809e70582bccff9efdac1d1'/>
<id>urn:sha1:822b63beecffbb368809e70582bccff9efdac1d1</id>
<content type='text'>
commit df4839fdc9b3c922586b945f062f38cbbda022bb upstream.

output ports should always have a connector, unless
in the rare case connector allocation fails in the
driver.

In this case we only need to teardown the pdt,
and free the struct, and there is no need to
send a hotplug msg.

In the case were we add the port to the destroy
list we need to send a hotplug if we destroy
any connectors, so userspace knows to reprobe
stuff.

this patch also handles port-&gt;connector allocation
failing which should be a rare event, but makes
the code consistent.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/radeon: Restore LCD backlight level on resume (&gt;= R5xx)</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2015-09-28T09:16:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5a633828b4b2bef343826afcb0a70770c4911c55'/>
<id>urn:sha1:5a633828b4b2bef343826afcb0a70770c4911c55</id>
<content type='text'>
commit 4281f46ef839050d2ef60348f661eb463c21cc2e upstream.

Instead of only enabling the backlight (which seems to set it to max
brightness), just re-set the current backlight level, which also takes
care of enabling the backlight if necessary.

Only the radeon_atom_encoder_dpms_dig part tested on a Kaveri laptop,
the radeon_atom_encoder_dpms_avivo part is only compile tested.

Signed-off-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm: Reject DRI1 hw lock ioctl functions for kms drivers</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2015-06-23T09:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=60a09aef456ef590762d47da9c25650e230e2f85'/>
<id>urn:sha1:60a09aef456ef590762d47da9c25650e230e2f85</id>
<content type='text'>
commit da168d81b44898404d281d5dbe70154ab5f117c1 upstream.

I've done some extensive history digging across libdrm, mesa and
xf86-video-{intel,nouveau,ati}. The only potential user of this with
kms drivers I could find was ttmtest, which once used drmGetLock
still. But that mistake was quickly fixed up. Even the intel xvmc
library (which otherwise was really good with using dri1 stuff in kms
mode) managed to never take the hw lock for dri2 (and hence kms).

Hence it should be save to unconditionally disallow this.

Cc: Peter Antoine &lt;peter.antoine@intel.com&gt;
Reviewed-by: Peter Antoine &lt;peter.antoine@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915/bios: handle MIPI Sequence Block v3+ gracefully</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani.nikula@intel.com</email>
</author>
<published>2015-09-17T13:42:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=230f6fd628c83fcb44ea364d69a9ad88826ef8c4'/>
<id>urn:sha1:230f6fd628c83fcb44ea364d69a9ad88826ef8c4</id>
<content type='text'>
commit cd67d226ebd909d239d2c6e5a6abd6e2a338d1cd upstream.

The VBT MIPI Sequence Block version 3 has forward incompatible changes:

First, the block size in the header has been specified reserved, and the
actual size is a separate 32-bit value within the block. The current
find_section() function to will only look at the size in the block
header, and, depending on what's in that now reserved size field,
continue looking for other sections in the wrong place.

Fix this by taking the new block size field into account. This will
ensure that the lookups for other sections will work properly, as long
as the new 32-bit size does not go beyond the opregion VBT mailbox size.

Second, the contents of the block have been completely
changed. Gracefully refuse parsing the yet unknown data version.

Cc: Deepak M &lt;m.deepak@intel.com&gt;
Reviewed-by: Deepak M &lt;m.deepak@intel.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/amdgpu: Restore LCD backlight level on resume</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2015-09-29T17:53:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6822c9c3f9c4f809e366108b9a13240e843fd7d1'/>
<id>urn:sha1:6822c9c3f9c4f809e366108b9a13240e843fd7d1</id>
<content type='text'>
commit 74b3112e95073b351e3b0b9799795bc76f8415fa upstream.

Instead of only enabling the backlight (which seems to set it to max
brightness), just re-set the current backlight level, which also takes
care of enabling the backlight if necessary.

Port of radeon commit:
drm/radeon: Restore LCD backlight level on resume (&gt;= R5xx)

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/amdgpu: Fix max_vblank_count value for current display engines</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2015-09-22T14:06:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=863a016a0c51f92e970a220296ed404c011b1e81'/>
<id>urn:sha1:863a016a0c51f92e970a220296ed404c011b1e81</id>
<content type='text'>
commit 5a6adfa20b622a273205e33b20c12332aa7eb724 upstream.

The value was much too low, which could cause the userspace visible
vblank counter to move backwards when the hardware counter wrapped
around.

Ported from radeon commit:
b0b9bb4dd51f396dcf843831905f729e74b0c8c0

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Jammy Zhou &lt;Jammy.Zhou@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/amdgpu: make UVD handle checking more strict</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Leo Liu</name>
<email>leo.liu@amd.com</email>
</author>
<published>2015-09-15T14:38:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=885838eef785ff810dac945be8132856f2113cf1'/>
<id>urn:sha1:885838eef785ff810dac945be8132856f2113cf1</id>
<content type='text'>
commit 5146419e6feb99cfbc8dbf005dd2f62603e15efb upstream.

Invalid messages can crash the hw otherwise

Ported from radeon commit a1b403da70e038ca6c6c6fe434d1d873546873a3

Signed-off-by: Leo Liu &lt;leo.liu@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/amdgpu: fix the UVD suspend sequence order</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Leo Liu</name>
<email>leo.liu@amd.com</email>
</author>
<published>2015-09-11T18:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7ba9a43d8286b1de7f283966d4aa0a319a68dc5a'/>
<id>urn:sha1:7ba9a43d8286b1de7f283966d4aa0a319a68dc5a</id>
<content type='text'>
commit 2bd188d0167227932be3cf5b033c0e600b01291f upstream.

Fixes suspend issues with UVD.

Signed-off-by: Leo Liu &lt;leo.liu@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/amdgpu: Disable UVD PG</title>
<updated>2015-10-22T21:49:25Z</updated>
<author>
<name>Leo Liu</name>
<email>leo.liu@amd.com</email>
</author>
<published>2015-09-10T17:41:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3512d8e6391dd0784f685a7c81ef5721c73f8e15'/>
<id>urn:sha1:3512d8e6391dd0784f685a7c81ef5721c73f8e15</id>
<content type='text'>
commit 1ee4478a26cf55c8f8a6219d7e99f2b48959394d upstream.

This causes problems with multiple suspend/resume cycles.

Signed-off-by: Leo Liu &lt;leo.liu@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
