<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu/drm/sis, branch linux-4.5.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>include/uapi/drm/sis_drm.h: move sis_file_private to drivers/gpu/drm/sis/sis_drv.h</title>
<updated>2015-10-16T01:27:46+00:00</updated>
<author>
<name>Mikko Rapeli</name>
<email>mikko.rapeli@iki.fi</email>
</author>
<published>2015-10-15T05:55:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7a6007c309c9b0e573dc17ac9d81e8b5f173847d'/>
<id>7a6007c309c9b0e573dc17ac9d81e8b5f173847d</id>
<content type='text'>
Fixes userspace compile error:

drm/sis_drm.h:68:19: error: field ‘obj_list’ has incomplete type
  struct list_head obj_list;

Suggested by Emil Velikov &lt;emil.l.velikov@gmail.com&gt; at
https://lkml.org/lkml/2015/6/3/792

Signed-off-by: Mikko Rapeli &lt;mikko.rapeli@iki.fi&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes userspace compile error:

drm/sis_drm.h:68:19: error: field ‘obj_list’ has incomplete type
  struct list_head obj_list;

Suggested by Emil Velikov &lt;emil.l.velikov@gmail.com&gt; at
https://lkml.org/lkml/2015/6/3/792

Signed-off-by: Mikko Rapeli &lt;mikko.rapeli@iki.fi&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: move drm_mmap to &lt;drm/drm_legacy.h&gt;</title>
<updated>2014-09-24T01:43:07+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2014-09-23T13:46:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bfbf3c851ce53b914fe98d60ea3fe3fc1ab75b96'/>
<id>bfbf3c851ce53b914fe98d60ea3fe3fc1ab75b96</id>
<content type='text'>
Now that we've removed the copypasted users in gem/ttm we can
relegate the legacy buffer mapping support to where it belongs.
Also give it the proper drm_legacy_ prefix.

While at it statify drm_mmap_locked, somehow I've missed that in my
previous header rework.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Acked-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we've removed the copypasted users in gem/ttm we can
relegate the legacy buffer mapping support to where it belongs.
Also give it the proper drm_legacy_ prefix.

While at it statify drm_mmap_locked, somehow I've missed that in my
previous header rework.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Acked-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Create drm legacy driver header</title>
<updated>2014-09-12T09:08:55+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2014-09-10T10:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4f03b1fc1eb286b73d453c03cdb45a3827726a44'/>
<id>4f03b1fc1eb286b73d453c03cdb45a3827726a44</id>
<content type='text'>
And move a few legayc functions to start things over there.

It compiles ...

Inspired by a patch from Dave Airlie, but with a split between drm.ko
private legacy functions and stuff used by drivers.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And move a few legayc functions to start things over there.

It compiles ...

Inspired by a patch from Dave Airlie, but with a split between drm.ko
private legacy functions and stuff used by drivers.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: move drm-lock API to drm_legacy.h</title>
<updated>2014-09-10T07:43:34+00:00</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@gmail.com</email>
</author>
<published>2014-08-29T10:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bb6d822ec546603bca01f7ba17c52f0f4f80e329'/>
<id>bb6d822ec546603bca01f7ba17c52f0f4f80e329</id>
<content type='text'>
Same as the other legacy APIs, most of this is internal, so prefix it with
drm_legacy_* and move into drm_legacy.h.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Same as the other legacy APIs, most of this is internal, so prefix it with
drm_legacy_* and move into drm_legacy.h.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: add driver-&gt;set_busid() callback</title>
<updated>2014-09-10T07:43:04+00:00</updated>
<author>
<name>David Herrmann</name>
<email>dh.herrmann@gmail.com</email>
</author>
<published>2014-08-29T10:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=915b4d11b8b9e7b84ba4a4645b6cc7fbc0c071cf'/>
<id>915b4d11b8b9e7b84ba4a4645b6cc7fbc0c071cf</id>
<content type='text'>
One step closer to dropping all the drm_bus_* code:
Add a driver-&gt;set_busid() callback and make all drivers use the generic
helpers. Nouveau is the only driver that uses two different bus-types with
the same drm_driver. This is totally broken if both buses are available on
the same machine (unlikely, but lets be safe). Therefore, we create two
different drivers for each platform during module_init() and set the
set_busid() callback respectively.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One step closer to dropping all the drm_bus_* code:
Add a driver-&gt;set_busid() callback and make all drivers use the generic
helpers. Nouveau is the only driver that uses two different bus-types with
the same drm_driver. This is totally broken if both buses are available on
the same machine (unlikely, but lets be safe). Therefore, we create two
different drivers for each platform during module_init() and set the
set_busid() callback respectively.

Signed-off-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE()</title>
<updated>2014-06-09T23:36:17+00:00</updated>
<author>
<name>Damien Lespiau</name>
<email>damien.lespiau@intel.com</email>
</author>
<published>2014-06-09T13:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f95aeb17f57c4c98b7f33627e5f51353fd094a93'/>
<id>f95aeb17f57c4c98b7f33627e5f51353fd094a93</id>
<content type='text'>
I cannot see a need to provide a DRM_ version of ARRAY_SIZE(), only used
in a few places. I suspect its usage has been spread by copy &amp; paste
rather than anything else.

Let's just remove it for plain ARRAY_SIZE().

Signed-off-by: Damien Lespiau &lt;damien.lespiau@intel.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I cannot see a need to provide a DRM_ version of ARRAY_SIZE(), only used
in a few places. I suspect its usage has been spread by copy &amp; paste
rather than anything else.

Let's just remove it for plain ARRAY_SIZE().

Signed-off-by: Damien Lespiau &lt;damien.lespiau@intel.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: gpu: Mark function as static in sis_drv.c</title>
<updated>2014-01-14T03:04:33+00:00</updated>
<author>
<name>Rashika</name>
<email>rashika.kheria@gmail.com</email>
</author>
<published>2014-01-06T16:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=902f4a7400df915ccd84c87e1cc89a2e89f96ceb'/>
<id>902f4a7400df915ccd84c87e1cc89a2e89f96ceb</id>
<content type='text'>
Mark function as static because it is not used outside the file
drm/sis/sis_drv.c.

This eliminates the following warning in drm/sis/sis_drv.c:
drivers/gpu/drm/sis/sis_drv.c:97:6: warning: no previous prototype for ‘sis_driver_postclose’ [-Wmissing-prototypes]

Signed-off-by: Rashika Kheria &lt;rashika.kheria@gmail.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mark function as static because it is not used outside the file
drm/sis/sis_drv.c.

This eliminates the following warning in drm/sis/sis_drv.c:
drivers/gpu/drm/sis/sis_drv.c:97:6: warning: no previous prototype for ‘sis_driver_postclose’ [-Wmissing-prototypes]

Signed-off-by: Rashika Kheria &lt;rashika.kheria@gmail.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Kill DRM_HZ</title>
<updated>2013-12-18T01:33:24+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-12-11T10:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bfd8303af0c46bd094289ee4e65f1e4bcc4fb7d3'/>
<id>bfd8303af0c46bd094289ee4e65f1e4bcc4fb7d3</id>
<content type='text'>
We don't have any userspace interfaces that use HZ as a time unit, so
having our own DRM define is useless.

Remove this remnant from the shared drm core days.

Signed-off-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>
We don't have any userspace interfaces that use HZ as a time unit, so
having our own DRM define is useless.

Remove this remnant from the shared drm core days.

Signed-off-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: rip out drm_core_has_MTRR checks</title>
<updated>2013-08-19T04:11:44+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-08-08T13:41:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=281856477cdaba70032af502ee7192fe7aa54f69'/>
<id>281856477cdaba70032af502ee7192fe7aa54f69</id>
<content type='text'>
The new arch_phys_wc_add/del functions do the right thing both with
and without MTRR support in the kernel. So we can drop these
additional checks.

David Herrmann suggest to also kill the DRIVER_USE_MTRR flag since
it's now unused, which spurred me to do a bit a better audit of the
affected drivers. David helped a lot in that. Quoting our mail
discussion:

On Wed, Jul 10, 2013 at 5:41 PM, David Herrmann &lt;dh.herrmann@gmail.com&gt; wrote:
&gt; On Wed, Jul 10, 2013 at 5:22 PM, Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt; wrote:
&gt;&gt; On Wed, Jul 10, 2013 at 3:51 PM, David Herrmann &lt;dh.herrmann@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt; -#if __OS_HAS_MTRR
&gt;&gt;&gt;&gt; -static inline int drm_core_has_MTRR(struct drm_device *dev)
&gt;&gt;&gt;&gt; -{
&gt;&gt;&gt;&gt; -       return drm_core_check_feature(dev, DRIVER_USE_MTRR);
&gt;&gt;&gt;&gt; -}
&gt;&gt;&gt;&gt; -#else
&gt;&gt;&gt;&gt; -#define drm_core_has_MTRR(dev) (0)
&gt;&gt;&gt;&gt; -#endif
&gt;&gt;&gt;&gt; -
&gt;&gt;&gt;
&gt;&gt;&gt; That was the last user of DRIVER_USE_MTRR (apart from drivers setting
&gt;&gt;&gt; it in .driver_features). Any reason to keep it around?
&gt;&gt;
&gt;&gt; Yeah, I guess we could rip things out. Which will also force me to
&gt;&gt; properly audit drivers for the eventual behaviour change this could
&gt;&gt; entail (in case there's an x86 driver which did not ask for an mtrr,
&gt;&gt; but iirc there isn't).
&gt;
&gt; david@david-mb ~/dev/kernel/linux $ for i in drivers/gpu/drm/* ; do if
&gt; test -d "$i" ; then if ! grep -q USE_MTRR -r $i ; then echo $i ; fi ;
&gt; fi ; done
&gt; drivers/gpu/drm/exynos
&gt; drivers/gpu/drm/gma500
&gt; drivers/gpu/drm/i2c
&gt; drivers/gpu/drm/nouveau
&gt; drivers/gpu/drm/omapdrm
&gt; drivers/gpu/drm/qxl
&gt; drivers/gpu/drm/rcar-du
&gt; drivers/gpu/drm/shmobile
&gt; drivers/gpu/drm/tilcdc
&gt; drivers/gpu/drm/ttm
&gt; drivers/gpu/drm/udl
&gt; drivers/gpu/drm/vmwgfx
&gt; david@david-mb ~/dev/kernel/linux $
&gt;
&gt; So for x86 gma500,nouveau,qxl,udl,vmwgfx don't set DRIVER_USE_MTRR.
&gt; But I cannot tell whether they break if we call arch_phys_wc_add/del,
&gt; anyway. At least nouveau seemed to work here, but it doesn't use AGP
&gt; or drm_bufs, I guess.

Cool, thanks a lot for stitching together the list of drivers to look
at. So for real KMS drivers it's the drives responsibility to add an
mtrr if it needs one. nouvea, radeon, mgag200, i915 and vmwgfx do that
already. Somehow the savage driver also ends up doing that, I have no
idea why.

Note that gma500 as a pure KMS driver doesn't need MTRR setup since
the platforms that it supports all support PAT. So no MTRRs needed to
get wc iomappings.

The mtrr support in the drm core is all for legacy mappings of garts,
framebuffers and registers. All legacy drivers set the USE_MTRR flag,
so we're good there.

All in all I think we can really just ditch this

/endquote

v2: Also kill DRIVER_USE_MTRR as suggested by David Herrmann

v3: Rebase on top of David Herrmann's agp setup/cleanup changes.

Cc: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Andy Lutomirski &lt;luto@amacapital.net&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new arch_phys_wc_add/del functions do the right thing both with
and without MTRR support in the kernel. So we can drop these
additional checks.

David Herrmann suggest to also kill the DRIVER_USE_MTRR flag since
it's now unused, which spurred me to do a bit a better audit of the
affected drivers. David helped a lot in that. Quoting our mail
discussion:

On Wed, Jul 10, 2013 at 5:41 PM, David Herrmann &lt;dh.herrmann@gmail.com&gt; wrote:
&gt; On Wed, Jul 10, 2013 at 5:22 PM, Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt; wrote:
&gt;&gt; On Wed, Jul 10, 2013 at 3:51 PM, David Herrmann &lt;dh.herrmann@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt; -#if __OS_HAS_MTRR
&gt;&gt;&gt;&gt; -static inline int drm_core_has_MTRR(struct drm_device *dev)
&gt;&gt;&gt;&gt; -{
&gt;&gt;&gt;&gt; -       return drm_core_check_feature(dev, DRIVER_USE_MTRR);
&gt;&gt;&gt;&gt; -}
&gt;&gt;&gt;&gt; -#else
&gt;&gt;&gt;&gt; -#define drm_core_has_MTRR(dev) (0)
&gt;&gt;&gt;&gt; -#endif
&gt;&gt;&gt;&gt; -
&gt;&gt;&gt;
&gt;&gt;&gt; That was the last user of DRIVER_USE_MTRR (apart from drivers setting
&gt;&gt;&gt; it in .driver_features). Any reason to keep it around?
&gt;&gt;
&gt;&gt; Yeah, I guess we could rip things out. Which will also force me to
&gt;&gt; properly audit drivers for the eventual behaviour change this could
&gt;&gt; entail (in case there's an x86 driver which did not ask for an mtrr,
&gt;&gt; but iirc there isn't).
&gt;
&gt; david@david-mb ~/dev/kernel/linux $ for i in drivers/gpu/drm/* ; do if
&gt; test -d "$i" ; then if ! grep -q USE_MTRR -r $i ; then echo $i ; fi ;
&gt; fi ; done
&gt; drivers/gpu/drm/exynos
&gt; drivers/gpu/drm/gma500
&gt; drivers/gpu/drm/i2c
&gt; drivers/gpu/drm/nouveau
&gt; drivers/gpu/drm/omapdrm
&gt; drivers/gpu/drm/qxl
&gt; drivers/gpu/drm/rcar-du
&gt; drivers/gpu/drm/shmobile
&gt; drivers/gpu/drm/tilcdc
&gt; drivers/gpu/drm/ttm
&gt; drivers/gpu/drm/udl
&gt; drivers/gpu/drm/vmwgfx
&gt; david@david-mb ~/dev/kernel/linux $
&gt;
&gt; So for x86 gma500,nouveau,qxl,udl,vmwgfx don't set DRIVER_USE_MTRR.
&gt; But I cannot tell whether they break if we call arch_phys_wc_add/del,
&gt; anyway. At least nouveau seemed to work here, but it doesn't use AGP
&gt; or drm_bufs, I guess.

Cool, thanks a lot for stitching together the list of drivers to look
at. So for real KMS drivers it's the drives responsibility to add an
mtrr if it needs one. nouvea, radeon, mgag200, i915 and vmwgfx do that
already. Somehow the savage driver also ends up doing that, I have no
idea why.

Note that gma500 as a pure KMS driver doesn't need MTRR setup since
the platforms that it supports all support PAT. So no MTRRs needed to
get wc iomappings.

The mtrr support in the drm core is all for legacy mappings of garts,
framebuffers and registers. All legacy drivers set the USE_MTRR flag,
so we're good there.

All in all I think we can really just ditch this

/endquote

v2: Also kill DRIVER_USE_MTRR as suggested by David Herrmann

v3: Rebase on top of David Herrmann's agp setup/cleanup changes.

Cc: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Andy Lutomirski &lt;luto@amacapital.net&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: remove FASYNC support</title>
<updated>2013-08-19T00:05:17+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-08-08T13:41:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b0e898ac555e96e7863a5ee95d70f3625f1db5e2'/>
<id>b0e898ac555e96e7863a5ee95d70f3625f1db5e2</id>
<content type='text'>
So I've stumbled over drm_fasync and wondered what it does. Digging
that up is quite a story.

First I've had to read up on what this does and ended up being rather
bewildered why peopled loved signals so much back in the days that
they've created SIGIO just for that ...

Then I wondered how this ever works, and what that strange "No-op."
comment right above it should mean. After all calling the core fasync
helper is pretty obviously not a noop. After reading through the
kernels FASYNC implementation I've noticed that signals are only sent
out to the processes attached with FASYNC by calling kill_fasync.

No merged drm driver has ever done that.

After more digging I've found out that the only driver that ever used
this is the so called GAMMA driver. I've frankly never heard of such a
gpu brand ever before. Now FASYNC seems to not have been the only bad
thing with that driver, since Dave Airlie removed it from the drm
driver with prejudice:

commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed
Author: Dave Airlie &lt;airlied@linux.ie&gt;
Date:   Sun Aug 29 12:04:35 2004 +0000

    Drop GAMMA DRM from a great height ...

Long story short, the drm fasync support seems to be doing absolutely
nothing. And the only user of it was never merged into the upstream
kernel. And we don't need any fops-&gt;fasync callback since the fcntl
implementation in the kernel already implements the noop case
correctly.

So stop this particular cargo-cult and rip it all out.

v2: Kill drm_fasync assignments in rcar (newly added) and imx drivers
(somehow I've missed that one in staging). Also drop the reference in
the drm DocBook. ARM compile-fail reported by Rob Clark.

v3: Move the removal of dev-&gt;buf_asnyc assignment in drm_setup to this
patch here.

v4: Actually git add ... tsk.

Cc: Dave Airlie &lt;airlied@linux.ie&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So I've stumbled over drm_fasync and wondered what it does. Digging
that up is quite a story.

First I've had to read up on what this does and ended up being rather
bewildered why peopled loved signals so much back in the days that
they've created SIGIO just for that ...

Then I wondered how this ever works, and what that strange "No-op."
comment right above it should mean. After all calling the core fasync
helper is pretty obviously not a noop. After reading through the
kernels FASYNC implementation I've noticed that signals are only sent
out to the processes attached with FASYNC by calling kill_fasync.

No merged drm driver has ever done that.

After more digging I've found out that the only driver that ever used
this is the so called GAMMA driver. I've frankly never heard of such a
gpu brand ever before. Now FASYNC seems to not have been the only bad
thing with that driver, since Dave Airlie removed it from the drm
driver with prejudice:

commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed
Author: Dave Airlie &lt;airlied@linux.ie&gt;
Date:   Sun Aug 29 12:04:35 2004 +0000

    Drop GAMMA DRM from a great height ...

Long story short, the drm fasync support seems to be doing absolutely
nothing. And the only user of it was never merged into the upstream
kernel. And we don't need any fops-&gt;fasync callback since the fcntl
implementation in the kernel already implements the noop case
correctly.

So stop this particular cargo-cult and rip it all out.

v2: Kill drm_fasync assignments in rcar (newly added) and imx drivers
(somehow I've missed that one in staging). Also drop the reference in
the drm DocBook. ARM compile-fail reported by Rob Clark.

v3: Move the removal of dev-&gt;buf_asnyc assignment in drm_setup to this
patch here.

v4: Actually git add ... tsk.

Cc: Dave Airlie &lt;airlied@linux.ie&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Rob Clark &lt;robdclark@gmail.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
