History log of /dflybsd-src/sys/dev/drm/include/linux/completion.h (Results 1 – 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0
# 3f2dd94a 19-Dec-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Update to Linux 4.15.18

* Create /dev/dri/renderD* devices
Generally handle /dev entries creation as close to Linux as possible.

* Add drm master support
Sync authentification code with Li

drm: Update to Linux 4.15.18

* Create /dev/dri/renderD* devices
Generally handle /dev entries creation as close to Linux as possible.

* Add drm master support
Sync authentification code with Linux 4.15.18

* handle vm_mm->mmap_sem in ttm page fault operations

* Update dma-fence code from OpenBSD

* This commit contains sleep/wakeup and other changes
from Matthew Dillon <dillon@apollo.backplane.com>

show more ...


Revision tags: v5.8.3, v5.8.2
# 647fa573 26-Jul-2020 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Fix complete() and complete_all()

Completion counters are supposed to be bounded by UINT_MAX.


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# f1e2e235 21-Dec-2019 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add wait_for_completion()


# 09f141c4 03-Nov-2019 François Tigeot <ftigeot@wolfpond.org>

drm: Remove most system headers from linux/list.h

They do not serve any useful purpose there.

Suggested-by: zrj


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2
# 39cfddd2 27-Nov-2017 François Tigeot <ftigeot@wolfpond.org>

drm/linux: Add or improve various header files


Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1
# 2097fbd4 12-Apr-2017 Peeter Must <karu.pruun@gmail.com>

drm/linux: Add reinit_completion()


Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1
# 88c5318e 18-Nov-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Use lockmgr locks with Linux wait queues

* On Linux, it is possible to grab a second spinlock in an already
spinlock-protected code section.

* The wait_event() macro is used in such a situat

drm: Use lockmgr locks with Linux wait queues

* On Linux, it is possible to grab a second spinlock in an already
spinlock-protected code section.

* The wait_event() macro is used in such a situation in the i915 driver.
One of the event checks itself tries to grab a second lock. What's more,
this second lock is a lockmgr lock in the DragonFly kernel. This results
in the following situation:

spinlock
lockmgr LK_EXCLUSIVE
spinunlock

* Unfortunately if the lockmgr lock can't be acquired, the thread is put
to sleep and a thread sleeping with a spinlock held leads to a general
system freeze or a kernel panic.

* For that reason, we can't use a spinlock in Linux wait queues. Change
the internal wait_queue_head_t lock to a lockmgr lock.

Thanks go to Imre Vadász for spotting this horrible issue.

show more ...


# 797013cf 16-Nov-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Use the ERESTARTSYS error code

* Linux kernel functions can return -ERESTARTSYS in some cases, a
negative value indicating an error (typically -512)

* Howewer, ERESTARTSYS was previously as

drm: Use the ERESTARTSYS error code

* Linux kernel functions can return -ERESTARTSYS in some cases, a
negative value indicating an error (typically -512)

* Howewer, ERESTARTSYS was previously as ERESTART, itself defined
as -1 in *BSD kernels

* The -ERESTARTSYS return value thus was positive on the DragonFly
kernel, potentially breaking various drm error checks.

* Fix this issue by defining ERESTARTSYS separately

Thanks-to: Imre Vadasz for discovering the original problem

show more ...


Revision tags: v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2
# 44e1bd6e 17-Jul-2014 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Move wakeup*() to ouside a spin lock

* Move the wakeup*() calls in the linux completion interface from inside
to outside the spinlock. It can't be safely called from inside the
spinloc

kernel - Move wakeup*() to ouside a spin lock

* Move the wakeup*() calls in the linux completion interface from inside
to outside the spinlock. It can't be safely called from inside the
spinlock.

Reported-by: me_

show more ...


# 24b50f1a 04-Jul-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Add a linux/completion.h implementation

* The drm/i915 code expect completion to be a struct containing a
counter named 'done' and a wait queue named 'wait'

* It also expects this wait queue

drm: Add a linux/completion.h implementation

* The drm/i915 code expect completion to be a struct containing a
counter named 'done' and a wait queue named 'wait'

* It also expects this wait queue to be a struct containing a spinlock
named 'lock'. Adjust the implementation in linux/wait.h accordingly.

show more ...