summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* remove unused getrawmonotonic() and ktime_mono_to_real()jsg2020-06-291-2/+0
|
* remove unused interfaces which were removed from linuxjsg2020-06-292-12/+1
|
* use attributes for __maybe_unused and __always_inlinejsg2020-06-291-4/+4
|
* reduce disabled warnings with clangjsg2020-06-291-4/+0
|
* make fbops const to avoid warning about discarding constjsg2020-06-291-1/+1
| | | | | found the hard way by deraadt@ on sparc64 fix suggested by kettenis@
* set fb_set_par and have register_framebuffer() do initial modesetjsg2020-06-281-0/+5
|
* call fb_set_par() function pointer in register_framebuffer() if setjsg2020-06-281-0/+8
| | | | ok stsp@ kettenis@
* add readx_poll_timeout() required for 5.7.6 drmjsg2020-06-261-0/+34
| | | | with help from cheloha@
* kernel: use gettime(9)/getuptime(9) in lieu of time_second(9)/time_uptime(9)cheloha2020-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | time_second(9) and time_uptime(9) are widely used in the kernel to quickly get the system UTC or system uptime as a time_t. However, time_t is 64-bit everywhere, so it is not generally safe to use them on 32-bit platforms: you have a split-read problem if your hardware cannot perform atomic 64-bit reads. This patch replaces time_second(9) with gettime(9), a safer successor interface, throughout the kernel. Similarly, time_uptime(9) is replaced with getuptime(9). There is a performance cost on 32-bit platforms in exchange for eliminating the split-read problem: instead of two register reads you now have a lockless read loop to pull the values from the timehands. This is really not *too* bad in the grand scheme of things, but compared to what we were doing before it is several times slower. There is no performance cost on 64-bit (__LP64__) platforms. With input from visa@, dlg@, and tedu@. Several bugs squashed by visa@. ok kettenis@
* apart from the lock wait_queue_head struct is unused so replace itjsg2020-06-221-25/+25
|
* don't try to decrement if completion flag is UINT_MAXjsg2020-06-221-6/+11
|
* in wait_for_completion_* return 0 on timeout -ERESTARTSYS on signaljsg2020-06-221-14/+11
| | | | matches how the interfaces are documented
* correct mutex_lock_interruptible()jsg2020-06-211-2/+9
| | | | | | | | | | | | Linux kernel code often passes errors around as negative numbers cast to pointers. As rw_enter() returns a errno on failure mutex_lock_interruptible() negated the return value. But this did not account for ERESTART being -1 which would return 1 to the caller. sthen@ periodically hit a uvm_fault() in i915_request_create() which was caused by attempting to use 1 as a pointer. ok kettenis@
* reduce the diff to linuxjsg2020-06-191-0/+2
|
* use atomic_set() in kref_init()jsg2020-06-171-2/+2
|
* kref_sub() interface was removed from linux and is unusedjsg2020-06-171-8/+1
|
* use WRITE_ONCE and READ_ONCE for set and readjsg2020-06-171-6/+6
| | | | ok kettenis@
* remove some unused definesjsg2020-06-161-14/+6
|
* implement atomic_inc_not_zero() by way of atomic_add_unless()jsg2020-06-161-11/+3
|
* remove a dead storejsg2020-06-161-2/+2
|
* rename our kunmap() to kunmap_va()jsg2020-06-141-2/+2
| | | | | | | In linux kunmap() has a page struct * argument our kunmap() has a void * argument which results in uncoverted uses building but doing the wrong thing. Renaming will catch any codepaths that need to be changed at compile time.
* make IS_ERR() and IS_ERR_OR_NULL() return booljsg2020-06-141-2/+2
|
* use wakeup_one() in complete()jsg2020-06-131-2/+2
| | | | ok kettenis@
* use a unique wchan name for wait_for_completion()jsg2020-06-131-2/+2
| | | | ok kettenis@
* DRM_I915_FBDEV was replaced by DRM_FBDEV_EMULATIONjsg2020-06-121-1/+0
|
* handle sg_set_page() with NULL page argumentjsg2020-06-111-2/+2
| | | | | should fix problem reported by Laurence Tratt on bugs@ tweak and ok kettenis@
* reduce the diff to linuxjsg2020-06-091-0/+1
|
* update drm to linux 5.7jsg2020-06-08230-2409/+11134
| | | | | | | | | | adds kernel support for amdgpu: vega20, raven2, renoir, navi10, navi14 inteldrm: icelake, tigerlake Thanks to the OpenBSD Foundation for sponsoring this work, kettenis@ for helping, patrick@ for helping adapt rockchip drm and many developers for testing.
* Fix return value of dma_fence_wait(). Seems to fix occasionalkettenis2020-04-301-1/+7
| | | | | | synchroniation problems when playing youtube videos in chrome. ok jsg@
* Fix an incorrect test for root in drm linux compatiblity code.benno2020-04-171-1/+1
| | | | | Patch from and commited on behalf of Jonathan Gray (jsg@) ok kettenis@
* Turn those spinlock and seqlock inline functions to macrosjca2020-04-122-18/+25
| | | | | | | | | They're macros on Linux because they save state in their flags parameter. Turning them to static inline functions creates a lot of -Wuninitialized warnings, so just use macros which set their flags argument. ok kettenis@
* Properly implement the page fault handler for CMA GEM buffers and actuallykettenis2020-03-042-2/+5
| | | | | | make drm(4) attach to rkdrm(4). This makes KMS work on the RK3399 SoC. ok patrick@
* Clean up attachment of PCI drm(4) devices and make the PCI aspects optional.kettenis2020-03-032-14/+1
| | | | ok jsg@
* Add a DRM GEM CMA helper from NetBSD. Plenty of parts are stillpatrick2020-02-211-0/+26
| | | | | | | under ifdef for us, so for now we don't support SG tables or the GEM CMA ops, but at least it lets us create a simple framebuffer. ok kettenis@
* Implement request_firmware_direct().kettenis2020-02-201-0/+7
|
* In signal_pending_state() only test for pending signal whenjsg2020-02-201-1/+2
| | | | | | TASK_INTERRUPTIBLE (PCATCH) is set in the state argument. Spotted by and original diff from claudio@. ok claudio@
* Cleanup <sys/kthread.h> and <sys/proc.h> includes.mpi2020-02-182-4/+3
| | | | | | | Do not include <sys/kthread.h> where it is not needed and stop including <sys/proc.h> in it. ok visa@, anton@
* Use SIGPENDING() instead of CURSIG() for emulating signal_pending().claudio2020-02-181-2/+2
| | | | | There is no need for the additional work done by CURSIG(). seems reasonable jsg@
* drm/panel: make drm_panel.h self-containedjsg2020-01-281-0/+1
| | | | | | From Jani Nikula e34d8d2b2e2f49d1aa933a1e5f15d3e9ee9aa54b in linux 4.19.y/4.19.99 bf3f5e98559360661a3d2af340d46522512c0b00 in mainline linux
* Remove empty unmap_mapping_range() define and hide drm_vma_node_unmap().jsg2020-01-222-3/+3
| | | | | Errors at compile time are preferred over being silently broken. ok kettenis@
* remove unused TIOCSPGRP / TIOCGPGRP cases in drmjsg2020-01-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | async/SIGIO use likely came from DR1 context swapping for the "gamma" driver for 3dlabs GMX 2000, removed from the old upstream drm cvs repository in 2004: commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed Author: Dave Airlie <airlied@linux.ie> Date: Sun Aug 29 12:04:35 2004 +0000 Drop GAMMA DRM from a great height ... linux in 2005: commit 1fad99499afdd2730adb1d53413b91580b1f0662 Author: Dave Airlie <airlied@starflyer.(none)> Date: Fri Aug 5 22:40:34 2005 +1000 drm: remove the gamma driver and further remaining async bits removed from linux in 2013 with commit b0e898ac555e96e7863a5ee95d70f3625f1db5e2 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Aug 8 15:41:23 2013 +0200 drm: remove FASYNC support pointed out by claudio@ ok visa@ kettenis@
* drm: mst: Fix query_payload ack reply structjsg2019-12-311-1/+1
| | | | | | From Sean Paul f015785ae7fbf7a817b74b4001f92ca3070aa718 in linux 4.19.y/4.19.92 268de6530aa18fe5773062367fd119f0045f6e88 in mainline linux
* convert infinite msleep(9) to msleep_nsec(9)jsg2019-12-301-3/+4
| | | | ok mpi@
* Convert infinite sleeps to {m,t}sleep_nsec(9).mpi2019-12-301-2/+2
| | | | ok jsg@
* implement unregister_shrinker()jsg2019-12-261-0/+1
| | | | ok kettenis@
* Hook up the shrinker for inteldrm(4). This is a "light" version that onlykettenis2019-12-254-1/+49
| | | | | | | drops graphics buffers that are cached and not in active use. Help from beck@ for pointing out how to hook this up to our pagedaemon. ok jsg@
* Allow pagefault_disable() to be called recursively, something that may happenkettenis2019-12-181-5/+5
| | | | | | in inteldrm(4). ok guenther@
* drm_sched_entity_flush() doesn't care about specific threads, so justguenther2019-11-291-1/+1
| | | | | | track the process (and not the original thread of the process). ok jsg@ kettenis@
* correct return type of sign_extend64()jsg2019-11-241-3/+3
|
* Fix off-by-one (truncation) in k{v,}asprintf().mpi2019-11-131-4/+4
| | | | ok jsg@