platform/upstream/libdrm.git
17 years agoRename drm_ttm.h to drm_objects.h
Thomas Hellstrom [Wed, 14 Feb 2007 13:10:10 +0000 (14:10 +0100)]
Rename drm_ttm.h to drm_objects.h
Fix up some header incompatibilities in drm_fence.c caused by the previous
commit.

17 years agoMove fence- and buffer-object related header stuff to drm_ttm.h
Thomas Hellstrom [Wed, 14 Feb 2007 13:05:40 +0000 (14:05 +0100)]
Move fence- and buffer-object related header stuff to drm_ttm.h

17 years agoRemove an intel-specific hack and replace it with a fence driver callback.
Thomas Hellstrom [Wed, 14 Feb 2007 12:31:35 +0000 (13:31 +0100)]
Remove an intel-specific hack and replace it with a fence driver callback.

17 years agoSet the drm bus map type for each buffer object memory type.
Thomas Hellstrom [Wed, 14 Feb 2007 11:39:02 +0000 (12:39 +0100)]
Set the drm bus map type for each buffer object memory type.

17 years agoRework buffer object vm code to use nopfn() for kernels >= 2.6.19.
Thomas Hellstrom [Wed, 14 Feb 2007 09:49:37 +0000 (10:49 +0100)]
Rework buffer object vm code to use nopfn() for kernels >= 2.6.19.

17 years agoMore bugfixes.
Thomas Hellstrom [Tue, 13 Feb 2007 19:05:32 +0000 (20:05 +0100)]
More bugfixes.
Fixed memory, pinned buffers and unmappable memory now seems
fully functional.

17 years agoUpdate flags and comments.
Thomas Hellstrom [Mon, 12 Feb 2007 20:40:42 +0000 (21:40 +0100)]
Update flags and comments.

17 years agoLindent.
Thomas Hellstrom [Mon, 12 Feb 2007 19:34:50 +0000 (20:34 +0100)]
Lindent.

17 years agoMore bugfixes.
Thomas Hellstrom [Mon, 12 Feb 2007 19:32:03 +0000 (20:32 +0100)]
More bugfixes.

17 years agoCleanup and fix support for pinned buffers.
Thomas Hellstrom [Mon, 12 Feb 2007 16:47:57 +0000 (17:47 +0100)]
Cleanup and fix support for pinned buffers.

17 years agoVarious bugfixes.
Thomas Hellstrom [Sat, 10 Feb 2007 11:06:36 +0000 (12:06 +0100)]
Various bugfixes.

17 years agoI915 accelerated blit copy functional.
Thomas Hellstrom [Fri, 9 Feb 2007 15:36:53 +0000 (16:36 +0100)]
I915 accelerated blit copy functional.
Fixed - to System memory copies are implemented by
flipping in a cache-coherent TTM,
blitting to it, and then flipping it out.

17 years agoReinstate some LRU handling.
Thomas Hellstrom [Fri, 9 Feb 2007 11:43:18 +0000 (12:43 +0100)]
Reinstate some LRU handling.

17 years agoRemove some code that should have gone in
Thomas Hellstrom [Thu, 8 Feb 2007 23:11:53 +0000 (00:11 +0100)]
Remove some code that should have gone in
commit 6a49d9a8abd9f168211017c2d585d0d64e89c530

17 years agoFix copyright statements.
Thomas Hellstrom [Thu, 8 Feb 2007 23:07:29 +0000 (00:07 +0100)]
Fix copyright statements.

17 years agoFix evict_mutex locking range.
Thomas Hellstrom [Thu, 8 Feb 2007 23:02:02 +0000 (00:02 +0100)]
Fix evict_mutex locking range.
Implement unmappable buffers. (fault moves them to mappable when needed).
Various bugfixes.

17 years agoAdd an accelerated buffer copy cleanup helper.
Thomas Hellstrom [Thu, 8 Feb 2007 20:28:33 +0000 (21:28 +0100)]
Add an accelerated buffer copy cleanup helper.
Export helper functions and make some important buffer-object functions non-static.
Add an i915 accelerated blit buffer move for pci memory buffers.

17 years agoDon't create a ttm just to copy from.
Thomas Hellstrom [Thu, 8 Feb 2007 18:06:39 +0000 (19:06 +0100)]
Don't create a ttm just to copy from.

17 years agoFix mm_block leak.
Thomas Hellstrom [Thu, 8 Feb 2007 17:59:02 +0000 (18:59 +0100)]
Fix mm_block leak.
Some other minor fixes.

17 years agoA minor function interface change and some memcpy bugfixing.
Thomas Hellstrom [Thu, 8 Feb 2007 15:21:38 +0000 (16:21 +0100)]
A minor function interface change and some memcpy bugfixing.

Hooray!! it sort of works with a fixed AGP area as faked VRAM.

17 years agoSimplify external ttm page allocation.
Thomas Hellstrom [Thu, 8 Feb 2007 12:29:08 +0000 (13:29 +0100)]
Simplify external ttm page allocation.
Implement a memcpy fallback for copying between buffers.

17 years agoUpdate memory compatibility tests.
Thomas Hellstrom [Thu, 8 Feb 2007 10:55:24 +0000 (11:55 +0100)]
Update memory compatibility tests.
Now only pinned buffers are broken.

17 years agoCheckpoint commit.
Thomas Hellstrom [Wed, 7 Feb 2007 16:25:13 +0000 (17:25 +0100)]
Checkpoint commit.
Flag handling and memory type selection cleanup.
glxgears won't start.

17 years agoFix a stray unlock_kernel() in drm_vm.c
Thomas Hellstrom [Wed, 7 Feb 2007 11:52:23 +0000 (12:52 +0100)]
Fix a stray unlock_kernel() in drm_vm.c
Add a file for memory move helpers, drm_bo_move.c
Implement generic memory move.
Cached, no_move and unmapped memory temporarily broken.

17 years agoSimplify pci map vs no pci map choice.
Thomas Hellstrom [Tue, 6 Feb 2007 15:59:45 +0000 (16:59 +0100)]
Simplify pci map vs no pci map choice.

17 years agoImplement a drm_mem_reg_t substructure in the buffer object type.
Thomas Hellstrom [Tue, 6 Feb 2007 14:56:43 +0000 (15:56 +0100)]
Implement a drm_mem_reg_t substructure in the buffer object type.

17 years agoImplement a policy for selecting memory types.
Thomas Hellstrom [Tue, 6 Feb 2007 13:20:33 +0000 (14:20 +0100)]
Implement a policy for selecting memory types.

17 years agoi915: Add copy-blit operation.
Thomas Hellstrom [Mon, 5 Feb 2007 15:13:32 +0000 (16:13 +0100)]
i915: Add copy-blit operation.

17 years agoMake also later kernels work with buffer object vm
Thomas Hellstrom [Fri, 2 Feb 2007 18:49:11 +0000 (19:49 +0100)]
Make also later kernels work with buffer object vm
and clean up some function names.

17 years agoMake vm handle buffer objects instead of ttm objects.
Thomas Hellstrom [Fri, 2 Feb 2007 13:47:44 +0000 (14:47 +0100)]
Make vm handle buffer objects instead of ttm objects.
Remove ttm objects.
Make vm aware of PCI memory type buffer objects.
(Only works for pre 2.6.16 kernels for now).

17 years agoFix missing ttm_open_vma call from previous commit.
Thomas Hellstrom [Thu, 1 Feb 2007 12:19:05 +0000 (13:19 +0100)]
Fix missing ttm_open_vma call from previous commit.
Honour the ttm backend cant-use-aperture flag.

17 years agoPrepare for removal of the ttm_object type.
Thomas Hellstrom [Thu, 1 Feb 2007 09:53:07 +0000 (10:53 +0100)]
Prepare for removal of the ttm_object type.

17 years agoProtect drm_mmap against disappearing maps.
Thomas Hellstrom [Wed, 31 Jan 2007 23:38:57 +0000 (00:38 +0100)]
Protect drm_mmap against disappearing maps.

The map lists and hash tables are protected using dev->struct_mutex,
but drm_mmap strangely never locked this mutex.

17 years agomemory manager: Make device driver aware of different memory types.
Thomas Hellstrom [Wed, 31 Jan 2007 13:50:57 +0000 (14:50 +0100)]
memory manager: Make device driver aware of different memory types.

Memory types are either fixed (on-card or pre-bound AGP) or not fixed
(dynamically bound) to an aperture. They also carry information about:

1) Whether they can be mapped cached.
2) Whether they are at all mappable.
3) Whether they need an ioremap to be accessible from kernel space.

In this way VRAM memory and, for example, pre-bound AGP appear
identical to the memory manager.

This also makes support for unmappable VRAM simple to implement.

17 years agoMake the utility runnable also for normal users.
Thomas Hellstrom [Wed, 31 Jan 2007 10:41:44 +0000 (11:41 +0100)]
Make the utility runnable also for normal users.

17 years agoFix an error-path oops.
Thomas Hellstrom [Wed, 31 Jan 2007 10:03:53 +0000 (11:03 +0100)]
Fix an error-path oops.

17 years agoAdd a buffer object transfer function.
Thomas Hellstrom [Tue, 30 Jan 2007 15:20:23 +0000 (16:20 +0100)]
Add a buffer object transfer function.
Creates a placeholder for the old buffer contents
when it is transfered to / from static memory like VRAM.

17 years agoIndent according to xorg rules.
Thomas Hellstrom [Tue, 30 Jan 2007 13:42:27 +0000 (14:42 +0100)]
Indent according to xorg rules.

17 years agoAdd license header.
Thomas Hellstrom [Tue, 30 Jan 2007 13:41:02 +0000 (14:41 +0100)]
Add license header.

17 years agoAdd some relevant tests for the new buffer object interface.
Thomas Hellstrom [Tue, 30 Jan 2007 13:38:49 +0000 (14:38 +0100)]
Add some relevant tests for the new buffer object interface.

17 years agoAdd the ttmtest test utility.
Thomas Hellstrom [Tue, 30 Jan 2007 11:56:51 +0000 (12:56 +0100)]
Add the ttmtest test utility.

17 years agoClean up buffer object destruction somewhat.
Thomas Hellstrom [Tue, 30 Jan 2007 11:33:46 +0000 (12:33 +0100)]
Clean up buffer object destruction somewhat.

17 years agoUse pre-defined list_splice function.
Thomas Hellstrom [Mon, 29 Jan 2007 12:36:17 +0000 (13:36 +0100)]
Use pre-defined list_splice function.

17 years agos/buf/bo/ for consistency.
Thomas Hellstrom [Mon, 29 Jan 2007 12:19:20 +0000 (13:19 +0100)]
s/buf/bo/ for consistency.

17 years agoSome cleanup. A buffer object should only have one active memory type.
Thomas Hellstrom [Mon, 29 Jan 2007 12:11:55 +0000 (13:11 +0100)]
Some cleanup. A buffer object should only have one active memory type.

17 years agonouveau: determine chipset type at startup, instead of every time we use it.
Ben Skeggs [Sun, 28 Jan 2007 12:48:33 +0000 (23:48 +1100)]
nouveau: determine chipset type at startup, instead of every time we use it.

17 years agomake works ctx switch on nv10.
Matthieu Castet [Fri, 26 Jan 2007 20:57:44 +0000 (21:57 +0100)]
make works ctx switch on nv10.

17 years agonouveau: oops, wrong indexing in nv17 regs
Patrice Mandin [Fri, 26 Jan 2007 20:05:59 +0000 (21:05 +0100)]
nouveau: oops, wrong indexing in nv17 regs

17 years agonouveau: read gpu type once
Patrice Mandin [Fri, 26 Jan 2007 18:54:35 +0000 (19:54 +0100)]
nouveau: read gpu type once

17 years agonouveau: only save/restore nv17 regs on nv17,18 hw
Patrice Mandin [Fri, 26 Jan 2007 18:25:49 +0000 (19:25 +0100)]
nouveau: only save/restore nv17 regs on nv17,18 hw

17 years agonouveau: add extra pgraph registers
Patrice Mandin [Fri, 26 Jan 2007 18:24:34 +0000 (19:24 +0100)]
nouveau: add extra pgraph registers

17 years agonouveau: add some nv10 pgraph defines
Patrice Mandin [Fri, 26 Jan 2007 17:10:31 +0000 (18:10 +0100)]
nouveau: add some nv10 pgraph defines

17 years agonouveau: simplify and fix BIG_ENDIAN flags
Patrice Mandin [Thu, 25 Jan 2007 22:06:48 +0000 (23:06 +0100)]
nouveau: simplify and fix BIG_ENDIAN flags

17 years agoRemove a scary error printed when we were leaking memory caches.
Thomas Hellstrom [Thu, 25 Jan 2007 13:26:58 +0000 (14:26 +0100)]
Remove a scary error printed when we were leaking memory caches.

We don't use memory caches anymore...

Fix memory accounting initialization to only use low or DMA32 memory.

17 years agonouveau: nv4c default context
Ben Skeggs [Thu, 25 Jan 2007 00:11:01 +0000 (11:11 +1100)]
nouveau: nv4c default context

17 years agonouveau: always print nsource/nstatus regs on PGRAPH errors
Ben Skeggs [Wed, 24 Jan 2007 21:16:23 +0000 (08:16 +1100)]
nouveau: always print nsource/nstatus regs on PGRAPH errors

17 years agovblank interrupt fix
Zou Nan hai [Wed, 24 Jan 2007 08:33:21 +0000 (16:33 +0800)]
vblank interrupt fix

17 years agonouveau: fix getparam from 32-bit client on 64-bit kernel
Ben Skeggs [Fri, 19 Jan 2007 04:41:51 +0000 (15:41 +1100)]
nouveau: fix getparam from 32-bit client on 64-bit kernel

17 years agonouveau: re-add 6150 Go pciid (0x0244)
Ben Skeggs [Sat, 13 Jan 2007 23:42:58 +0000 (10:42 +1100)]
nouveau: re-add 6150 Go pciid (0x0244)

17 years agonouveau: cleanup nv30_graph.c
Jeremy Kolb [Fri, 19 Jan 2007 02:39:36 +0000 (21:39 -0500)]
nouveau: cleanup nv30_graph.c

17 years agonouveau: Remove write to CTX_SIZE. This gives us proper nv3x PGRAPH switching.
Jeremy Kolb [Fri, 19 Jan 2007 02:39:09 +0000 (21:39 -0500)]
nouveau: Remove write to CTX_SIZE. This gives us proper nv3x PGRAPH switching.

17 years agoadd missing quadro id
Dave Jones [Thu, 18 Jan 2007 06:28:49 +0000 (01:28 -0500)]
add missing quadro id

17 years agonouveau: Try to get nv35 pgraph switching working. Doesn't quite yet.
Jeremy Kolb [Wed, 17 Jan 2007 13:46:59 +0000 (08:46 -0500)]
nouveau: Try to get nv35 pgraph switching working. Doesn't quite yet.

Hook into nv20 pgraph switching functions (they're identical for nv3x).
Actually call nv30_pgraph_context_init so the ctx_table is allocated.

Thanks to Carlos Martin for the help.

17 years agonouveau: opps nv20 ctx ramin size was wrong
Matthieu Castet [Sun, 14 Jan 2007 19:04:20 +0000 (20:04 +0100)]
nouveau: opps nv20 ctx ramin size was wrong

17 years agonouveau: opps restored the wrong channel
Matthieu Castet [Sat, 13 Jan 2007 22:30:43 +0000 (23:30 +0100)]
nouveau: opps restored the wrong channel

17 years agonouveau: nv20 graph ctx switch.
Matthieu Castet [Sat, 13 Jan 2007 22:19:41 +0000 (23:19 +0100)]
nouveau: nv20 graph ctx switch.

Untested...

17 years agonouveau: first step to make graph ctx works
Matthieu Castet [Sat, 13 Jan 2007 20:43:47 +0000 (21:43 +0100)]
nouveau: first step to make graph ctx works

It is still not working, but now we could use some 3D commands
without needed to run nvidia blob before.

17 years agonouveau: add and indent pgraph regs
Matthieu Castet [Sat, 13 Jan 2007 20:41:33 +0000 (21:41 +0100)]
nouveau: add and indent pgraph regs

17 years agonouveau: Oops, fix the nv04 RAMFC_DMA_FETCH value.
Stephane Marchesin [Sat, 13 Jan 2007 11:32:45 +0000 (12:32 +0100)]
nouveau: Oops, fix the nv04 RAMFC_DMA_FETCH value.

17 years agonouveau: add missing symlink
Dave Airlie [Fri, 12 Jan 2007 21:43:15 +0000 (08:43 +1100)]
nouveau: add missing symlink

17 years agonouveau : remove useless init : we clear RAMIN before
Matthieu Castet [Fri, 12 Jan 2007 19:30:14 +0000 (20:30 +0100)]
nouveau : remove useless init : we clear RAMIN before

17 years agoDelay for a usec while spinning waiting for ring buffer space.
Haihao Xiang [Fri, 12 Jan 2007 19:24:14 +0000 (11:24 -0800)]
Delay for a usec while spinning waiting for ring buffer space.

This means the loop will wait up to ~10ms for ring buffer space to become
available, rather than just however long it takes to check the space 10000
times.  This matches other drivers' behavior when waiting for ring buffer/fifo
space.

17 years agonouveau: get nv30 context switching to work.
Jeremy Kolb [Fri, 12 Jan 2007 05:13:05 +0000 (00:13 -0500)]
nouveau: get nv30 context switching to work.

* Pulled in some registers from nv10reg.h.  Needed for context switching.
* Filled in nv30 graphics context (based on nv40_graph.c).
* Figure out nv30 context table, set up on context creation.  Allows the cards automatic switching to work.

17 years agoradeon: Fix u32 overflows when determining AGP base address in card space.
Michel Dänzer [Thu, 11 Jan 2007 08:02:07 +0000 (09:02 +0100)]
radeon: Fix u32 overflows when determining AGP base address in card space.

The overflows could lead to the AGP aperture overlapping the framebuffer area
in the card's address space when the latter is located at the very end of the
32 bit address space, which would result in a freeze on X server startup,
probably because the card read commands from the framebuffer instead of from
AGP.

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392915 .

17 years agoRevert "nouveau: Fill in context_init for nv10-nv3x."
Dave Airlie [Wed, 10 Jan 2007 04:19:47 +0000 (15:19 +1100)]
Revert "nouveau: Fill in context_init for nv10-nv3x."

This reverts ac076cb9aff976e8fae567cfa82a898bfc2712e8 commit.

Well it didn't do anything interesting...

17 years agonouveau: Fill in context_init for nv10-nv3x.
Jeremy Kolb jkolb@brandeis.edu [Wed, 10 Jan 2007 04:12:37 +0000 (23:12 -0500)]
nouveau: Fill in context_init for nv10-nv3x.

Fill in the context with the values from PFIFO_CACH1. This should work from nv10 through the nv30 series.

17 years agonouveau: Don't use DRIVER_USE_MTRR, we already setup our own mtrr over vram.
Stephane Marchesin [Wed, 10 Jan 2007 03:42:09 +0000 (04:42 +0100)]
nouveau: Don't use DRIVER_USE_MTRR, we already setup our own mtrr over vram.

17 years agottm: make ttm alloc/free into alloc_pages/free_pages
Dave Airlie [Tue, 9 Jan 2007 04:51:29 +0000 (15:51 +1100)]
ttm: make ttm alloc/free into alloc_pages/free_pages

Add a vmalloc flag to the page flags

17 years agonovueau: try resource 3 if resource 2 is 0 length
Dave Airlie [Tue, 9 Jan 2007 02:38:36 +0000 (13:38 +1100)]
novueau: try resource 3 if resource 2 is 0 length

This happens on my NV43 PPC

17 years agonouveau: fix nv4a context size.
Stephane Marchesin [Mon, 8 Jan 2007 19:55:57 +0000 (20:55 +0100)]
nouveau: fix nv4a context size.

17 years agoadd export symbol for memory manager
Dave Airlie [Mon, 8 Jan 2007 11:26:35 +0000 (22:26 +1100)]
add export symbol for memory manager

17 years agonouveau: nv4a context support.
Stephane Marchesin [Mon, 8 Jan 2007 04:02:40 +0000 (05:02 +0100)]
nouveau: nv4a context support.

17 years agoMerge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm
Stephane Marchesin [Mon, 8 Jan 2007 02:50:34 +0000 (03:50 +0100)]
Merge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm

17 years agoi830: complete fix for i830 maps
Dave Airlie [Mon, 8 Jan 2007 02:09:12 +0000 (13:09 +1100)]
i830: complete fix for i830 maps

17 years agonouveau: oops
Ben Skeggs [Mon, 8 Jan 2007 01:50:44 +0000 (12:50 +1100)]
nouveau: oops

17 years agonouveau: nv43 context stuff
Ben Skeggs [Mon, 8 Jan 2007 01:47:22 +0000 (12:47 +1100)]
nouveau: nv43 context stuff

17 years agodrm: remove drm_follow_page, and drm_ioremap and ioremapfree
Christoph Hellwig [Sun, 7 Jan 2007 23:55:49 +0000 (10:55 +1100)]
drm: remove drm_follow_page, and drm_ioremap and ioremapfree

This comes from the Re: [patch] paravirt: isolate module ops on lkml
It needs some testing, please report any regressions caused.

Signed-off-by: Dave Airlie <airlied@linux.ie>
17 years agofixup i810/i830 to use drm_core_ioremap instead of drm_ioremap
Dave Airlie [Mon, 8 Jan 2007 11:27:11 +0000 (22:27 +1100)]
fixup i810/i830 to use drm_core_ioremap instead of drm_ioremap

17 years agonouveau: fix a stupid bug from me.
Stephane Marchesin [Sun, 7 Jan 2007 23:11:39 +0000 (00:11 +0100)]
nouveau: fix a stupid bug from me.

17 years agonouveau: avoid allocating vram that's used as instance memory.
Ben Skeggs [Sun, 7 Jan 2007 13:37:39 +0000 (00:37 +1100)]
nouveau: avoid allocating vram that's used as instance memory.

17 years agonouveau: map pci resource 2 on >=nv40
Ben Skeggs [Sun, 7 Jan 2007 12:56:45 +0000 (23:56 +1100)]
nouveau: map pci resource 2 on >=nv40

17 years agoRevert i915 drm driver name to i915; miniglx doesn't work otherwise
Keith Packard [Sun, 7 Jan 2007 01:40:50 +0000 (17:40 -0800)]
Revert i915 drm driver name to i915; miniglx doesn't work otherwise

Yes, this driver supports the new memory manager, that is indicated by the
version number being >= 1.7.

17 years agoBump i915 minor for ARB_OC ioctl
Wang Zhenyu [Mon, 4 Dec 2006 07:48:04 +0000 (15:48 +0800)]
Bump i915 minor for ARB_OC ioctl

17 years agoi915: ARB_Occlusion_query(MMIO ioctl) support.
Zou Nan hai [Mon, 4 Dec 2006 07:48:04 +0000 (15:48 +0800)]
i915: ARB_Occlusion_query(MMIO ioctl) support.

This adds a new ioctl for passing counter information from the chip back to
applications, these counters include the data needed to perform OC.

17 years agonouveau: get c51 doing glxgears without the binary driver's help.
Ben Skeggs [Sat, 6 Jan 2007 07:05:21 +0000 (18:05 +1100)]
nouveau: get c51 doing glxgears without the binary driver's help.

17 years agonouveau: Use PMC_BOOT_0 to determine which ctx_voodoo to load.
Ben Skeggs [Sat, 6 Jan 2007 06:50:00 +0000 (17:50 +1100)]
nouveau: Use PMC_BOOT_0 to determine which ctx_voodoo to load.

17 years agonouveau: oops, we don't need OS_HAS_MTRR actually.
Stephane Marchesin [Fri, 5 Jan 2007 19:59:45 +0000 (20:59 +0100)]
nouveau: oops, we don't need OS_HAS_MTRR actually.

17 years agoMerge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm
Stephane Marchesin [Fri, 5 Jan 2007 19:50:46 +0000 (20:50 +0100)]
Merge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm

17 years agonouveau: Add an mtrr over the whole FB
Stephane Marchesin [Fri, 5 Jan 2007 19:49:34 +0000 (20:49 +0100)]
nouveau: Add an mtrr over the whole FB

17 years agoMerge branch 'master' of git+ssh://matc@git.freedesktop.org/git/mesa/drm/
Matthieu Castet [Fri, 5 Jan 2007 18:41:12 +0000 (19:41 +0100)]
Merge branch 'master' of git+ssh://matc@git.freedesktop.org/git/mesa/drm/