History log of /dragonfly/sys/dev/drm/radeon/radeon_sa.c (Results 1 – 14 of 14)
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, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# ec5b6af4 24-Jan-2020 François Tigeot <ftigeot@wolfpond.org>

drm: Replace all Linux spinlocks by lockmgr locks

* The DragonFly kernel can sleep in different circumstances than Linux

* Linux driver code has not been written to prevent it

* Make all Linux spi

drm: Replace all Linux spinlocks by lockmgr locks

* The DragonFly kernel can sleep in different circumstances than Linux

* Linux driver code has not been written to prevent it

* Make all Linux spinlock_t spinlocks lockmgr locks and avoid potential
problems once and for all

show more ...


Revision tags: v5.6.2
# c59a5c48 15-Jul-2019 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Update to Linux 4.4.180

* Bugfixes and workaround for hardware issues, including
quirks for various R7 370 and R9 270 models

* VT switching fixes from dillon@

* Fan management improv

drm/radeon: Update to Linux 4.4.180

* Bugfixes and workaround for hardware issues, including
quirks for various R7 370 and R9 270 models

* VT switching fixes from dillon@

* Fan management improvements

* Improved support for 120+ Hz monitors

show more ...


# 7dcf36dc 20-Jun-2019 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Upgrade to Linux 3.19.8

* Various bug fixes and hardware bug workarounds

* Fan control improvements, especially on Southern Islands (SI)
and Sea Islands (CI) GPUs

* Performance impro

drm/radeon: Upgrade to Linux 3.19.8

* Various bug fixes and hardware bug workarounds

* Fan control improvements, especially on Southern Islands (SI)
and Sea Islands (CI) GPUs

* Performance improvements due to better memory management

show more ...


Revision tags: v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# 1ca17f9b 06-Mar-2019 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Use shorter lockinit identifiers


Revision tags: 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, v5.0.1, v5.0.0, v5.0.0rc2
# ee479021 30-Sep-2017 Imre Vadász <imre@vdsz.com>

Revert "Update drm/radeon to Linux 4.7.10 as much as possible..."

This caused severe issues on some modern radeon models (e.g. Kaveri APUs).
Not reverting the 62dc643ef61b347c4c2e60ad9ea68dd766741c9

Revert "Update drm/radeon to Linux 4.7.10 as much as possible..."

This caused severe issues on some modern radeon models (e.g. Kaveri APUs).
Not reverting the 62dc643ef61b347c4c2e60ad9ea68dd766741c90 commit, it's just
a 2 character diff that was conflicting with this change.

This reverts commit a7a95252afec8bfcc34ee5b8725136b17b77043f.

Tested-By: ivadasz
Reported-By: several people on #dragonflybsd

show more ...


Revision tags: v5.1.0, v5.0.0rc1, v4.8.1
# a7a95252 01-Apr-2017 David Shao <davshao@gmail.com>

Update drm/radeon to Linux 4.7.10 as much as possible...

...before other kernel changes.


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
# 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
# c4ef309b 03-Jun-2015 zrj <rimvydas.jasinskas@gmail.com>

drm/radeon: Sync gpu driver code with Linux 3.11

Little to none functional change.

Use kzalloc()/kfree()/kcalloc() wrappers.
Also use mb() and rmb().

Use linux compat macros:
udelay, mdelay
wa

drm/radeon: Sync gpu driver code with Linux 3.11

Little to none functional change.

Use kzalloc()/kfree()/kcalloc() wrappers.
Also use mb() and rmb().

Use linux compat macros:
udelay, mdelay
wake_up
printk
ARRAY_SIZE
ALIGN, round_up
BUG, BUG_ON, BUILD_BUG_ON, WARN

While there, reduce whitespace diffs with Linux 3.11

show more ...


# 57e252bf 27-May-2015 Michael Neumann <mneumann@ntecs.de>

drm/radeon: Sync to Linux 3.11


# f43cf1b1 25-May-2015 Michael Neumann <mneumann@ntecs.de>

radeon: sync to radeon 3.10


Revision tags: v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0
# 5a3b77d5 15-Oct-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Consolidate memory allocation types

* The DRM subsystem was using many different kmalloc types for no
good reason

* Some types were only used twice (1x kmalloc() and 1x kfree() calls)

* Rem

drm: Consolidate memory allocation types

* The DRM subsystem was using many different kmalloc types for no
good reason

* Some types were only used twice (1x kmalloc() and 1x kfree() calls)

* Remove that useless complexity and only keep one kmalloc type for
the whole DRM subsystem and its drivers

Inspired-by: OpenBSD

show more ...


Revision tags: v3.8.2
# 1a05908e 31-Jul-2014 Matthew Dillon <dillon@apollo.backplane.com>

drm/i915 - Fix double lock deadlock

* Fix an incorrect use wq_lock which was accidently double-locking instead
of unlocking around a sleep.

* Fixes X lockups overnight in the presence of xscreens

drm/i915 - Fix double lock deadlock

* Fix an incorrect use wq_lock which was accidently double-locking instead
of unlocking around a sleep.

* Fixes X lockups overnight in the presence of xscreensaver. 'gears'
seems to trigger it.

show more ...


# f6201ebf 03-Jul-2014 Matthew Dillon <dillon@apollo.backplane.com>

drm/ttm - stabilizing pass, misc bug fixes

* hold the vblank_time_lock around mod_timer() calls in drm_vblank_put()
(in drm_irq.c). This should help protect against reentrancy races on
vblank_t

drm/ttm - stabilizing pass, misc bug fixes

* hold the vblank_time_lock around mod_timer() calls in drm_vblank_put()
(in drm_irq.c). This should help protect against reentrancy races on
vblank_time_lock() which can result in a corrupted callout structure.

(possibly fixes crash).

* Add TTM_BO_PRIV_FLAG_ACTIVE to flag the implied reference on the
ttm_buffer_object (bo) structure instead of assuming that the implied
reference is always present in ttm_bo_release().

Only do final cleanup operations with the implied ref. This saves us
from ref/deref races which could result in multiple 1->0, 0->1 transitions
(might not be possible any more with the covering lock around
ttm_bo_release(), but do it anyway for safety).

(fixes crash).

* Unconditionally clear *bo in radeon_bo_unref().

* Unconditionally zero memory when allocating the bo in radeon_sa_bo_new()
to ensure that unused fields are zerod.

* For now, always use cpu 0 for the task queue. This fixes races/corruption
related to mycpuid changing and causing the wrong taskqueue_thread[] to
be specified vs prior calls. (fixes crash).

* Make sure *p_bo is NULL in ttm_bo_create() in the failure path.

* NULL out glob->dummy_read_page after freeing the page.

* Zero the temporary ttm_buffer_object in ttm_buffer_object_transfer()
to ensure that the last release does not double-free non-retained fields
(fixes double frees and related crashes).

* Make sure that *obj_res is NULL in ttm_bo_mmap_single() in the failure path.

* Fix spin-lock reversal in ttm_shrink() (fixes crash).

* Fix TTM memory initialization limits. Use the vm.dma_reserved count to
determine how much DMAable memory TTM can play with instead of assuming
4GB.

* Remove double-lock in ttm_release_base() (fixes deadlock).

* Protect the 1->0 transition on the ttm_base_object structure with its
lock to avoid races (fixes crash).

* Properly dispose of contig-allocated pages using vm_page_free_contig().
ttm_vm_page_free() was previously improperly using vm_page_free() which
has the effect of removing the page from the contig pool (fixes OOM).

* vm_page_grab() with VM_ALLOC_RETRY requires that VM_ALLOC_NORMAL also
be specified (fixes crash).

show more ...


Revision tags: 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
# 926deccb 08-Oct-2013 François Tigeot <ftigeot@wolfpond.org>

drm/radeon: Import the Radeon KMS driver from FreeBSD

* Credits for porting an updated version of this driver from Linux
mainly go to Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>

* C

drm/radeon: Import the Radeon KMS driver from FreeBSD

* Credits for porting an updated version of this driver from Linux
mainly go to Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>

* Compatibility layer for running 32-bit applications on 64-bit systems
left out

Additional credits from the FreeBSD import message:

This driver is based on Linux 3.8 and a previous effort by kan@.

More informations about this project can be found on the FreeBSD wiki:
https://wiki.freebsd.org/AMD_GPU

Help from: kib@, kan@
Tested by: avg@, kwm@, ray@,
Alexander Yerenkow <yerenkow@gmail.com>,
Anders Bolt-Evensen <andersbo87@me.com>,
Denis Djubajlo <stdedjub@googlemail.com>,
J.R. Oldroyd <fbsd@opal.com>,
Mikaël Urankar <mikael.urankar@gmail.com>,
Pierre-Emmanuel Pédron <pepcitron@gmail.com>,
Sam Fourman Jr. <sfourman@gmail.com>,
Wade <wade-is-great@live.com>,
(probably other I forgot...)
HW donations: kyzh, Yakaz

show more ...