<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu/drm/drm_atomic.c, branch linux-4.8.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>drm: Release reference from blob lookup after replacing property</title>
<updated>2016-11-10T15:38:55+00:00</updated>
<author>
<name>Felix Monninger</name>
<email>felix.monninger@gmail.com</email>
</author>
<published>2016-10-25T21:28:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=426a724c99725c53f901772245eb53885d7d4053'/>
<id>426a724c99725c53f901772245eb53885d7d4053</id>
<content type='text'>
commit cac5fcedaabdadf150c8a9be9fee76defc8ba444 upstream.

drm_property_lookup_blob() returns a reference to the returned blob, and
drm_atomic_replace_property_blob() takes a references to the blob it
stores, so afterwards we are left owning a reference to the new_blob that
we never release, and thus leak memory every time we update a property
such as during drm_atomic_helper_legacy_gamma_set().

v2: update credentials, drm_property_unreference_blob() is NULL safe and
NULL is passed consistently to it throughout drm_atomic.c so do so here.

Reported-by: Felix Monninger &lt;felix.monninger@gmail.com&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98420
Signed-off-by: Felix Monninger &lt;felix.monninger@gmail.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Fixes: 5488dc16fde7 ("drm: introduce pipe color correction properties")
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20161025212808.3908-1-chris@chris-wilson.co.uk
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit cac5fcedaabdadf150c8a9be9fee76defc8ba444 upstream.

drm_property_lookup_blob() returns a reference to the returned blob, and
drm_atomic_replace_property_blob() takes a references to the blob it
stores, so afterwards we are left owning a reference to the new_blob that
we never release, and thus leak memory every time we update a property
such as during drm_atomic_helper_legacy_gamma_set().

v2: update credentials, drm_property_unreference_blob() is NULL safe and
NULL is passed consistently to it throughout drm_atomic.c so do so here.

Reported-by: Felix Monninger &lt;felix.monninger@gmail.com&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98420
Signed-off-by: Felix Monninger &lt;felix.monninger@gmail.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Fixes: 5488dc16fde7 ("drm: introduce pipe color correction properties")
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20161025212808.3908-1-chris@chris-wilson.co.uk
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/atomic: Don't potentially reset color_mgmt_changed on successive property updates.</title>
<updated>2016-08-28T20:55:47+00:00</updated>
<author>
<name>Mario Kleiner</name>
<email>mario.kleiner.de@gmail.com</email>
</author>
<published>2016-08-26T23:02:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=add1fa75101263ab4d74240f93000998d4325624'/>
<id>add1fa75101263ab4d74240f93000998d4325624</id>
<content type='text'>
Due to assigning the 'replaced' value instead of or'ing it,
if drm_atomic_crtc_set_property() gets called multiple times,
the last call will define the color_mgmt_changed flag, so
a non-updating call to a property can reset the flag and
prevent actual hw state updates required by preceding
property updates.

Signed-off-by: Mario Kleiner &lt;mario.kleiner.de@gmail.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.6+
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to assigning the 'replaced' value instead of or'ing it,
if drm_atomic_crtc_set_property() gets called multiple times,
the last call will define the color_mgmt_changed flag, so
a non-updating call to a property can reset the flag and
prevent actual hw state updates required by preceding
property updates.

Signed-off-by: Mario Kleiner &lt;mario.kleiner.de@gmail.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.6+
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: add generic zpos property</title>
<updated>2016-07-29T07:59:30+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2016-06-13T09:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=44d1240d006c9cd0249263b5449c8e4752500f6a'/>
<id>44d1240d006c9cd0249263b5449c8e4752500f6a</id>
<content type='text'>
version 8:
- move drm_blend.o from drm-y to drm_kms_helper-y to avoid
  EXPORT_SYMBOL(drm_atomic_helper_normalize_zpos)
- remove dead function declarations in drm_crtc.h

version 7:
- remove useless EXPORT_SYMBOL()
- better z-order wording in Documentation

version 6:
- add zpos in gpu documentation file
- merge Ville patch about zpos initial value and API improvement.
  I have split Ville patch between zpos core and drivers

version 5:
- remove zpos range check and comeback to 0 to N-1
  normalization algorithm

version 4:
- make sure that normalized zpos value is stay
  in the defined property range and warn user if not

This patch adds support for generic plane's zpos property property with
well-defined semantics:
- added zpos properties to plane and plane state structures
- added helpers for normalizing zpos properties of given set of planes
- well defined semantics: planes are sorted by zpos values and then plane
  id value if zpos equals

Normalized zpos values are calculated automatically when generic
muttable zpos property has been initialized. Drivers can simply use
plane_state-&gt;normalized_zpos in their atomic_check and/or plane_update
callbacks without any additional calls to DRM core.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;

Compare to Marek's original patch zpos property is now specific to each
plane and no more to the core.
Normalize function take care of the range of per plane defined range
before set normalized_zpos.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@linaro.org&gt;
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;

Cc: Inki Dae &lt;inki.dae@samsung.com&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Ville Syrjala &lt;ville.syrjala@linux.intel.com&gt;
Cc: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Cc: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Cc: Tobias Jakobi &lt;tjakobi@math.uni-bielefeld.de&gt;
Cc: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Cc: vincent.abriou@st.com
Cc: fabien.dessenne@st.com
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
version 8:
- move drm_blend.o from drm-y to drm_kms_helper-y to avoid
  EXPORT_SYMBOL(drm_atomic_helper_normalize_zpos)
- remove dead function declarations in drm_crtc.h

version 7:
- remove useless EXPORT_SYMBOL()
- better z-order wording in Documentation

version 6:
- add zpos in gpu documentation file
- merge Ville patch about zpos initial value and API improvement.
  I have split Ville patch between zpos core and drivers

version 5:
- remove zpos range check and comeback to 0 to N-1
  normalization algorithm

version 4:
- make sure that normalized zpos value is stay
  in the defined property range and warn user if not

This patch adds support for generic plane's zpos property property with
well-defined semantics:
- added zpos properties to plane and plane state structures
- added helpers for normalizing zpos properties of given set of planes
- well defined semantics: planes are sorted by zpos values and then plane
  id value if zpos equals

Normalized zpos values are calculated automatically when generic
muttable zpos property has been initialized. Drivers can simply use
plane_state-&gt;normalized_zpos in their atomic_check and/or plane_update
callbacks without any additional calls to DRM core.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;

Compare to Marek's original patch zpos property is now specific to each
plane and no more to the core.
Normalize function take care of the range of per plane defined range
before set normalized_zpos.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@linaro.org&gt;
Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;

Cc: Inki Dae &lt;inki.dae@samsung.com&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Ville Syrjala &lt;ville.syrjala@linux.intel.com&gt;
Cc: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Cc: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Cc: Tobias Jakobi &lt;tjakobi@math.uni-bielefeld.de&gt;
Cc: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Cc: vincent.abriou@st.com
Cc: fabien.dessenne@st.com
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/atomic: Delete an unnecessary check before drm_property_unreference_blob()</title>
<updated>2016-07-20T17:23:39+00:00</updated>
<author>
<name>Markus Elfring</name>
<email>elfring@users.sourceforge.net</email>
</author>
<published>2016-07-20T15:54:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f35cbe6a178e94d3fc290f414aa421f81ac76069'/>
<id>f35cbe6a178e94d3fc290f414aa421f81ac76069</id>
<content type='text'>
The drm_property_unreference_blob() function tests whether its argument
is NULL and then returns immediately.
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;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/aa4cd508-38c3-78d7-a9f2-70e3b06a8fb5@users.sourceforge.net
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The drm_property_unreference_blob() function tests whether its argument
is NULL and then returns immediately.
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;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/aa4cd508-38c3-78d7-a9f2-70e3b06a8fb5@users.sourceforge.net
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'airlied/drm-next' into topic/drm-misc</title>
<updated>2016-07-19T07:27:29+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2016-07-19T07:27:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2383050f6a3a2e00636eabfcf66445af653ddd80'/>
<id>2383050f6a3a2e00636eabfcf66445af653ddd80</id>
<content type='text'>
Backmerge drm-next to be able to apply Chris' connector_unregister_all
cleanup (need latest i915 and sun4i state for that).

Also there's a trivial conflict in ttm_bo.c that git rerere fails to
remember.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backmerge drm-next to be able to apply Chris' connector_unregister_all
cleanup (need latest i915 and sun4i state for that).

Also there's a trivial conflict in ttm_bo.c that git rerere fails to
remember.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel into drm-next</title>
<updated>2016-07-15T01:01:37+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-07-15T01:01:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6c181c82106e12dced317e93a7a396cbb8c64f75'/>
<id>6c181c82106e12dced317e93a7a396cbb8c64f75</id>
<content type='text'>
I recovered dri-devel backlog from my vacation, more misc stuff:
- of_put_node fixes from Peter Chen (not all yet)
- more patches from Gustavo to use kms-native drm_crtc_vblank_* funcs
- docs sphinxification from Lukas Wunner
- bunch of fixes all over from Dan Carpenter
- more follow up work from Chris register/unregister rework in various
  places
- vgem dma-buf export (for writing testcases)
- small things all over from tons of different people

* tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel: (52 commits)
  drm: Don't overwrite user ioctl arg unless requested
  dma-buf/sync_file: improve Kconfig description for Sync Files
  MAINTAINERS: add entry for the Sync File Framework
  drm: Resurrect atomic rmfb code
  drm/vgem: Use PAGE_KERNEL in place of x86-specific PAGE_KERNEL_IO
  qxl: silence uninitialized variable warning
  qxl: check for kmap failures
  vga_switcheroo: Sphinxify docs
  drm: Restore double clflush on the last partial cacheline
  gpu: drm: rockchip_drm_drv: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_vtg: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_hqvdp: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_vdo: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_compositor: add missing of_node_put after calling of_parse_phandle
  drm/tilcdc: use drm_crtc_handle_vblank()
  drm/rcar-du: use drm_crtc_handle_vblank()
  drm/nouveau: use drm_crtc_handle_vblank()
  drm/atmel: use drm_crtc_handle_vblank()
  drm/armada: use drm_crtc_handle_vblank()
  drm: make drm_vblank_count_and_time() static
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I recovered dri-devel backlog from my vacation, more misc stuff:
- of_put_node fixes from Peter Chen (not all yet)
- more patches from Gustavo to use kms-native drm_crtc_vblank_* funcs
- docs sphinxification from Lukas Wunner
- bunch of fixes all over from Dan Carpenter
- more follow up work from Chris register/unregister rework in various
  places
- vgem dma-buf export (for writing testcases)
- small things all over from tons of different people

* tag 'topic/drm-misc-2016-07-14' of git://anongit.freedesktop.org/drm-intel: (52 commits)
  drm: Don't overwrite user ioctl arg unless requested
  dma-buf/sync_file: improve Kconfig description for Sync Files
  MAINTAINERS: add entry for the Sync File Framework
  drm: Resurrect atomic rmfb code
  drm/vgem: Use PAGE_KERNEL in place of x86-specific PAGE_KERNEL_IO
  qxl: silence uninitialized variable warning
  qxl: check for kmap failures
  vga_switcheroo: Sphinxify docs
  drm: Restore double clflush on the last partial cacheline
  gpu: drm: rockchip_drm_drv: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_vtg: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_hqvdp: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_vdo: add missing of_node_put after calling of_parse_phandle
  gpu: drm: sti_compositor: add missing of_node_put after calling of_parse_phandle
  drm/tilcdc: use drm_crtc_handle_vblank()
  drm/rcar-du: use drm_crtc_handle_vblank()
  drm/nouveau: use drm_crtc_handle_vblank()
  drm/atmel: use drm_crtc_handle_vblank()
  drm/armada: use drm_crtc_handle_vblank()
  drm: make drm_vblank_count_and_time() static
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "drm: Resurrect atomic rmfb code"</title>
<updated>2016-07-14T13:18:15+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2016-07-14T13:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0dcac5008fcf57cce66ef091204efbde86956c7a'/>
<id>0dcac5008fcf57cce66ef091204efbde86956c7a</id>
<content type='text'>
This reverts commit 11c21e73f848844d439cbccb42a1018b8c560e5c.

For reasons totally unclear this manages to wreak havoc with the audio
rpm refcount:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 215 at drivers/gpu/drm/i915/intel_runtime_pm.c:1729 intel_display_power_put+0xe8/0x100 [i915]
Use count on domain AUDIO is already zero
Modules linked in: i915 ax88179_178a usbnet mii snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec x86_pkg_temp_thermal snd_hwdep intel_powerclamp snd_hda_core co
f_pclmul crc32_pclmul snd_pcm ghash_clmulni_intel mei_me mei e1000e ptp pps_core i2c_hid [last unloaded: i915]
CPU: 0 PID: 215 Comm: kworker/0:2 Not tainted 4.7.0-rc6+ #44
Hardware name: Intel Corporation Skylake Client platform/Skylake Halo DDR4 RVP11, BIOS SKLSE2R1.R00.X106.B00.1601180206 01/18/2016
Workqueue: events output_poll_execute
 0000000000000000 ffff88045573fa38 ffffffff813a2d6b ffff88045573fa88
 0000000000000000 ffff88045573fa78 ffffffff81075db6 000006c15a590000
 ffff88045a59a238 ffff88045a590054 ffff88045a590000 ffff88045a590000
Call Trace:
 [&lt;ffffffff813a2d6b&gt;] dump_stack+0x4d/0x72
 [&lt;ffffffff81075db6&gt;] __warn+0xc6/0xe0
 [&lt;ffffffff81075e1a&gt;] warn_slowpath_fmt+0x4a/0x50
 [&lt;ffffffffa046399d&gt;] ? hsw_audio_codec_disable+0xdd/0x110 [i915]
 [&lt;ffffffffa041e638&gt;] intel_display_power_put+0xe8/0x100 [i915]
 [&lt;ffffffffa049d776&gt;] intel_disable_ddi+0x46/0x80 [i915]
 [&lt;ffffffffa0474eef&gt;] haswell_crtc_disable+0x16f/0x290 [i915]
 [&lt;ffffffffa047cb53&gt;] intel_atomic_commit_tail+0x153/0x10e0 [i915]
 [&lt;ffffffff814aa020&gt;] ? drm_atomic_helper_swap_state+0x140/0x2d0
 [&lt;ffffffffa047dedd&gt;] intel_atomic_commit+0x3fd/0x520 [i915]
 [&lt;ffffffff814d0252&gt;] ? drm_atomic_add_affected_connectors+0x22/0xf0
 [&lt;ffffffff814cf8a2&gt;] drm_atomic_commit+0x32/0x50
 [&lt;ffffffff814aed07&gt;] restore_fbdev_mode+0x147/0x260
 [&lt;ffffffff814b026e&gt;] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70
 [&lt;ffffffff814b02d8&gt;] drm_fb_helper_set_par+0x28/0x50
 [&lt;ffffffff814b0203&gt;] drm_fb_helper_hotplug_event+0x143/0x180
 [&lt;ffffffffa0498ab5&gt;] intel_fbdev_output_poll_changed+0x15/0x20 [i915]
 [&lt;ffffffff814a1f92&gt;] drm_kms_helper_hotplug_event+0x22/0x30
 [&lt;ffffffff814a2172&gt;] output_poll_execute+0x192/0x1e0
 [&lt;ffffffff8108cf7c&gt;] process_one_work+0x14c/0x480
 [&lt;ffffffff8108d4fa&gt;] worker_thread+0x24a/0x4e0
 [&lt;ffffffff8108d2b0&gt;] ? process_one_work+0x480/0x480
 [&lt;ffffffff8108d2b0&gt;] ? process_one_work+0x480/0x480
 [&lt;ffffffff81092904&gt;] kthread+0xc4/0xe0
 [&lt;ffffffff8173013f&gt;] ret_from_fork+0x1f/0x40
 [&lt;ffffffff81092840&gt;] ? kthread_worker_fn+0x180/0x180
---[ end trace 2d440da5f0c053e4 ]---

Instead of scratching heads too much while CI is down, let's revert
before more trouble is caused.

Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Cc: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reported-by: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Reported-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Acked-by: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Acked-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1468502194-17029-1-git-send-email-daniel.vetter@ffwll.ch
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 11c21e73f848844d439cbccb42a1018b8c560e5c.

For reasons totally unclear this manages to wreak havoc with the audio
rpm refcount:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 215 at drivers/gpu/drm/i915/intel_runtime_pm.c:1729 intel_display_power_put+0xe8/0x100 [i915]
Use count on domain AUDIO is already zero
Modules linked in: i915 ax88179_178a usbnet mii snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec x86_pkg_temp_thermal snd_hwdep intel_powerclamp snd_hda_core co
f_pclmul crc32_pclmul snd_pcm ghash_clmulni_intel mei_me mei e1000e ptp pps_core i2c_hid [last unloaded: i915]
CPU: 0 PID: 215 Comm: kworker/0:2 Not tainted 4.7.0-rc6+ #44
Hardware name: Intel Corporation Skylake Client platform/Skylake Halo DDR4 RVP11, BIOS SKLSE2R1.R00.X106.B00.1601180206 01/18/2016
Workqueue: events output_poll_execute
 0000000000000000 ffff88045573fa38 ffffffff813a2d6b ffff88045573fa88
 0000000000000000 ffff88045573fa78 ffffffff81075db6 000006c15a590000
 ffff88045a59a238 ffff88045a590054 ffff88045a590000 ffff88045a590000
Call Trace:
 [&lt;ffffffff813a2d6b&gt;] dump_stack+0x4d/0x72
 [&lt;ffffffff81075db6&gt;] __warn+0xc6/0xe0
 [&lt;ffffffff81075e1a&gt;] warn_slowpath_fmt+0x4a/0x50
 [&lt;ffffffffa046399d&gt;] ? hsw_audio_codec_disable+0xdd/0x110 [i915]
 [&lt;ffffffffa041e638&gt;] intel_display_power_put+0xe8/0x100 [i915]
 [&lt;ffffffffa049d776&gt;] intel_disable_ddi+0x46/0x80 [i915]
 [&lt;ffffffffa0474eef&gt;] haswell_crtc_disable+0x16f/0x290 [i915]
 [&lt;ffffffffa047cb53&gt;] intel_atomic_commit_tail+0x153/0x10e0 [i915]
 [&lt;ffffffff814aa020&gt;] ? drm_atomic_helper_swap_state+0x140/0x2d0
 [&lt;ffffffffa047dedd&gt;] intel_atomic_commit+0x3fd/0x520 [i915]
 [&lt;ffffffff814d0252&gt;] ? drm_atomic_add_affected_connectors+0x22/0xf0
 [&lt;ffffffff814cf8a2&gt;] drm_atomic_commit+0x32/0x50
 [&lt;ffffffff814aed07&gt;] restore_fbdev_mode+0x147/0x260
 [&lt;ffffffff814b026e&gt;] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70
 [&lt;ffffffff814b02d8&gt;] drm_fb_helper_set_par+0x28/0x50
 [&lt;ffffffff814b0203&gt;] drm_fb_helper_hotplug_event+0x143/0x180
 [&lt;ffffffffa0498ab5&gt;] intel_fbdev_output_poll_changed+0x15/0x20 [i915]
 [&lt;ffffffff814a1f92&gt;] drm_kms_helper_hotplug_event+0x22/0x30
 [&lt;ffffffff814a2172&gt;] output_poll_execute+0x192/0x1e0
 [&lt;ffffffff8108cf7c&gt;] process_one_work+0x14c/0x480
 [&lt;ffffffff8108d4fa&gt;] worker_thread+0x24a/0x4e0
 [&lt;ffffffff8108d2b0&gt;] ? process_one_work+0x480/0x480
 [&lt;ffffffff8108d2b0&gt;] ? process_one_work+0x480/0x480
 [&lt;ffffffff81092904&gt;] kthread+0xc4/0xe0
 [&lt;ffffffff8173013f&gt;] ret_from_fork+0x1f/0x40
 [&lt;ffffffff81092840&gt;] ? kthread_worker_fn+0x180/0x180
---[ end trace 2d440da5f0c053e4 ]---

Instead of scratching heads too much while CI is down, let's revert
before more trouble is caused.

Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Cc: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reported-by: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Reported-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Acked-by: Mika Kuoppala &lt;mika.kuoppala@intel.com&gt;
Acked-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1468502194-17029-1-git-send-email-daniel.vetter@ffwll.ch
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Resurrect atomic rmfb code</title>
<updated>2016-07-13T10:56:20+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2016-06-08T12:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=11c21e73f848844d439cbccb42a1018b8c560e5c'/>
<id>11c21e73f848844d439cbccb42a1018b8c560e5c</id>
<content type='text'>
This was somehow lost between v3 and the merged version in Maarten's
patch merged as:

commit f2d580b9a8149735cbc4b59c4a8df60173658140
Author: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Date:   Wed May 4 14:38:26 2016 +0200

    drm/core: Do not preserve framebuffer on rmfb, v4.

Actual code copied from Maarten's patch, but with the slight change to
just use dev-&gt;mode_config.funcs-&gt;atomic_commit to decide whether to
use the atomic path or not.

Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Reviewed-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1465388359-8070-24-git-send-email-daniel.vetter@ffwll.ch
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was somehow lost between v3 and the merged version in Maarten's
patch merged as:

commit f2d580b9a8149735cbc4b59c4a8df60173658140
Author: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Date:   Wed May 4 14:38:26 2016 +0200

    drm/core: Do not preserve framebuffer on rmfb, v4.

Actual code copied from Maarten's patch, but with the slight change to
just use dev-&gt;mode_config.funcs-&gt;atomic_commit to decide whether to
use the atomic path or not.

Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Reviewed-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1465388359-8070-24-git-send-email-daniel.vetter@ffwll.ch
</pre>
</div>
</content>
</entry>
<entry>
<title>Back-merge tag 'v4.7-rc5' into drm-next</title>
<updated>2016-07-02T05:56:01+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-07-02T05:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=542d972221e024681b502033154f917c1455469f'/>
<id>542d972221e024681b502033154f917c1455469f</id>
<content type='text'>
Linux 4.7-rc5

The fsl-dcu pull needs -rc3 so go to -rc5 for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux 4.7-rc5

The fsl-dcu pull needs -rc3 so go to -rc5 for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/atomic: Make drm_atomic_legacy_backoff reset crtc-&gt;acquire_ctx</title>
<updated>2016-06-24T01:10:36+00:00</updated>
<author>
<name>Maarten Lankhorst</name>
<email>maarten.lankhorst@linux.intel.com</email>
</author>
<published>2016-06-23T11:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=81e257e964268d050f8e9188becd44d50f241d72'/>
<id>81e257e964268d050f8e9188becd44d50f241d72</id>
<content type='text'>
Atomic updates may acquire more state than initially locked through
drm_modeset_lock_crtc, running with heavy stress can cause a
WARN_ON(crtc-&gt;acquire_ctx) in drm_modeset_lock_crtc:

[  601.491296] ------------[ cut here ]------------
[  601.491366] WARNING: CPU: 0 PID: 2411 at
drivers/gpu/drm/drm_modeset_lock.c:191 drm_modeset_lock_crtc+0xeb/0xf0 [drm]
[  601.491369] Modules linked in: drm i915 drm_kms_helper
[  601.491414] CPU: 0 PID: 2411 Comm: kms_cursor_lega Tainted: G     U 4.7.0-rc4-patser+ #4798
[  601.491417] Hardware name: Intel Corporation Skylake Client
[  601.491420]  0000000000000000 ffff88044d153c98 ffffffff812ead28 0000000000000000
[  601.491425]  0000000000000000 ffff88044d153cd8 ffffffff810868e6 000000bf58058030
[  601.491431]  ffff880088b415e8 ffff880458058030 ffff88008a271548 ffff88008a271568
[  601.491436] Call Trace:
[  601.491443]  [&lt;ffffffff812ead28&gt;] dump_stack+0x4d/0x65
[  601.491447]  [&lt;ffffffff810868e6&gt;] __warn+0xc6/0xe0
[  601.491452]  [&lt;ffffffff81086968&gt;] warn_slowpath_null+0x18/0x20
[  601.491472]  [&lt;ffffffffc00d4ffb&gt;] drm_modeset_lock_crtc+0xeb/0xf0 [drm]
[  601.491491]  [&lt;ffffffffc00c5526&gt;] drm_mode_cursor_common+0x66/0x180 [drm]
[  601.491509]  [&lt;ffffffffc00c91cc&gt;] drm_mode_cursor_ioctl+0x3c/0x40 [drm]
[  601.491524]  [&lt;ffffffffc00bc94d&gt;] drm_ioctl+0x14d/0x530 [drm]
[  601.491540]  [&lt;ffffffffc00c9190&gt;] ? drm_mode_setcrtc+0x520/0x520 [drm]
[  601.491545]  [&lt;ffffffff81176aeb&gt;] ? handle_mm_fault+0x106b/0x1430
[  601.491550]  [&lt;ffffffff81108441&gt;] ? stop_one_cpu+0x61/0x70
[  601.491556]  [&lt;ffffffff811bb71d&gt;] do_vfs_ioctl+0x8d/0x570
[  601.491560]  [&lt;ffffffff81290d7e&gt;] ? security_file_ioctl+0x3e/0x60
[  601.491565]  [&lt;ffffffff811bbc74&gt;] SyS_ioctl+0x74/0x80
[  601.491571]  [&lt;ffffffff810e321c&gt;] ? posix_get_monotonic_raw+0xc/0x10
[  601.491576]  [&lt;ffffffff8175b11b&gt;] entry_SYSCALL_64_fastpath+0x13/0x8f
[  601.491581] ---[ end trace 56f3d3d85f000d00 ]---

For good measure, test mode_config.acquire_ctx too, although this should
never happen.

Testcase: kms_cursor_legacy
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Atomic updates may acquire more state than initially locked through
drm_modeset_lock_crtc, running with heavy stress can cause a
WARN_ON(crtc-&gt;acquire_ctx) in drm_modeset_lock_crtc:

[  601.491296] ------------[ cut here ]------------
[  601.491366] WARNING: CPU: 0 PID: 2411 at
drivers/gpu/drm/drm_modeset_lock.c:191 drm_modeset_lock_crtc+0xeb/0xf0 [drm]
[  601.491369] Modules linked in: drm i915 drm_kms_helper
[  601.491414] CPU: 0 PID: 2411 Comm: kms_cursor_lega Tainted: G     U 4.7.0-rc4-patser+ #4798
[  601.491417] Hardware name: Intel Corporation Skylake Client
[  601.491420]  0000000000000000 ffff88044d153c98 ffffffff812ead28 0000000000000000
[  601.491425]  0000000000000000 ffff88044d153cd8 ffffffff810868e6 000000bf58058030
[  601.491431]  ffff880088b415e8 ffff880458058030 ffff88008a271548 ffff88008a271568
[  601.491436] Call Trace:
[  601.491443]  [&lt;ffffffff812ead28&gt;] dump_stack+0x4d/0x65
[  601.491447]  [&lt;ffffffff810868e6&gt;] __warn+0xc6/0xe0
[  601.491452]  [&lt;ffffffff81086968&gt;] warn_slowpath_null+0x18/0x20
[  601.491472]  [&lt;ffffffffc00d4ffb&gt;] drm_modeset_lock_crtc+0xeb/0xf0 [drm]
[  601.491491]  [&lt;ffffffffc00c5526&gt;] drm_mode_cursor_common+0x66/0x180 [drm]
[  601.491509]  [&lt;ffffffffc00c91cc&gt;] drm_mode_cursor_ioctl+0x3c/0x40 [drm]
[  601.491524]  [&lt;ffffffffc00bc94d&gt;] drm_ioctl+0x14d/0x530 [drm]
[  601.491540]  [&lt;ffffffffc00c9190&gt;] ? drm_mode_setcrtc+0x520/0x520 [drm]
[  601.491545]  [&lt;ffffffff81176aeb&gt;] ? handle_mm_fault+0x106b/0x1430
[  601.491550]  [&lt;ffffffff81108441&gt;] ? stop_one_cpu+0x61/0x70
[  601.491556]  [&lt;ffffffff811bb71d&gt;] do_vfs_ioctl+0x8d/0x570
[  601.491560]  [&lt;ffffffff81290d7e&gt;] ? security_file_ioctl+0x3e/0x60
[  601.491565]  [&lt;ffffffff811bbc74&gt;] SyS_ioctl+0x74/0x80
[  601.491571]  [&lt;ffffffff810e321c&gt;] ? posix_get_monotonic_raw+0xc/0x10
[  601.491576]  [&lt;ffffffff8175b11b&gt;] entry_SYSCALL_64_fastpath+0x13/0x8f
[  601.491581] ---[ end trace 56f3d3d85f000d00 ]---

For good measure, test mode_config.acquire_ctx too, although this should
never happen.

Testcase: kms_cursor_legacy
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
