<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/drm_fops.c, branch linux-3.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-04-08T16:52:16Z</updated>
<entry>
<title>Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux</title>
<updated>2014-04-08T16:52:16Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-04-08T16:52:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e9f37d3a8d126e73f5737ef548cdf6f618e295e4'/>
<id>urn:sha1:e9f37d3a8d126e73f5737ef548cdf6f618e295e4</id>
<content type='text'>
Pull drm updates from Dave Airlie:
 "Highlights:

   - drm:

     Generic display port aux features, primary plane support, drm
     master management fixes, logging cleanups, enforced locking checks
     (instead of docs), documentation improvements, minor number
     handling cleanup, pseudofs for shared inodes.

   - ttm:

     add ability to allocate from both ends

   - i915:

     broadwell features, power domain and runtime pm, per-process
     address space infrastructure (not enabled)

   - msm:

     power management, hdmi audio support

   - nouveau:

     ongoing GPU fault recovery, initial maxwell support, random fixes

   - exynos:

     refactored driver to clean up a lot of abstraction, DP support
     moved into drm, LVDS bridge support added, parallel panel support

   - gma500:

     SGX MMU support, SGX irq handling, asle irq work fixes

   - radeon:

     video engine bringup, ring handling fixes, use dp aux helpers

   - vmwgfx:

     add rendernode support"

* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (849 commits)
  DRM: armada: fix corruption while loading cursors
  drm/dp_helper: don't return EPROTO for defers (v2)
  drm/bridge: export ptn3460_init function
  drm/exynos: remove MODULE_DEVICE_TABLE definitions
  ARM: dts: exynos4412-trats2: enable exynos/fimd node
  ARM: dts: exynos4210-trats: enable exynos/fimd node
  ARM: dts: exynos4412-trats2: add panel node
  ARM: dts: exynos4210-trats: add panel node
  ARM: dts: exynos4: add MIPI DSI Master node
  drm/panel: add S6E8AA0 driver
  ARM: dts: exynos4210-universal_c210: add proper panel node
  drm/panel: add ld9040 driver
  panel/ld9040: add DT bindings
  panel/s6e8aa0: add DT bindings
  drm/exynos: add DSIM driver
  exynos/dsim: add DT bindings
  drm/exynos: disallow fbdev initialization if no device is connected
  drm/mipi_dsi: create dsi devices only for nodes with reg property
  drm/mipi_dsi: add flags to DSI messages
  Skip intel_crt_init for Dell XPS 8700
  ...
</content>
</entry>
<entry>
<title>drm: Protect the master management with a drm_device::master_mutex v3</title>
<updated>2014-03-28T13:19:02Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-02-25T18:57:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c996fd0b956450563454e7ccc97a82ca31f9d043'/>
<id>urn:sha1:c996fd0b956450563454e7ccc97a82ca31f9d043</id>
<content type='text'>
The master management was previously protected by the drm_device::struct_mutex.
In order to avoid locking order violations in a reworked dropped master
security check in the vmwgfx driver, break it out into a separate master_mutex.
Locking order is master_mutex -&gt; struct_mutex.

Also remove drm_master::blocked since it's not used.

v2: Add an inline comment about what drm_device::master_mutex is protecting.
v3: Remove unneeded struct_mutex locks. Fix error returns in
    drm_setmaster_ioctl().

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Acked-by: Daniel Vetter &lt;daniel@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm: Improve on minor type helpers v3</title>
<updated>2014-03-28T13:19:01Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-03-13T10:07:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=436830571eb9045d563979dc6185b1d5145ca4b6'/>
<id>urn:sha1:436830571eb9045d563979dc6185b1d5145ca4b6</id>
<content type='text'>
Add a drm_is_legacy() helper, constify argument to drm_is_render_client(),
and use / change helpers where appropriate.

v2: s/drm_is_legacy/drm_is_legacy_client/ and adapt to new code context.
v3: s/legacy_client/primary_client/

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
</content>
</entry>
<entry>
<title>drm: Make control nodes master-less v3</title>
<updated>2014-03-28T13:19:01Z</updated>
<author>
<name>Thomas Hellstrom</name>
</author>
<published>2014-02-19T13:21:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac05dbc57ef2b8709bf48693bb25e16a63e8e71f'/>
<id>urn:sha1:ac05dbc57ef2b8709bf48693bb25e16a63e8e71f</id>
<content type='text'>
Like for render-nodes, there is no point in maintaining the master concept
for control nodes, so set the struct drm_file::master pointer to NULL.

At the same time, make sure DRM_MASTER | DRM_CONTROL_ALLOW ioctls are always
allowed when called through the control node. Previously the caller also
needed to be master.

v2: Adapt to refactoring of ioctl permission check.
v3: Formatting of logical expression. Use drm_is_control_client() instead of
    drm_is_control().

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'drm-minor' into drm-next</title>
<updated>2014-03-16T12:13:51Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-03-16T12:13:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07b48c3ac539828d744f0562da1f24e8a234d06e'/>
<id>urn:sha1:07b48c3ac539828d744f0562da1f24e8a234d06e</id>
<content type='text'>
Fix minor conflicts with drm-anon:
 - allocation/free order
 - drm_device header cleanups
</content>
</entry>
<entry>
<title>drm: make minors independent of global lock</title>
<updated>2014-03-16T11:54:21Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-02-24T14:53:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d639883ee26359e1bf38195df1dbca0f879e239'/>
<id>urn:sha1:0d639883ee26359e1bf38195df1dbca0f879e239</id>
<content type='text'>
We used to protect minor-lookup and setup by the global drm lock. To
continue our attempts of dropping drm_global_mutex, this patch makes the
minor management independent of it. Furthermore, we make it all atomic and
switch to spin-locks instead of a mutex.

Now that minor-lookup is independent, we also move the
"drm_is_unplugged()" test into the minor-lookup path. There is no reason
to ever return a minor for unplugged objects, so keep that logic internal.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
</content>
</entry>
<entry>
<title>drm: remove redundant minor-&gt;device field</title>
<updated>2014-03-16T11:25:19Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-01-29T12:12:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5817878c6f4221c3ace4af63260080635063371e'/>
<id>urn:sha1:5817878c6f4221c3ace4af63260080635063371e</id>
<content type='text'>
Whenever we access minor-&gt;device, we are in a minor-&gt;kdev-&gt;...-&gt;fops
callback so the minor-&gt;kdev pointer *must* be valid. Thus, simply use
minor-&gt;kdev-&gt;devt instead of minor-&gt;device and remove the redundant field.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm: add minor-lookup/release helpers</title>
<updated>2014-03-16T11:25:17Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-01-29T09:49:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1616c525b98deb34b8f4b02eccf0ae3a1310fa27'/>
<id>urn:sha1:1616c525b98deb34b8f4b02eccf0ae3a1310fa27</id>
<content type='text'>
Instead of accessing drm_minors_idr directly, this adds a small helper to
hide the internals. This will help us later to remove the drm_global_mutex
requirement for minor-lookup.

Furthermore, this also makes sure that minor-&gt;dev is always valid and
takes a reference-count to the device as long as the minor is used in an
open-file. This way, "struct file*"-&gt;private_data-&gt;dev is guaranteed to be
valid (which it has to, as we cannot reset it).

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm: skip redundant minor-lookup in open path</title>
<updated>2014-03-16T11:25:17Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-01-29T09:18:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4aede2e3291896e7cb42755ecc5b6815b6cac97'/>
<id>urn:sha1:f4aede2e3291896e7cb42755ecc5b6815b6cac97</id>
<content type='text'>
The drm_open_helper() function is only used internally for drm_open() so
we can safely pass in the minor-object directly instead of the minor-id.
This way, we avoid the additional minor IDR lookup, which we already do
twice in drm_stub_open() and drm_open().

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm: use anon-inode instead of relying on cdevs</title>
<updated>2014-03-16T11:23:33Z</updated>
<author>
<name>David Herrmann</name>
</author>
<published>2014-01-03T13:24:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6796cb16c088905bf3af40548fda68c09e6f6ee5'/>
<id>urn:sha1:6796cb16c088905bf3af40548fda68c09e6f6ee5</id>
<content type='text'>
DRM drivers share a common address_space across all character-devices of a
single DRM device. This allows simple buffer eviction and mapping-control.
However, DRM core currently waits for the first -&gt;open() on any char-dev
to mark the underlying inode as backing inode of the device. This delayed
initialization causes ugly conditions all over the place:
  if (dev-&gt;dev_mapping)
    do_sth();

To avoid delayed initialization and to stop reusing the inode of the
char-dev, we allocate an anonymous inode for each DRM device and reset
filp-&gt;f_mapping to it on -&gt;open().

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
</content>
</entry>
</feed>
