History log of /dragonfly/sys/dev/drm/drm_vm.c (Results 1 – 25 of 26)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0
# 78973132 03-Nov-2021 Sergey Zigachev <s.zi@outlook.com>

drm/amdgpu: Port to DragonFly

* This commit does not build as it requires ttm changes from
the corresponding commit

Amdgpu driver changes:
* Builds with CONFIG_DRM_AMD_DC and CONFIG_DRM_AMD_DC_DC

drm/amdgpu: Port to DragonFly

* This commit does not build as it requires ttm changes from
the corresponding commit

Amdgpu driver changes:
* Builds with CONFIG_DRM_AMD_DC and CONFIG_DRM_AMD_DC_DCN1_0 defined
* Support for older GPUs (SI, CIK) is not implemented
* Several functions for display core module require msse and
mhard-float gcc flags to be set; and they require special
treatment from kernel by utilizing kernel_fpu_begin/kernel_fpu_end
functions
* It is required that tunable set amdgpu_hw_i2c=1 to work around
panic during module load
* Thunderbolt support is disabled
* Amdgpu trace infrastructure replaced by a stub

Drm changes:
* register_framebuffer is called at the later stage, after crtcs
were properly initialized
* drm_close implemented
* drm_connector_update_edid_property implemented
* Fix drm device stays locked in case of an error or module shutdown
* Imported drm gem framebuffer helper functions
* Fixed null pointer deref in the drm mmap ioctl
* Imported atomic64_inc and atomic_long_* functions from Linux
* Imported bitmap_complement function from Linux
* Imported kfifo struct from Linux
* Implemented dma fence array properly
* Imported rb_root_cached struct from Linux
* Implemented several dma fence functions

Co-authored-by: François Tigeot <ftigeot@wolfpond.org>
Co-authored-by: Matthew Dillon <dillon@apollo.backplane.com>

show more ...


Revision tags: 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, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0
# f16f9121 20-May-2019 Matthew Dillon <dillon@apollo.backplane.com>

kernel - VM rework part 14 - Core pmap work, stabilize for X/drm

* Don't gratuitously change the vm_page flags in the drm code.

The vm_phys_fictitious_reg_range() code in drm_vm.c was clearing

kernel - VM rework part 14 - Core pmap work, stabilize for X/drm

* Don't gratuitously change the vm_page flags in the drm code.

The vm_phys_fictitious_reg_range() code in drm_vm.c was clearing
PG_UNMANAGED. It was only luck that this worked before, but
because these are faked pages, PG_UNMANAGED must be set or the
system will implode trying to convert the physical address back
to a vm_page in certain routines.

The ttm code was setting PG_FICTITIOUS in order to prevent the
page from getting into the active or inactive queues (they had
a conditional test for PG_FICTITIOUS). But ttm never cleared
the bit before freeing the page. Remove the hack and instead
fix it in vm_page.c

* in vm_object_terminate(), allow the case where there are still
wired pages in a OBJT_MGTDEVICE object that has wound up on a
queue (don't complain about it). This situation arises because the
ttm code uses the contig malloc API which returns wired pages.

NOTE: vm_page_activate()/vm_page_deactivate() are allowed to mess
with wired pages. Wired pages are not anything 'special' to
the queues, which allows us to avoid messing with the queues
when pages are assigned to the buffer cache.

show more ...


# 530e94fc 17-May-2019 Matthew Dillon <dillon@apollo.backplane.com>

kernel - VM rework part 9 - Precursor work for terminal pv_entry removal

* Cleanup the API a bit

* Get rid of pmap_enter_quick()

* Remove unused procedures.

* Document that vm_page_protect() (and

kernel - VM rework part 9 - Precursor work for terminal pv_entry removal

* Cleanup the API a bit

* Get rid of pmap_enter_quick()

* Remove unused procedures.

* Document that vm_page_protect() (and thus the related
pmap_page_protect()) must be called with a hard-busied page. This
ensures that the operation does not race a new pmap_enter() of the page.

show more ...


Revision tags: v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1
# c4bb8e01 24-Jul-2018 François Tigeot <ftigeot@wolfpond.org>

drm: Partial sync with Linux 4.7.10

* Implement O_NONBLOCK support on /dev/dri/cardN

* Use filp->private_data in more places

* Add locking directives


# 394ce297 21-Jul-2018 François Tigeot <ftigeot@wolfpond.org>

drm: dev->dma_lock doesn't exist


Revision tags: v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1
# bc0aa189 18-Oct-2017 Matthew Dillon <dillon@apollo.backplane.com>

kernel - refactor vm_page busy

* Move PG_BUSY, PG_WANTED, PG_SBUSY, and PG_SWAPINPROG out of m->flags.

* Add m->busy_count with PBUSY_LOCKED, PBUSY_WANTED, PBUSY_SWAPINPROG,
and PBUSY_MASK (for t

kernel - refactor vm_page busy

* Move PG_BUSY, PG_WANTED, PG_SBUSY, and PG_SWAPINPROG out of m->flags.

* Add m->busy_count with PBUSY_LOCKED, PBUSY_WANTED, PBUSY_SWAPINPROG,
and PBUSY_MASK (for the soft-busy count).

* Add support for acquiring a soft-busy count without a hard-busy.
This requires that there not already be a hard-busy. The purpose
of this is to allow a vm_page to be 'locked' in a shared manner
via the soft-busy for situations where we only intend to read from
it.

show more ...


Revision tags: 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, v4.6.0rc, v4.7.0
# 4250aa95 12-May-2016 zrj <rimvydas.jasinskas@gmail.com>

drm cleanup 01/x: Move legacy buffer structs to drm_leagcy.h

As was done in Linux v3.18 commit:
ba8286fab52652e431784d066b075c1bb4933ea1

This cleans drmP.h header a bit.

While there, move LOCK_TES

drm cleanup 01/x: Move legacy buffer structs to drm_leagcy.h

As was done in Linux v3.18 commit:
ba8286fab52652e431784d066b075c1bb4933ea1

This cleans drmP.h header a bit.

While there, move LOCK_TEST_WITH_RETURN macro too.

No functional change intended.

show more ...


Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# 1b13d190 24-Oct-2015 François Tigeot <ftigeot@wolfpond.org>

drm/i915: Update to Linux 3.18

* Revamped, more robust vblank handling

* More paranoid pageflips, with added error detection and recovery logic

* Lots of Cherryview improvements, including runtime

drm/i915: Update to Linux 3.18

* Revamped, more robust vblank handling

* More paranoid pageflips, with added error detection and recovery logic

* Lots of Cherryview improvements, including runtime power management
and better eDP panel support

* Lots of Broadwell improvements. GPU commands can now be submitted via
a new execlist mechanism

* Preparatory work for Skylake support

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
# cabfc9f6 23-Mar-2015 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Major mtx lock cleanup

* Integrate the ident into the mtx structure, remove the ident parameter from
all locking calls.

* Rename some of the functions, shortening them.

* Add a few new

kernel - Major mtx lock cleanup

* Integrate the ident into the mtx structure, remove the ident parameter from
all locking calls.

* Rename some of the functions, shortening them.

* Add a few new functions which hammer2 will use.

show more ...


# 158486a6 24-May-2015 François Tigeot <ftigeot@wolfpond.org>

drm: Implement and use the Linux version of kfree()


Revision tags: v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1
# 5c002123 15-Nov-2014 François Tigeot <ftigeot@wolfpond.org>

drm: Change sruct drm_local_map

Make it identical to the version from Linux 3.8.13.


Revision tags: 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, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2
# 7dbacc20 06-Apr-2014 Markus Pfeiffer <markus.pfeiffer@morphism.de>

kernel/drm: Add a missing include

Include sys/devfs.h in drm_vm.h and correct the use of
devfs_get_cdevpriv.

Reported-By: Sascha Wildner <saw@online.de>


# 3994a83e 03-Apr-2014 Markus Pfeiffer <markus.pfeiffer@morphism.de>

kernel/drm: use devfs_*_cdevpriv functions

drm relied on a custom hack to implement those functions, this hack
has now been removed, and the devfs based functions are used.


# b36dbd34 24-Feb-2014 Sascha Wildner <saw@online.de>

kernel/drm: Add missing braces.


Revision tags: v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0
# f599cd46 03-Oct-2013 François Tigeot <ftigeot@wolfpond.org>

drm: Manage drm_local_map structures with linux list functions

Keep things as close to Linux 3.5 as possible


# 18e26a6d 24-Sep-2013 François Tigeot <ftigeot@wolfpond.org>

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


# ab30917f 20-Sep-2013 François Tigeot <ftigeot@wolfpond.org>

kernel: Add vm_phys_fictitious_unreg_range()

Rework vm_phys_fictitious_reg_range() a bit

Obtained-from: FreeBSD


# 3023924a 17-Sep-2013 François Tigeot <ftigeot@wolfpond.org>

vm: Implement and use vm_page_initfake()

Replacing a possibly buggy in some corner cases drm-specific function

Inspired-from: FreeBSD


# 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


# 99f70504 30-Aug-2013 François Tigeot <ftigeot@wolfpond.org>

drm: Partial sync with FreeBSD


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, 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.


12