<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm, branch v4.14.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-12-10T12:40:37+00:00</updated>
<entry>
<title>drm/amdgpu: Use unsigned ring indices in amdgpu_queue_mgr_map</title>
<updated>2017-12-10T12:40:37+00:00</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2017-11-22T14:55:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=955c907b978589fbd34e9eaaf53527d8cbf589b4'/>
<id>urn:sha1:955c907b978589fbd34e9eaaf53527d8cbf589b4</id>
<content type='text'>
commit fa7c7939b4bf112cd06ba166b739244077898990 upstream.

This matches the corresponding UAPI fields. Treating the ring index as
signed could result in accessing random unrelated memory if the MSB was
set.

Fixes: effd924d2f3b ("drm/amdgpu: untie user ring ids from kernel ring ids v6")
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
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/fsl-dcu: enable IRQ before drm_atomic_helper_resume()</title>
<updated>2017-12-10T12:40:37+00:00</updated>
<author>
<name>Stefan Agner</name>
<email>stefan@agner.ch</email>
</author>
<published>2017-11-10T09:15:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bacbe44889828852678bc74ad0e942a7684f206f'/>
<id>urn:sha1:bacbe44889828852678bc74ad0e942a7684f206f</id>
<content type='text'>
commit 9fd99f4f3f5e13ce959900ae57d64b1bdb51d823 upstream.

The resume helpers wait for a vblank to occurre hence IRQ need
to be enabled. This avoids a warning as follows during resume:
  WARNING: CPU: 0 PID: 314 at drivers/gpu/drm/drm_atomic_helper.c:1249 drm_atomic_helper_wait_for_vblanks.part.1+0x284/0x288
  [CRTC:28:crtc-0] vblank wait timed out

Signed-off-by: Stefan Agner &lt;stefan@agner.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/fsl-dcu: avoid disabling pixel clock twice on suspend</title>
<updated>2017-12-10T12:40:36+00:00</updated>
<author>
<name>Stefan Agner</name>
<email>stefan@agner.ch</email>
</author>
<published>2017-11-09T14:39:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c8111b1885d3a802e57f895e77aaa1e88de57282'/>
<id>urn:sha1:c8111b1885d3a802e57f895e77aaa1e88de57282</id>
<content type='text'>
commit 9306e996574f7f57136a62e49cd0075f85713623 upstream.

With commit 0a70c998d0c5 ("drm/fsl-dcu: enable pixel clock when
enabling CRTC") the pixel clock is controlled by the CRTC code.
Disabling the pixel clock in suspend leads to a warning due to
the second clk_disable_unprepare call:
  WARNING: CPU: 0 PID: 359 at drivers/clk/clk.c:594 clk_core_disable+0x8c/0x90

Remove clk_disable_unprepare call for pixel clock to avoid
unbalanced clock disable on suspend.

Fixes: 0a70c998d0c5 ("drm/fsl-dcu: enable pixel clock when enabling CRTC")
Signed-off-by: Stefan Agner &lt;stefan@agner.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Prevent zero length "index" write</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2017-11-23T19:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=88e1bb2a24125747d48b5e2d60bccdb247b86eb9'/>
<id>urn:sha1:88e1bb2a24125747d48b5e2d60bccdb247b86eb9</id>
<content type='text'>
commit 56350fb8978bbf4aafe08f21234e161dd128b417 upstream.

The hardware always writes one or two bytes in the index portion of
an indexed transfer. Make sure the message we send as the index
doesn't have a zero length.

Cc: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions")
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-3-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
(cherry picked from commit bb9e0d4bca50f429152e74a459160b41f3d60fb2)
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Don't try indexed reads to alternate slave addresses</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2017-11-23T19:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e522b9247ce931a7319f1d7e9d0bdfa5817b9a4e'/>
<id>urn:sha1:e522b9247ce931a7319f1d7e9d0bdfa5817b9a4e</id>
<content type='text'>
commit ae5c631e605a452a5a0e73205a92810c01ed954b upstream.

We can only specify the one slave address to indexed reads/writes.
Make sure the messages we check are destined to the same slave
address before deciding to do an indexed transfer.

Cc: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Fixes: 56f9eac05489 ("drm/i915/intel_i2c: use INDEX cycles for i2c read transactions")
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171123194157.25367-2-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
(cherry picked from commit c4deb62d7821672265b87952bcd1c808f3bf3e8f)
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915/gvt: Correct ADDR_4K/2M/1G_MASK definition</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Xiong Zhang</name>
<email>xiong.y.zhang@intel.com</email>
</author>
<published>2017-11-27T23:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c0d3d1d5908f5cd5c838c99663238cac201953b'/>
<id>urn:sha1:6c0d3d1d5908f5cd5c838c99663238cac201953b</id>
<content type='text'>
commit b721b65af4eb46df6a1d9e34b14003225e403565 upstream.

For ADDR_4K_MASK, bit[45..12] should be 1, all other bits
should be 0. The current definition wrongly set bit[46] as 1
also. This path fixes this.

v2: Add commit message, fixes and cc stable.(Zhenyu)

Fixes: 2707e4446688("drm/i915/gvt: vGPU graphics memory virtualization")
Signed-off-by: Xiong Zhang &lt;xiong.y.zhang@intel.com&gt;
Signed-off-by: Zhenyu Wang &lt;zhenyuw@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915/fbdev: Serialise early hotplug events with async fbdev config</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2017-11-25T19:41:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7042c2b9a19e74972f5783ab3b7ef98ebdee293f'/>
<id>urn:sha1:7042c2b9a19e74972f5783ab3b7ef98ebdee293f</id>
<content type='text'>
commit a45b30a6c5db631e2ba680304bd5edd0cd1f9643 upstream.

As both the hotplug event and fbdev configuration run asynchronously, it
is possible for them to run concurrently. If configuration fails, we were
freeing the fbdev causing a use-after-free in the hotplug event.

&lt;7&gt;[ 3069.935211] [drm:intel_fb_initial_config [i915]] Not using firmware configuration
&lt;7&gt;[ 3069.935225] [drm:drm_setup_crtcs] looking for cmdline mode on connector 77
&lt;7&gt;[ 3069.935229] [drm:drm_setup_crtcs] looking for preferred mode on connector 77 0
&lt;7&gt;[ 3069.935233] [drm:drm_setup_crtcs] found mode 3200x1800
&lt;7&gt;[ 3069.935236] [drm:drm_setup_crtcs] picking CRTCs for 8192x8192 config
&lt;7&gt;[ 3069.935253] [drm:drm_setup_crtcs] desired mode 3200x1800 set on crtc 43 (0,0)
&lt;7&gt;[ 3069.935323] [drm:intelfb_create [i915]] no BIOS fb, allocating a new one
&lt;4&gt;[ 3069.967737] general protection fault: 0000 [#1] PREEMPT SMP
&lt;0&gt;[ 3069.977453] ---------------------------------
&lt;4&gt;[ 3069.977457] Modules linked in: i915(+) vgem snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm r8169 mei_me mii prime_numbers mei i2c_hid pinctrl_geminilake pinctrl_intel [last unloaded: i915]
&lt;4&gt;[ 3069.977492] CPU: 1 PID: 15414 Comm: kworker/1:0 Tainted: G     U          4.14.0-CI-CI_DRM_3388+ #1
&lt;4&gt;[ 3069.977497] Hardware name: Intel Corp. Geminilake/GLK RVP1 DDR4 (05), BIOS GELKRVPA.X64.0062.B30.1708222146 08/22/2017
&lt;4&gt;[ 3069.977508] Workqueue: events output_poll_execute
&lt;4&gt;[ 3069.977512] task: ffff880177734e40 task.stack: ffffc90001fe4000
&lt;4&gt;[ 3069.977519] RIP: 0010:__lock_acquire+0x109/0x1b60
&lt;4&gt;[ 3069.977523] RSP: 0018:ffffc90001fe7bb0 EFLAGS: 00010002
&lt;4&gt;[ 3069.977526] RAX: 6b6b6b6b6b6b6b6b RBX: 0000000000000282 RCX: 0000000000000000
&lt;4&gt;[ 3069.977530] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880170d4efd0
&lt;4&gt;[ 3069.977534] RBP: ffffc90001fe7c70 R08: 0000000000000001 R09: 0000000000000000
&lt;4&gt;[ 3069.977538] R10: 0000000000000000 R11: ffffffff81899609 R12: ffff880170d4efd0
&lt;4&gt;[ 3069.977542] R13: ffff880177734e40 R14: 0000000000000001 R15: 0000000000000000
&lt;4&gt;[ 3069.977547] FS:  0000000000000000(0000) GS:ffff88017fc80000(0000) knlGS:0000000000000000
&lt;4&gt;[ 3069.977551] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
&lt;4&gt;[ 3069.977555] CR2: 00007f7e8b7bcf04 CR3: 0000000003e0f000 CR4: 00000000003406e0
&lt;4&gt;[ 3069.977559] Call Trace:
&lt;4&gt;[ 3069.977565]  ? mark_held_locks+0x64/0x90
&lt;4&gt;[ 3069.977571]  ? _raw_spin_unlock_irq+0x24/0x50
&lt;4&gt;[ 3069.977575]  ? _raw_spin_unlock_irq+0x24/0x50
&lt;4&gt;[ 3069.977579]  ? trace_hardirqs_on_caller+0xde/0x1c0
&lt;4&gt;[ 3069.977583]  ? _raw_spin_unlock_irq+0x2f/0x50
&lt;4&gt;[ 3069.977588]  ? finish_task_switch+0xa5/0x210
&lt;4&gt;[ 3069.977592]  ? lock_acquire+0xaf/0x200
&lt;4&gt;[ 3069.977596]  lock_acquire+0xaf/0x200
&lt;4&gt;[ 3069.977600]  ? __mutex_lock+0x5e9/0x9b0
&lt;4&gt;[ 3069.977604]  _raw_spin_lock+0x2a/0x40
&lt;4&gt;[ 3069.977608]  ? __mutex_lock+0x5e9/0x9b0
&lt;4&gt;[ 3069.977612]  __mutex_lock+0x5e9/0x9b0
&lt;4&gt;[ 3069.977616]  ? drm_fb_helper_hotplug_event.part.19+0x16/0xa0
&lt;4&gt;[ 3069.977621]  ? drm_fb_helper_hotplug_event.part.19+0x16/0xa0
&lt;4&gt;[ 3069.977625]  drm_fb_helper_hotplug_event.part.19+0x16/0xa0
&lt;4&gt;[ 3069.977630]  output_poll_execute+0x8d/0x180
&lt;4&gt;[ 3069.977635]  process_one_work+0x22e/0x660
&lt;4&gt;[ 3069.977640]  worker_thread+0x48/0x3a0
&lt;4&gt;[ 3069.977644]  ? _raw_spin_unlock_irqrestore+0x4c/0x60
&lt;4&gt;[ 3069.977649]  kthread+0x102/0x140
&lt;4&gt;[ 3069.977653]  ? process_one_work+0x660/0x660
&lt;4&gt;[ 3069.977657]  ? kthread_create_on_node+0x40/0x40
&lt;4&gt;[ 3069.977662]  ret_from_fork+0x27/0x40
&lt;4&gt;[ 3069.977666] Code: 8d 62 f8 c3 49 81 3c 24 e0 fa 3c 82 41 be 00 00 00 00 45 0f 45 f0 83 fe 01 77 86 89 f0 49 8b 44 c4 08 48 85 c0 0f 84 76 ff ff ff &lt;f0&gt; ff 80 38 01 00 00 8b 1d 62 f9 e8 01 45 8b 85 b8 08 00 00 85
&lt;1&gt;[ 3069.977707] RIP: __lock_acquire+0x109/0x1b60 RSP: ffffc90001fe7bb0
&lt;4&gt;[ 3069.977712] ---[ end trace 4ad012eb3af62df7 ]---

In order to keep the dev_priv-&gt;ifbdev alive after failure, we have to
avoid the free and leave it empty until we unload the module (which is
less than ideal, but a necessary evil for simplicity). Then we can use
intel_fbdev_sync() to serialise the hotplug event with the configuration.
The serialisation between the two was removed in commit 934458c2c95d
("Revert "drm/i915: Fix races on fbdev""), but the use after free is much
older, commit 366e39b4d2c5 ("drm/i915: Tear down fbdev if initialization
fails")

Fixes: 366e39b4d2c5 ("drm/i915: Tear down fbdev if initialization fails")
Fixes: 934458c2c95d ("Revert "drm/i915: Fix races on fbdev"")
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Lukas Wunner &lt;lukas@wunner.de&gt;
Cc: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171125194155.355-1-chris@chris-wilson.co.uk
(cherry picked from commit ad88d7fc6c032ddfb32b8d496a070ab71de3a64f)
Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Re-register PMIC bus access notifier on runtime resume</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>j.w.r.degoede@gmail.com</email>
</author>
<published>2017-11-14T13:55:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=569e3d1de49f0896733de8e709fc1fd28034d7dc'/>
<id>urn:sha1:569e3d1de49f0896733de8e709fc1fd28034d7dc</id>
<content type='text'>
commit 294cf1af8cf2eb0d1eced377fdfb9a2d3f0e8b42 upstream.

intel_uncore_suspend() unregisters the uncore code's PMIC bus access
notifier and gets called on both normal and runtime suspend.

intel_uncore_resume_early() re-registers the notifier, but only on
normal resume. Add a new intel_uncore_runtime_resume() function which
only re-registers the notifier and call that on runtime resume.

Reported-by: Imre Deak &lt;imre.deak@intel.com&gt;
Reviewed-by: Imre Deak &lt;imre.deak@intel.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171114135518.15981-2-hdegoede@redhat.com
(cherry picked from commit bedf4d79c3654921839b62246b0965ddb308b201)
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/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2</title>
<updated>2017-12-05T10:26:38+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>j.w.r.degoede@gmail.com</email>
</author>
<published>2017-11-10T15:03:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6613dc721fc232698aafd0f6e214137cfda61e35'/>
<id>urn:sha1:6613dc721fc232698aafd0f6e214137cfda61e35</id>
<content type='text'>
commit f4359cedfb43b934f38c50d1604db21333abe57b upstream.

assert_rpm_wakelock_held is triggered from i915_pmic_bus_access_notifier
even though it gets unregistered on (runtime) suspend, this is caused
by a race happening under the following circumstances:

intel_runtime_pm_put does:

   atomic_dec(&amp;dev_priv-&gt;pm.wakeref_count);

   pm_runtime_mark_last_busy(kdev);
   pm_runtime_put_autosuspend(kdev);

And pm_runtime_put_autosuspend calls intel_runtime_suspend from
a workqueue, so there is ample of time between the atomic_dec() and
intel_runtime_suspend() unregistering the notifier. If the notifier
gets called in this windowd assert_rpm_wakelock_held falsely triggers
(at this point we're not runtime-suspended yet).

This commit adds disable_rpm_wakeref_asserts and
enable_rpm_wakeref_asserts calls around the
intel_uncore_forcewake_get(FORCEWAKE_ALL) call in
i915_pmic_bus_access_notifier fixing the false-positive WARN_ON.

Changes in v2:
-Reword comment explaining why disabling the wakeref asserts is
 ok and necessary

Reported-by: FKr &lt;bugs-freedesktop@ubermail.me&gt;
Reviewed-by: Imre Deak &lt;imre.deak@intel.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171110150301.9601-2-hdegoede@redhat.com
(cherry picked from commit ce30560c80dead91e98a03d90fb8791e57a9b69d)
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: Set adev-&gt;vcn.irq.num_types for VCN</title>
<updated>2017-12-05T10:26:37+00:00</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2017-11-22T14:55:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=248b0ec5ad2501a35f2603384f1c7c7cee79eb02'/>
<id>urn:sha1:248b0ec5ad2501a35f2603384f1c7c7cee79eb02</id>
<content type='text'>
commit 89ce6e0afee8eafa679093207dabd717af9d09c5 upstream.

We were setting adev-&gt;uvd.irq.num_types instead.

Fixes: 9b257116e784 ("drm/amdgpu: add vcn enc irq support")
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
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>
</feed>
