History log of /dragonfly/sys/dev/drm/drm_lock.c (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# a85cb24f 27-Jul-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Update to Linux 4.12.14

* Initial Geminilake support

* Support improvements and model-specific bug fixes for Broxton, Haswell,
Broadwell, Skylake and Kabylake hardware

* Various generic i91

drm: Update to Linux 4.12.14

* Initial Geminilake support

* Support improvements and model-specific bug fixes for Broxton, Haswell,
Broadwell, Skylake and Kabylake hardware

* Various generic i915 bug fixes, including page flipping and memory
corruption issues

* Minor radeon bug fixes

show more ...


# 4be47400 13-Jul-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Update base driver to Linux 4.10.17

Thanks to Matthew Dillon <dillon@apollo.backplane.com>
for some VM fixes.


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 1dedbd3b 17-Nov-2019 François Tigeot <ftigeot@wolfpond.org>

drm: Update generic, ttm and radeon code to Linux 4.9

* Generally cleanup non driver-specific code and increase its
robustness

* DisplayPort support improvements

* Atomic modesetting improvement

drm: Update generic, ttm and radeon code to Linux 4.9

* Generally cleanup non driver-specific code and increase its
robustness

* DisplayPort support improvements

* Atomic modesetting improvements

* Radeon performance and stability improvements

* drm/i915 stays based on Linux 4.7.10 with Linux 4.19 changes
for now

Reviewed-by: Romick

show more ...


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
# 8b983a81 21-Jul-2018 François Tigeot <ftigeot@wolfpond.org>

drm: Sync a few bits with Linux 4.7.10


Revision tags: v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2
# 352ff8bd 21-Jul-2016 François Tigeot <ftigeot@wolfpond.org>

drm/i915: Update to Linux 4.4

* Broxton and Skylake support improvements

* Cherryview specific fixes

* Atomic modesetting conversion progress

* Improved validation of video modes. Some low-power

drm/i915: Update to Linux 4.4

* Broxton and Skylake support improvements

* Cherryview specific fixes

* Atomic modesetting conversion progress

* Improved validation of video modes. Some low-power chips can't
drive all DP screens and this is now detected by the driver.

* PSR and FBC improvements and bug fixes

* Workarounds for some specific HDMI monitors needing more time than
allowed by the spec to handle hot-plug events

* As usual, various fixes for little issues here and there

show more ...


Revision tags: v4.6.0rc, v4.7.0
# a05eeebf 06-May-2016 François Tigeot <ftigeot@wolfpond.org>

drm/i915: Update to Linux 4.3

* Generic stability improvements

* Stability fixes and support improvements for various GPU families, including
Broxton, Valleyview, Cherryview, Broadwell and Skylak

drm/i915: Update to Linux 4.3

* Generic stability improvements

* Stability fixes and support improvements for various GPU families, including
Broxton, Valleyview, Cherryview, Broadwell and Skylake

* Skylake support is no longer considered experimental

* HDMI now uses 12 bits per color component if the screen supports it.

* Power saving features improvements: many fixes have been made to the
PSR (panel self refresh) and FBC (framebuffer compression) code.
These features are not yet enabled by default though.

show more ...


Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# b922632f 08-Oct-2015 Imre Vadász <imre@vdsz.com>

drm: Fix drm_ioctl error return values.

Fixes some cases where we accidentally returned a negative value
from drm_ioctl().
Also this change converts the ERESTARTSYS error value to EINTR, before
retu

drm: Fix drm_ioctl error return values.

Fixes some cases where we accidentally returned a negative value
from drm_ioctl().
Also this change converts the ERESTARTSYS error value to EINTR, before
returning it to userspace.

show more ...


# 24edb884 27-Aug-2015 François Tigeot <ftigeot@wolfpond.org>

drm/i915: Update to Linux 3.17

* With an Haswell stability fix from Linux 3.19

* Display-Port code not completely synced with Linux 3.17, this was
breaking things as noticed by Rimvydas Jasinskas

drm/i915: Update to Linux 3.17

* With an Haswell stability fix from Linux 3.19

* Display-Port code not completely synced with Linux 3.17, this was
breaking things as noticed by Rimvydas Jasinskas

* Broadwell and Cherryview support improvements

* Runtime power-management improvements

* Panel Self-Refresh (PSR) now enabled by default on Haswell and Broadwell,
leading to further power savings

* Interrupt handling improvements

* backlight brightness locking fixes by Yellow Rabbit

* As usual, all sort of little fixes everywhere

show more ...


# c6f73aab 22-Aug-2015 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Update to Linux 3.17 (v2)

Catch up with recent updates in i915kms driver.
While there perform some cleaning in drm and drm/ttm too.

This smallish(1.2MB) diff between Linux v3.12..v3.17

drm/radeon: Update to Linux 3.17 (v2)

Catch up with recent updates in i915kms driver.
While there perform some cleaning in drm and drm/ttm too.

This smallish(1.2MB) diff between Linux v3.12..v3.17 brings
few improvements for radeon cards support on DragonFly BSD.

Driver is VERY experimental even if FF 720p "Hey Mamma"
looks much more pleasing to the eyes on my Xeon box.

Me being Fortran developer(who wants to run OpenCL on BSDs too)
was literally throwing diffs at the fan to see what sticks on.
After cleaning up the mess a bit, these features seems to behave:
kms-syscons switching on R7 240 and 5770 JUNIPER;
current DPorts Xorg;
Xorg-next(1.17.2) + Mesa-next(glamor for radeonsi);
2D tiling now works out of the box on OLAND;
glxgears/cubemap/cuberender mesa demos;
firefox youtube videos(still some blinking on overlays);
mpv -vo vdpau --hwdec=vdpau bsd-0088.mp4 (--vo=opengl too);
UVD (decoding limited to 1080p frame streams);
fragging in OpenArena maxed-out(even ttys[0-8] to quickly check mail);
hdmi audio;
DPM (enabled by default);
gpu temperature monitoring through hw.sensors framework;
automatic firmware loading.

TODO:
update drm/ttm, any help would be really appreciated;
ww_mutex, yep still good old "homegrown" locks;
vma, newer shrinker api;
dma_buf/prime;
iic/i2c rework;
kldunload radeonkms;
better gart sizes support;
newer firmware format support;
fix failing ring sync test to ring-5(UVD);
check how driver supports X2 and IGP cards;
better OpenCL through Clover;
many more.

Thanks goes to:
ftigeot@efnet for opportunity and i915 work
YRabbit@efnet for extensive testing of hdmi A/V on TURKS
ivadasz@efnet for temperature sensors support
mneumann@efnet for testing on HAWAII

AMD for investing time and effort in opensource drivers
NetBSD and Linux gpu developers

Special thanks to:
everyone behind freebsd-ports-graphics/opencl (keep pushing the mngt!)

and that Sweet special girl out there.

show more ...


Revision tags: 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
# 79f713b0 12-Jan-2015 François Tigeot <ftigeot@wolfpond.org>

Revert "drm: Handle drm masters and minors like Linux"

This reverts commit 2aa08105f11f5815d087c0f6baea9af394bd323f.

Many people reported this commit breaked their Xorg setup.


# 2aa08105 10-Jan-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Handle drm masters and minors like Linux

* Make drm data structures more like their Linux versions

* Reduce differences with Linux 3.9.11 and use the same
idr-based mechanisms when possible

drm: Handle drm masters and minors like Linux

* Make drm data structures more like their Linux versions

* Reduce differences with Linux 3.9.11 and use the same
idr-based mechanisms when possible

* Create devices with the right minor numbers

* Use the same struct file.private_data mechanism Linux uses to pass
drm_file information, removing the need for the FreeBSD-originated
devfs cdevpriv code.

show more ...


Revision tags: v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0
# 18e26a6d 24-Sep-2013 François Tigeot <ftigeot@wolfpond.org>

drm: Use an include directory hierarchy similar to the Linux one


# 5718399f 01-Sep-2013 François Tigeot <ftigeot@wolfpond.org>

drm: Merge the drm and drm2 implementations

* Move the drm2 i915 driver to sys/dev/drm/i915kms

* The legacy i915 driver remains untouched

* Only sys/dev/drm/ shall remain


Revision tags: v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0
# ae8e83e6 15-Jul-2009 Matthew Dillon <dillon@apollo.backplane.com>

MPSAFE - tsleep_interlock, BUF/BIO, cluster, swap_pager.

* tsleep_interlock()/tsleep() could miss wakeups during periods of
heavy cpu activity. What would happen is code inbetween the two
calls

MPSAFE - tsleep_interlock, BUF/BIO, cluster, swap_pager.

* tsleep_interlock()/tsleep() could miss wakeups during periods of
heavy cpu activity. What would happen is code inbetween the two
calls would try to send an IPI (say, issue a wakeup()), but while
sending the IPI the kernel would be forced to process incoming IPIs
synchronous to avoid a deadlock.

The new tsleep_interlock()/tsleep() code adds another TAILQ_ENTRY to
the thread structure allowing tsleep_interlock() to formally place
the thread on the appropriate sleep queue without having to deschedule
the thread. Any wakeup which occurs between the interlock and the
real tsleep() call will remove the thread from the queue and the
later tsleep() call will recognize this and simply return without sleeping.

The new tsleep() call requires PINTERLOCKED to be passed to tsleep
so tsleep() knows that the thread has already been placed on a sleep
queue.

* Continue making BUF/BIO MPSAFE. Remove B_ASYNC and B_WANT from buf->b_flag
and add a new bio->bio_flags field to the bio. Add BIO_SYNC, BIO_WANT,
and BIO_DONE. Use atomic_cmpset_int() (aka cmpxchg) to interlock
biodone() against biowait().

vn_strategy() and dev_dstrategy() call semantics now require that
synchronous BIO's install a bio_done function and set BIO_SYNC in
the bio.

* Clean up the cluster code a bit.

* Redo the swap_pager code. Instead of issuing I/O during the collection,
which depended on critical sections to avoid races in the cluster append,
we now build the entire collection first and then dispatch the I/O.
This allows us to use only async completion for the BIOs, instead of
a hybrid sync-or-async completion.

show more ...


# d9345d3a 14-Jul-2009 Matthew Dillon <dillon@apollo.backplane.com>

tsleep() - Add PINTERLOCKED flag to catch edge case.

When the tsleep_interlock() + UNLOCK + tsleep() combination is used it is
possible for an incoming wakeup IPI to be processed even if the combina

tsleep() - Add PINTERLOCKED flag to catch edge case.

When the tsleep_interlock() + UNLOCK + tsleep() combination is used it is
possible for an incoming wakeup IPI to be processed even if the combination
is used within a critical section, because operations inbetween the two
may send an IPI. Under heavy loads sending an IPI can force incoming IPIs
to be processed synchronously to avoid deadlocks.

It is also possible for tsleep itself to create this condition when it
releases the user process schedule prior to descheduling itself.

PINTERLOCKED causes tsleep to check whether the bit set by tsleep_interlock()
is still set. If it is not set we simply return without sleeping.

show more ...


Revision tags: v2.3.2, v2.3.1, v2.2.1
# b3705d71 26-Mar-2009 Hasso Tepper <hasso@estpak.ee>

Sync DRM code with FreeBSD trunk rev 190433.


Revision tags: v2.2.0, v2.3.0, v2.1.1, v2.0.1
# 7f3c3d6f 05-Apr-2008 Hasso Tepper <hasso@dragonflybsd.org>

DRM update to git snapshot from 2008-01-04.