<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/drm_mode_config.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-12-19T11:37:24Z</updated>
<entry>
<title>BackMerge tag 'v4.15-rc4' into drm-next</title>
<updated>2017-12-19T11:37:24Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2017-12-19T11:37:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6b7dcb536e3535444c39286333f10d06d2f44fb5'/>
<id>urn:sha1:6b7dcb536e3535444c39286333f10d06d2f44fb5</id>
<content type='text'>
Linux 4.15-rc4

Daniel requested it to fix some messy conflicts.
</content>
</entry>
<entry>
<title>drm: rework delayed connector cleanup in connector_iter</title>
<updated>2017-12-13T21:59:00Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-12-13T12:49:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ea497bb92064875497554ee7cdf10df7fb7393fc'/>
<id>urn:sha1:ea497bb92064875497554ee7cdf10df7fb7393fc</id>
<content type='text'>
PROBE_DEFER also uses system_wq to reprobe drivers, which means when
that again fails, and we try to flush the overall system_wq (to get
all the delayed connectore cleanup work_struct completed), we
deadlock.

Fix this by using just a single cleanup work, so that we can only
flush that one and don't block on anything else. That means a free
list plus locking, a standard pattern.

v2:
- Correctly free connectors only on last ref. Oops (Chris).
- use llist_head/node (Chris).

v3
- Add init_llist_head (Chris).

Fixes: a703c55004e1 ("drm: safely free connectors from connector_iter")
Fixes: 613051dac40d ("drm: locking&amp;new iterators for connector_list")
Cc: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Cc: Dave Airlie &lt;airlied@gmail.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.11+: 613051dac40d ("drm: locking&amp;new iterators for connector_list"
Cc: &lt;stable@vger.kernel.org&gt; # v4.11+
Cc: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Cc: Jani Nikula &lt;jani.nikula@linux.intel.com&gt;
Cc: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Javier Martinez Canillas &lt;javier@dowhile0.org&gt;
Cc: Shuah Khan &lt;shuahkh@osg.samsung.com&gt;
Cc: Guillaume Tucker &lt;guillaume.tucker@collabora.com&gt;
Cc: Mark Brown &lt;broonie@kernel.org&gt;
Cc: Kevin Hilman &lt;khilman@baylibre.com&gt;
Cc: Matt Hart &lt;matthew.hart@linaro.org&gt;
Cc: Thierry Escande &lt;thierry.escande@collabora.co.uk&gt;
Cc: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt;
Cc: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171213124936.17914-1-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm: More debug info for fb leaks in mode_config_cleanup</title>
<updated>2017-12-07T17:40:43Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-12-07T14:49:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2aa0fcc2c72456a20ba958fce7669be922c6db15'/>
<id>urn:sha1:2aa0fcc2c72456a20ba958fce7669be922c6db15</id>
<content type='text'>
We're spotting this very rarely in CI, but have no idea. Let's add
more debug info about what's going on here.

References: https://bugs.freedesktop.org/show_bug.cgi?id=102707
Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171207144925.14191-1-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm: safely free connectors from connector_iter</title>
<updated>2017-12-06T09:22:55Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-12-04T20:48:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a703c55004e1c5076d57e43771b3e11117796ea0'/>
<id>urn:sha1:a703c55004e1c5076d57e43771b3e11117796ea0</id>
<content type='text'>
In

commit 613051dac40da1751ab269572766d3348d45a197
Author: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Date:   Wed Dec 14 00:08:06 2016 +0100

    drm: locking&amp;new iterators for connector_list

we've went to extreme lengths to make sure connector iterations works
in any context, without introducing any additional locking context.
This worked, except for a small fumble in the implementation:

When we actually race with a concurrent connector unplug event, and
our temporary connector reference turns out to be the final one, then
everything breaks: We call the connector release function from
whatever context we happen to be in, which can be an irq/atomic
context. And connector freeing grabs all kinds of locks and stuff.

Fix this by creating a specially safe put function for connetor_iter,
which (in this rare case) punts the cleanup to a worker.

Reported-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Cc: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Fixes: 613051dac40d ("drm: locking&amp;new iterators for connector_list")
Cc: Dave Airlie &lt;airlied@gmail.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.11+
Reviewed-by: Dave Airlie &lt;airlied@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171204204818.24745-1-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm: Check mode object lease status in all master ioctl paths [v4]</title>
<updated>2017-10-25T06:31:30Z</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-04-10T04:35:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7de440db20d4531e4b740bf17b56afc426c54377'/>
<id>urn:sha1:7de440db20d4531e4b740bf17b56afc426c54377</id>
<content type='text'>
Attempts to modify un-leased objects are rejected with an error.
Information returned about unleased objects is modified to make them
appear unusable and/or disconnected.

Changes for v2 as suggested by Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;:

 * With the change in the __drm_mode_object_find API to pass the
   file_priv along, we can now centralize most of the lease-based
   access checks in that function.

 * A few places skip that API and require in-line checks.

Changes for v3 provided by Dave Airlie &lt;airlied@redhat.com&gt;

 * remove support for leasing encoders.
 * add support for leasing planes.

Changes for v4

 * Only call drm_lease_held if DRIVER_MODESET.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/plane: drop num_overlay_planes (v3)</title>
<updated>2017-10-17T01:32:29Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2017-10-12T23:52:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=40d86701a625eed9e644281b9af228d6a52d8ed9'/>
<id>urn:sha1:40d86701a625eed9e644281b9af228d6a52d8ed9</id>
<content type='text'>
In order to implement plane leasing we need to count things,
just make the code consistent with the counting code currently
used for counting crtcs/encoders/connectors and drop the need
for num_overlay_planes.

v2: don't forget to assign plane_ptr. (keithp)
v3: use correct bounds check, found by igt.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: Create a format/modifier blob</title>
<updated>2017-08-01T16:50:06Z</updated>
<author>
<name>Ben Widawsky</name>
<email>ben@bwidawsk.net</email>
</author>
<published>2017-07-24T03:46:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=db1689aa61bd1efb5ce9b896e7aa860a85b7f1b6'/>
<id>urn:sha1:db1689aa61bd1efb5ce9b896e7aa860a85b7f1b6</id>
<content type='text'>
Updated blob layout (Rob, Daniel, Kristian, xerpi)

v2:
* Removed __packed, and alignment (.+)
* Fix indent in drm_format_modifier fields (Liviu)
* Remove duplicated modifier &gt; 64 check (Liviu)
* Change comment about modifier (Liviu)
* Remove arguments to blob creation, use plane instead (Liviu)
* Fix data types (Ben)
* Make the blob part of uapi (Daniel)

v3:
Remove unused ret field.
Change i, and j to unsigned int (Emil)

v4:
Use plane-&gt;modifier_count instead of recounting (Daniel)

v5:
Rename modifiers to modifiers_property (Ville)
Use sizeof(__u32) instead to reflect UAPI nature (Ville)
Make BUILD_BUG_ON for blob header size

Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Cc: Kristian H. Kristensen &lt;hoegsberg@gmail.com&gt;
Signed-off-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt; (v2)
Reviewed-by: Liviu Dudau &lt;liviu@dudau.co.uk&gt; (v2)
Reviewed-by: Emil Velikov &lt;emil.l.velikov@gmail.com&gt; (v3)
Signed-off-by: Daniel Stone &lt;daniels@collabora.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170724034641.13369-2-ben@bwidawsk.net
</content>
</entry>
<entry>
<title>drm: Rename connector list iterator API</title>
<updated>2017-02-28T15:16:48Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2017-02-28T14:46:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b982dab1e66d2b998e80a97acb6eaf56518988d3'/>
<id>urn:sha1:b982dab1e66d2b998e80a97acb6eaf56518988d3</id>
<content type='text'>
Currently the functions that initialize and tear down a connector
iterator use the _get() and _put() suffixes. However, these suffixes
are typically used by reference counting functions.

Make these function names a little more consistent by changing the
suffixes to _begin() and _end(), which is a fairly common pattern in
the rest of the Linux kernel.

Suggested-by: Jani Nikula &lt;jani.nikula@linux.intel.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170228144643.5668-8-thierry.reding@gmail.com
</content>
</entry>
<entry>
<title>drm: Introduce drm_property_blob_{get,put}()</title>
<updated>2017-02-28T15:16:46Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2017-02-28T14:46:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6472e5090be7c78749a3c279b4faae87ab835c40'/>
<id>urn:sha1:6472e5090be7c78749a3c279b4faae87ab835c40</id>
<content type='text'>
For consistency with other reference counting APIs in the kernel, add
drm_property_blob_get() and drm_property_blob_put() to reference count
DRM blob properties.

Compatibility aliases are added to keep existing code working. To help
speed up the transition, all the instances of the old functions in the
DRM core are already replaced in this commit.

A semantic patch is provided that can be used to convert all drivers to
the new helpers.

Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170228144643.5668-7-thierry.reding@gmail.com
</content>
</entry>
<entry>
<title>drm: Introduce drm_connector_{get,put}()</title>
<updated>2017-02-28T15:15:00Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2017-02-28T14:46:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ad09360750afa18a0a0ce0253d6ea6033abc22e7'/>
<id>urn:sha1:ad09360750afa18a0a0ce0253d6ea6033abc22e7</id>
<content type='text'>
For consistency with other reference counting APIs in the kernel, add
drm_connector_get() and drm_connector_put() functions to reference count
connectors.

Compatibility aliases are added to keep existing code working. To help
speed up the transition, all the instances of the old functions in the
DRM core are already replaced in this commit.

The existing semantic patch for mode object reference count conversion
is extended for these new helpers.

Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170228144643.5668-4-thierry.reding@gmail.com
</content>
</entry>
</feed>
