| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
to avoid running out of kmem space. Suggested by and ok kettenis@
|
|
|
|
|
|
|
|
|
| |
64-bit DMA. Should reduce the pressure on DMA-reachable memory, which is
important since there are still cases where the pagedaemon ends up being
triggered continuously if we run out of DMA-reachable memory but have
plenty of memory left.
ok jsg@
|
|
|
|
|
|
| |
From Christian Koenig
96800ba9e565ab752774cd88328f96aed28a1436 in linux 4.19.y/4.19.37
a66477b0efe511d98dde3e4aaeb189790e6f0a39 in mainline linux
|
|
|
|
|
|
| |
From Trigger Huang
b10cc08374728ea79555a1cd98f962b0f942e942 in linux 4.19.y/4.19.36
30f33126feca0fe16df9e9302ffc28a953e2eb37 in mainline linux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
linux 4.19.34.
Adds support for more Intel hardware:
Broxton/Apollo Lake (was is_preliminary in 4.4)
Amber Lake (another Kaby Lake refresh)
Gemini Lake
Coffee Lake
Whiskey Lake
Cannon Lake (though no hardware with Intel graphics ever shipped)
Ice Lake (alpha support, hardware not released)
This does not add support for new radeon hardware on the AMD side as
newer radeons have a different kernel driver (amdgpu).
Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for
helping and a bunch of other developers for testing.
|
|
|
|
|
|
|
|
|
| |
memory attribute and uncached translates into device-nGnRnE memory. This
complicates the mapping onto PMAP_WC, PMAP_NOCACHE and PMAP_DEVICE a bit
since the requirements of the drm(4) subsystem don't quite match the natural
definitions for these.
ok jsg@, mpi@, visa@
|
|
|
|
|
| |
which was partly missed when the 4.4 ttm changes went in.
Prompted by a patch from kettenis@
|
|
|
|
|
|
|
| |
Compared to the previous Linux 3.8 based port this adds support for
KAVERI/KABINI/MULLINS APUs and OLAND/BONAIRE/HAINAN/HAWAII GPUs.
Thanks to the OpenBSD Foundation for sponsoring this work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Skylake and Cherryview and better support for Broadwell and Valleyview. Also
adds MST support. Some tweaks to the TTM code and radeondrm(4) to keep it
working with the updated generic DRM code needed for inteldrm(4).
Tested by many.
|
|
|
|
| |
ok jsg@
|
|
|
|
|
|
|
| |
the vma offset manager. This brings us a little bit more isolation between
applications as GEM buffers are now tied to a specific /dev/drmX clone.
ok jsg@
|
|
|
|
|
|
|
|
|
|
|
| |
used (ttm bo's have their own reference counts), we can't let the reference
count go negative as this will freak out the upper uvm layers. Since the
uvm_object reference count is still a useful debugging tool (ddb will display
it for example), adjust it such that the uvm_object reference count represents
the number of references held by the uvm layer.
tested by matthieu@
ok jsg@
|
|
|
|
|
|
|
| |
powerpc doesn't actually implement write-combining fall back to uncached
mappings.
ok mpi@, jsg@
|
|
|
|
|
|
| |
linux kref/kobject use.
ok kettenis@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 48f8f36a6c8018c2b36ea207aaf68ef5326c5075 on the linux-3.14.y
branch of the linux-stable tree). This brings preliminary support for
the GPU on Intel's Broadwell CPUs. Don't expect these to work
perfectly yet. There are some remaining issues with older hardware as
well, but no significant regressions have been uncovered.
This also updates some of drm core code. The radeondrm code remains
based on Linux 3.8 with some minimal canges to adjust to changes in
the core drm APIs.
Joint effort with jsg@, who did the initial update of the relevant drm
core bits. Committing this early to make sure it gets more testing
and make it possible for others to help getting the remaining wrinkles
straightened out.
|
|
|
|
|
|
| |
diff to linux.
ok kettenis@
|
| |
|
|
|
|
| |
used instead of bus_space_read/bus_space_write.
|
|
|
|
| |
better matches linux behaviour
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
kernel_map/uvm_km_valloc and i915 has a version that uses
phys_map/uvm_km_valloc_wait as calling code assumes kmap would
sleep if no memory is available.
Move these and ttm's vmap/vunmap into the linux compat files
and make them all use phys_map/uvm_km_valloc_wait.
looks good kettenis@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
copy_to_user and copy_from_user functions into drm_linux.h and uses them
instead of copyin/copyout and DRM_COPY_*. Also move the timespec functions,
and put i915_gem_object_is_purgable() where it belongs.
Uncovered a bug where the arguments to copyout() were in the wrong order.
ok jsg@
|
|
|
|
| |
This code is not called.
|
|
|
|
| |
i915_gem_object_flush_fence() to be mb() not wmb() while here.
|
| |
|
|
|
|
| |
and move DRM_INFO/pr_info/dev_info messages under DRMDEBUG.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
interrupt context to a taskq running in a thread. however, there
is a concern that if we do that then we allow accidental use of
sleeping APIs in this work, which will make it harder to move the
work back to interrupts in the future.
guenther and kettenis came up with the idea of marking a proc with
CANTSLEEP which the sleep paths can check and panic on.
this builds on that so you create taskqs that run with CANTSLEEP
set except when they need to sleep for more tasks to run.
the taskq_create api is changed to take a flags argument so users
can specify CANTSLEEP. MPSAFE is also passed via this flags field
now. this means archs that defined IPL_MPSAFE to 0 can now create
mpsafe taskqs too.
lots of discussion at s2k15
ok guenther@ miod@ mpi@ tedu@ pelikan@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
|
|
|
|
|
| |
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove UVM_ADV_* wrapper, using the standard names.
ok doug guenther kettenis
|
|
|
|
|
|
| |
of interating over the tree like a list. From Andriy Gapon in FreeBSD.
ok kettenis@
|
|
|
|
|
|
| |
From Rob Clark
8af4707afcb6d191b9cc75dfd73b9550e8276253 in ubuntu 3.8
9ef7506f7eff3fc42724269f62e30164c141661f in mainline linux
|
|
|
|
|
|
| |
<uvm/uvm.h> if possible and remove double inclusions.
ok beck@, mlarkin@, deraadt@
|
|
|
|
| |
is included by a lot of files.
|
|
|
|
|
|
| |
contained this bit.
ok deraadt@
|
|
|
|
|
|
| |
From Thomas Hellstrom
04623382c8e829413c2b69f740a9455e2e764ab7 in ubuntu 3.8
59c8e66378fb78adbcd05f0d09783dde6fef282b in mainline linux
|
|
|
|
|
|
| |
From Thomas Hellstrom
1fe70122dd9b926e84b14d1603202ae2ef2c5edd in ubuntu 3.8
da95c788ef0c645378ffccb7060a0df1a33aee38 in mainline linux
|
|
|
|
|
|
| |
From Jakob Bornecrantz
f8f0599d88fb76646bdd8b735dc2574ad80c625d in ubuntu 3.8
9a0599ddeae012a771bba5e23393fc52d8a59d89 in mainline linux
|
|
|
|
|
|
| |
From Ben Skeggs
43a1ab9ba9d7c0d97e7079a09438fe1b4209e318 in ubuntu 3.8
182b17c8dc4e83aab000ce86587b6810e515da87 in mainline linux
|
| |
|
|
|
|
| |
ok kettenis@
|
|
|
|
|
|
|
|
| |
*const systq defined in task.h
this reduces the cost of using the system taskq and looks less ugly.
requested by and ok kettenis@
|
|
|
|
|
|
|
|
|
| |
Prevents unintended multiple additions to workqs that was causing
hangs on radeon, and lets us remove tasks more closely matching
the behaviour of the original linux code.
ok kettenis@
cause of the ttm/radeon hangs debugged by claudio@ and kettenis@
|