Jerome Glisse
8fd8bf599b
drm: don't reset to 0 irq_enabled when client open file descriptor
2007-11-21 18:58:03 +01:00
Jerome Glisse
f29b2a583d
drm: fix dead lock in drm_buffer_object_transfer
2007-11-19 14:39:14 +01:00
Jerome Glisse
648b5b582a
drm: fix dead lock in drm_buffer_object_transfer
2007-11-19 14:37:21 +01:00
Jesse Barnes
e0ab2034c3
Fix connection status ABI
...
Userspace expects a 1 based enum for connection status so fix up the kernel
definition.
2007-11-16 13:58:43 -08:00
Jesse Barnes
96e136c479
Fix typo in copy_to_user calls
...
We want to copy to card_res->modes + copied, not &card_res->modes + copied.
2007-11-16 13:57:42 -08:00
Jeremy Kolb
f2c8d39a0f
nouveau: rename
2007-11-15 22:11:35 -05:00
Jeremy Kolb
a3e627f8d6
nouveau: flip buffer into gart.
2007-11-15 22:11:35 -05:00
Jesse Barnes
7ec4ebe95e
Use user copy routines for writing modes & ids back to userspace
...
Since the drm_mode_card_res structure contains user pointers, we have to use
put_user and copy_to_user to write stuff out. The DRM ioctl wrapper will only
take care of copying the base drm_mode_card_res struct, not the included
arrays.
2007-11-15 17:14:03 -08:00
Thomas Hellstrom
d1b0258b32
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
2007-11-15 10:42:47 +01:00
Thomas Hellstrom
6206091e5f
mm fixups.
2007-11-15 10:39:41 +01:00
Dave Airlie
1e8984a367
drm: send correct fb id to userspace
2007-11-15 18:31:23 +11:00
Dave Airlie
2520d3fd99
modes: pass type to userspace for preferred showing
2007-11-15 16:52:04 +11:00
Dave Airlie
7136f55faa
drm: don't remove mappings added by the driver
2007-11-15 16:51:48 +11:00
Dave Airlie
12cbe1365b
intel: fixup || vs |
2007-11-15 16:51:35 +11:00
Dave Airlie
f0fe478c15
Merge branch 'master' into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
tests/ttmtest/src/ttmtest.c
2007-11-15 15:04:19 +11:00
Dave Airlie
62cdc6dbb3
i915: remove excess debug output
2007-11-15 14:44:19 +11:00
Dave Airlie
2eee33ace5
intel: add flushing for i8xx chipsets.
...
Add a nut vs hammer style chipset flush for the i8xx chipsets - reenable TTM
code paths
2007-11-15 13:29:55 +11:00
Kristian Høgsberg
68cdcda1ea
Add new shared header file drm_internal.h.
...
This header file is shared across linux and bsd, but is not installed
for user space to access. It's the place to put prototypes and data
types that aren't platform or chipset specific, but still internal to
the drm.
2007-11-14 14:28:34 -05:00
Ben Skeggs
7e4bb6099a
Revert "nouveau: stub superioctl"
...
This reverts commit 2370ded79b
.
Err.. didn't mean for that to slip in :)
2007-11-14 05:11:11 +11:00
Ben Skeggs
eb5487b9ca
Merge branch 'fifo-cleanup' into upstream-master
2007-11-14 05:09:07 +11:00
Ben Skeggs
7246a33dd1
nouveau: store user control reg offsets in channel struct
2007-11-14 04:09:53 +11:00
Ben Skeggs
2370ded79b
nouveau: stub superioctl
2007-11-14 03:00:25 +11:00
Jesse Barnes
793cd1dad5
Make sure PLLs are enabled before writing pipe configuration regs
...
Fix from the X driver. Make sure the PLLs are enabled and not in VGA mode
before writing PIPE(A|B)CONF regs to avoid hangs or crashes.
2007-11-10 14:39:36 -08:00
Patrice Mandin
c2f80ecf4b
suspend() and resume() need kernel 2.6.22 or later
2007-11-09 18:08:08 +01:00
Jerome Glisse
e1bc147ac9
drm: check edid data, so we deal well with broken driver.
2007-11-09 17:28:56 +01:00
Jerome Glisse
ffb89d4c3b
drm: split edid handling in get_edid & add_edid_mode
...
This way driver can get_edid in output status detection
(using all workaround which are in get_edid) and then provide
this edid data in get_mode callback of output.
2007-11-09 15:47:24 +01:00
Thomas Hellstrom
e9805de5c7
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
2007-11-07 18:10:46 +01:00
Thomas Hellstrom
c20370e096
Don't overwrite TTM page flags.
2007-11-07 18:07:56 +01:00
Thomas Hellstrom
c07dd80269
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2007-11-06 10:01:52 +01:00
Thomas Hellstrom
40fb079aeb
Avoid buffers not ending up on a list in some cases.
2007-11-06 09:47:57 +01:00
Thomas Hellstrom
20eecf2b88
Add missing drm_regman.c file.
2007-11-06 09:36:29 +01:00
Dave Airlie
349eebd567
i915: compat code doesn't work in i8xx hw.
2007-11-06 18:00:10 +11:00
Dave Airlie
b437c8ca0f
drm/agp: kernel style fixes
2007-11-06 12:16:07 +10:00
Dave Airlie
9493ce6ca3
i915: cleanup most of the whitespace
2007-11-06 12:16:07 +10:00
Thomas Hellstrom
5ce43a346c
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/drm_bufs.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2007-11-05 13:46:06 +01:00
Thomas Hellstrom
427cc561b3
Export a symbol.
2007-11-05 13:22:00 +01:00
Thomas Hellstrom
44ad6f409d
Fix a user-buffer check.
2007-11-05 13:20:16 +01:00
Alan Hourihane
1b91113957
remove unused define
2007-11-05 10:06:37 +00:00
Alan Hourihane
306bb12603
remove duplicate and obsolete ioctl statements
2007-11-05 10:05:01 +00:00
Alan Hourihane
71385d6f75
add missing lock
2007-11-05 10:03:26 +00:00
Alan Hourihane
d0956339e3
Use _size
2007-11-05 10:02:46 +00:00
Dave Airlie
82ffcbbd62
drm: more kernel coding style cleanups
2007-11-05 19:14:23 +10:00
Dave Airlie
6ee5412da0
drm/ttm: apply linux kernel coding style to bo_lock/move/object/ttm.c
2007-11-05 19:09:18 +10:00
Dave Airlie
7ad3890707
drm/ttm: kernel coding style for bo.c and objects.h
2007-11-05 19:05:32 +10:00
Dave Airlie
3b43ed51cc
drm: fix the the typo
2007-11-05 18:56:46 +10:00
Li Zefan
78fe88baee
drm: fix memset size error
...
The size passing to memset is wrong.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
2007-11-05 18:48:27 +10:00
Dave Airlie
7f6bf84c23
drm: remove lots of spurious whitespace.
...
Kernel "cleanfile" script run.
2007-11-05 12:42:22 +10:00
Dave Airlie
3664de7395
drm: move some of the OS stuff into the OS header
2007-11-05 12:11:39 +10:00
Ben Skeggs
5092865601
nouveau: Use a sw method instead of notify interrupt to signal fence completion.
2007-11-05 05:46:26 +11:00
Ben Skeggs
9096d50df7
nouveau: disable m2mf buffer move for the moment
2007-11-05 05:15:32 +11:00
Ben Skeggs
0a2ab1a900
nouveau: cleanups
2007-11-05 03:53:46 +11:00
Ben Skeggs
dfa449cf9a
nouveau: vram is bar1
2007-11-05 02:32:46 +11:00
Ben Skeggs
173a5be28f
nouveau: hook up an inital fence irq handler
2007-11-05 02:20:35 +11:00
Dave Airlie
a2e8e294d8
drm: fix oops since user objects..
2007-11-04 11:01:27 +11:00
Jeremy Kolb
998d120a47
nouveau: add darktama's email address to authors section.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
2dc2ee7a5a
nouveau: put it all together.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
c1aa08106e
nouveau: Add darktama's fencing code. Restructure some stuff.
2007-11-02 19:47:48 -04:00
Jeremy Kolb
2c6cbea7de
nouveau: incorporate darktama's buffer object work.
2007-11-02 19:47:47 -04:00
Jeremy Kolb
239e81093f
nouveau: more filling in for ttm. Change copyright since it's based off of radeon code.
2007-11-02 19:47:47 -04:00
Thomas Hellstrom
9906c7e54b
Merge branch 'master' into modesetting-101
2007-11-02 16:07:36 +01:00
Thomas Hellstrom
94c22c3349
User buffer support.
2007-11-02 16:05:25 +01:00
Jesse Barnes
629c8b0dbf
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_stub.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
Fixup suspend/resume conflicts (basically use what's in DRM master for now).
Also fix up a few other conflicts that snuck in (i915_dma changes etc.).
2007-11-01 15:27:55 -07:00
Jesse Barnes
00d6026557
Cleanup vblank_init and fix drm_irq_install
...
The vblank_init function wanted a couple of cleanups.
Also, drm_irq_install wasn't checking the new return value of irq_postinstall.
If it returns a failure, assume IRQs didn't get set up and take appropriate
action.
2007-11-01 12:50:03 -07:00
Jeremy Kolb
1b176e7613
nouveau: add missing file.
2007-10-31 21:27:00 -04:00
Jeremy Kolb
9416541fb2
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
2007-10-31 20:14:48 -04:00
Jeremy Kolb
31847b4b62
nouveau: ttm stubs
2007-10-31 20:13:01 -04:00
Dave Airlie
61cbcb5dbe
drm/ttm: add support for cached un-snooped mappings.
...
This mapping allows cached objects to be mapped in/out of the TT space
with the appropriate flushing calls.
It should put back the old CACHED functionality for snooped mappings
2007-11-01 10:34:53 +11:00
Dave Airlie
6b0b2546c2
i915: fix compat code on 965/g33
2007-11-01 02:00:36 +10:00
Dave Airlie
17f0882d50
drm: add chipset flushing via agp support
2007-10-31 11:33:34 +11:00
Dave Airlie
2489062a33
i915: add backwards compat chipset flushing code
2007-10-31 11:27:44 +11:00
Dave Airlie
c106a7d8b9
drm: call driver load after initing agp subsystem
2007-10-31 11:21:05 +11:00
Jesse Barnes
91aae7e683
Merge branch 'master' into vblank-rework, fixup remaining drivers
...
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/mga_drv.h
shared-core/mga_irq.c
shared-core/radeon_drv.h
shared-core/radeon_irq.c
Merge in the latest master bits and update the remaining drivers (except
mach64 which math_b is working on). Also remove the 9xx hack from the i915
driver; it seems to be correct.
2007-10-30 12:52:46 -07:00
Dave Airlie
50dec29c80
drm/i915: add driver cache flush entry point
...
Use clflush on Intel hardware to flush cached objects.
2007-10-30 17:52:13 +10:00
Kristian Høgsberg
ff5889f831
Move struct drm_drawable_info out of public header file.
2007-10-29 19:32:46 -04:00
Jerome Glisse
90d8f79279
Merge branch 'radeon-ttm' of git://people.freedesktop.org/~airlied/drm into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
shared-core/radeon_cp.c
shared-core/radeon_drv.h
shared-core/radeon_irq.c
modified: linux-core/Makefile.kernel
modified: linux-core/ati_pcigart.c
modified: linux-core/drmP.h
new file: linux-core/radeon_buffer.c
modified: linux-core/radeon_drv.c
new file: linux-core/radeon_fence.c
modified: shared-core/radeon_cp.c
modified: shared-core/radeon_drm.h
modified: shared-core/radeon_drv.h
modified: shared-core/radeon_irq.c
modified: tests/ttmtest/src/ttmtest.c
2007-10-28 00:55:27 +02:00
Jesse Barnes
1e2a2babab
i915: suspend/resume support
...
Add suspend/resume support to the i915 driver. Moves some of the
initialization into the driver load routine, and fixes up places where we
assumed no dev_private existed in some of the cleanup paths. This allows
us to suspend/resume properly even if X isn't running.
2007-10-26 16:10:02 -07:00
Jesse Barnes
6707ab8626
update DRM sysfs support
...
Make DRM devices use real Linux devices instead of class devices, which are
going away. While we're at it, clean up some of the interfaces to take
struct drm_device * or struct device * and use the global drm_class where
needed instead of passing it around.
2007-10-26 16:08:54 -07:00
Thomas Hellstrom
1681189e11
Buffer flags and masks are 64-bit.
...
don't mask off the high dword.
Signed-off-by: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
2007-10-26 10:27:30 +02:00
Thomas Hellstrom
26c32a3d79
Buffer flags and masks are 64-bit.
...
don't mask off the high dword.
2007-10-26 10:25:57 +02:00
Ian Romanick
7e9ea55a2f
Initial pass at porting MGA to vblank-rework
...
This is currently only compile tested.
2007-10-25 17:14:53 -07:00
Thomas Hellstrom
9adf8c0256
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_bo.c
linux-core/drm_objects.h
2007-10-25 11:00:45 +02:00
Thomas Hellstrom
b9d9c30474
Tighten permissions on some buffer manager ioctls.
...
Set bo init minor to 0.
Add the version function to header.
2007-10-25 10:29:15 +02:00
Thomas Hellstrom
11f3e5e53f
Buffer manager:
...
Implement a version check IOCTL for drivers that don't use
drmMMInit from user-space.
Remove the minor check from the kernel code. That's really up
to the driver.
Bump major.
2007-10-25 10:12:21 +02:00
Thomas Hellstrom
b5cad27e05
Fix buffer object flag / mask checking.
2007-10-25 09:49:33 +02:00
Thomas Hellstrom
07706c9b79
Merge branch 'master' into drm-ttm-finalize
2007-10-25 09:24:45 +02:00
Roel Kluin
07abc3384e
missing mutex unlock bug
2007-10-25 16:50:23 +10:00
Alan Hourihane
198170ab97
Need fb attached
2007-10-23 15:33:20 +01:00
Thomas Hellstrom
3d4b32e916
Remove duplicate file.
2007-10-22 19:16:39 +02:00
Thomas Hellstrom
824330d0e6
Don't clobber the unfenced list with DONT_FENCE operations.
2007-10-22 19:09:36 +02:00
Thomas Hellstrom
4ebe7471cb
Disable i915 accelerated blit copy moves for now until we can
...
guarantee that it doesn't clash with the X server.
2007-10-21 12:31:00 +02:00
Thomas Hellstrom
3b19b50cb5
Remove the need for the hardware lock in the buffer manager.
...
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
2007-10-21 12:20:56 +02:00
Thomas Hellstrom
48b5eaf303
Simple replacement for hardware lock in some cases.
...
Fix i915 since last commit.
2007-10-20 16:49:43 +02:00
Thomas Hellstrom
c0e3537e77
Some comment updates pending removal of the init mutex.
2007-10-19 16:44:12 +02:00
Thomas Hellstrom
733ff56834
No fence_class argument on drmBOSetStatus since it's not
...
associated with a particular command submission.
2007-10-19 16:28:47 +02:00
Thomas Hellstrom
cf2d1bba55
Remove the clean_unfenced function.
...
Change the restriction that non-creators can't change the buffer flags to
non-creators can't change EVICT and NO_MOVE flags.
2007-10-19 16:24:36 +02:00
Thomas Hellstrom
bb29ba7fa7
Only allow creator to change shared buffer mask.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
086c058a41
Remove the op ioctl, and replace it with a setuser ioctl.
...
Remove need for lock for now.
May create races when we clean memory areas or on takedown.
Needs to be fixed.
Really do a validate on buffer creation in order to avoid problems with
fixed memory buffers.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
0d1926d36e
Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
...
This reverts cf2d569dac
commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
cd276d9cab
Revert "Copy the important parts of object_validate into object_create()."
...
This reverts f9c27aa50b
commit.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
12b989a710
Revert "Remove the pinned buffer from the LRU when pinning."
...
This reverts 3a0bc518e3
commit.
2007-10-17 10:59:48 +02:00
Alan Hourihane
90bfc8e611
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_objects.h
shared-core/i915_dma.c
shared-core/i915_drv.h
2007-10-16 15:28:33 +01:00
Michel Dänzer
db1709f2f3
Revert part of earlier commit that caused an unresolved symbol for i915.
2007-10-16 15:10:22 +02:00
Kristian Høgsberg
a69c85fec8
Drop destroy ioctls for fences and buffer objects.
...
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object. This way unreference on will
destroy the user object when the last drm_ref_object goes way.
2007-10-16 22:03:05 +11:00
Kristian Høgsberg
dccefba71a
Take bo type argument out of the ioctl interface.
...
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface. If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc. Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
2007-10-16 22:03:05 +11:00
[utf-8] Kristian Høgsberg
440fc5113e
Eliminate support for fake buffers.
2007-10-16 21:59:38 +11:00
Alan Hourihane
2b07b0a45d
should be unlocked
2007-10-15 11:54:18 +01:00
Alan Hourihane
cc9be8ac32
Fix some buffer teardown problems.
2007-10-15 11:51:19 +01:00
Arthur Huillet
9d779e2c88
nouveau: mandatory "oops I forgot half of the files" commit
2007-10-12 22:40:08 +02:00
Dave Airlie
604f02ff61
i915: check mask instead of flags for buffer fence types
2007-10-12 09:46:11 +10:00
Ian Romanick
fc7d4d19d3
Eliminate trailing whitespace from last commit.
2007-10-10 15:27:07 -07:00
Ian Romanick
83da774b19
Fix command list submission on big-endian.
2007-10-10 15:25:47 -07:00
Thomas Hellstrom
d4680333dc
Only add native-type on EXE signals. Otherwise flush flags may
...
get out of sync.
2007-10-10 09:31:51 +02:00
Dave Airlie
89d44a1023
radeon: make vram fixed type
2007-10-07 08:16:38 +10:00
Dave Airlie
19b7cc3444
Merge branch 'pre-superioctl-branch'
2007-10-05 12:11:43 +10:00
Maarten Maathuis
b510517d59
nouveau: Switch over to using PMC_BOOT_0 for card detection.
2007-10-04 09:31:46 +02:00
Maarten Maathuis
5ca12104f8
linux-drm: Obey device class requirements when detecting devices.
2007-10-04 09:24:48 +02:00
Dave Airlie
495bbbaadc
drm: fix page count calculation
...
Also no need to do pre-populate work on single page
2007-10-04 16:13:22 +10:00
Ian Romanick
0379919e99
Use 'ifdef __BIG_ENDIAN' instead of 'if __BIG_ENDIAN'
2007-10-03 14:12:16 -07:00
Ian Romanick
7f99fd5d7a
First round of byte-ordering fixes for PowerPC.
...
This isn't 100% as command submission via PCI-e GART buffers doesn't work.
I've hacked around that for the time being. This is essentially the code
that was used at the POWER.org event to show Bimini.
2007-10-03 14:08:29 -07:00
Dave Airlie
b0473699ed
ttm: returning into dummy causes a buffer object leak
...
as nobody ever derefs dummy, however not returning does the deref
correctly.
2007-10-02 15:48:28 +10:00
Pekka Paalanen
aa135ba8e8
nouveau: rename nv30_graph.c to nv20_graph.c
2007-09-30 22:16:01 +03:00
Pekka Paalanen
205403aea8
nouveau: nv30 graph function renames, removed nv20_graph.c
...
All nv30 functions in nv30_graph.c that can be used on nv20 are renamed
as accordingly. nv20 specific parts from nv20_graph.c are moved into
nv30_graph.c.
2007-09-30 22:16:01 +03:00
Michel Dänzer
215eab6ccf
Don't build without any optimization on Linux.
...
Building without optimization causes the drm module not to link correctly on
ppc.
2007-09-29 18:07:55 +02:00
Alan Hourihane
d69721a14a
Set the fb_base, so userspace applications can actually work
...
now instead of locking up.
2007-09-28 09:21:09 +01:00
Alan Hourihane
2ed12b6b7e
Add some more checks to modelist walking for matching
...
incoming modes to current modelist.
2007-09-27 14:21:03 +01:00
Keith Packard
24cdd2f8c4
Allow parallel module compile
2007-09-26 14:25:13 -07:00
Alan Hourihane
61dfd19de8
Add brackets
2007-09-26 16:18:33 +01:00
Alan Hourihane
b44925b2a5
Add brackets
2007-09-26 16:18:19 +01:00
Alan Hourihane
dfcf9272ce
no need to copy to/from user as the unlocked ioctl does
...
that for us.
other small cleanups.
2007-09-26 15:40:40 +01:00
Alan Hourihane
b2c4c7ae5e
don't copy back if an error was returned.
2007-09-26 15:39:34 +01:00
Alan Hourihane
6671ad1917
don't copy back if an error was returned.
2007-09-26 15:38:54 +01:00
Jesse Barnes
053ff86566
Move map hash destruction to after driver unload hook is called
...
The driver unload routine will want to remove register and SAREA maps, so don't
destroy the map hash before we get there.
2007-09-25 16:16:33 -07:00
Jesse Barnes
5433bbbfde
Remove buffer object user list check in drm_bo_destroy_unlocked
...
In the case of driver allocated buffers, there won't necessarily be a user list
associated with the buffer, so don't bug out on an empty list.
2007-09-25 16:15:48 -07:00
Thomas Hellstrom
c4b3a0f602
Merge branch 'master' into pre-superioctl-branch
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_fence.c
linux-core/drm_objects.h
shared-core/drm.h
2007-09-25 18:03:31 +02:00
Dave Airlie
bb5516f4f4
drm/ttm: fixup fence class naming and interfaces
...
This is some code for nouveau that Ben Skeggs worked on, and also
fixes the naming (having class in a system header file == C++ keyword == bad plan)
2007-09-25 16:17:17 +10:00
Jesse Barnes
cbcbe80c09
Cleanup SDVO debug output
...
SDVO debug messages were incorrectly including severity prefixes in each print
rather than each unique line. Fix it up.
2007-09-24 15:43:00 -07:00
Jesse Barnes
5cc3083179
Merge branch 'master' into modesetting-101 - TTM & typedef removal
...
Conflicts:
linux-core/drmP.h
linux-core/drm_bo.c
linux-core/drm_drv.c
linux-core/drm_objects.h
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Mostly removing typedefs that snuck into the modesetting code and
updating to the latest TTM APIs. As of today, the i915 driver builds,
but there are likely to be problems, so debugging and bugfixes will
come next.
2007-09-24 14:41:46 -07:00
Thomas Hellstrom
54df1b9ff3
Fix pinned buffer fence class.
2007-09-22 14:30:55 +02:00
Thomas Hellstrom
0774090d5b
Fix drm_bo.c compiling.
2007-09-22 13:59:56 +02:00
Thomas Hellstrom
bea727b838
Make nouveau compile on older kernels.
2007-09-22 13:57:21 +02:00
Thomas Hellstrom
da63f4ba0f
Add fence error member.
...
Modify the TTM backend bind arguments.
Export a number of functions needed for driver-specific super-ioctls.
Add a function to map buffer objects from the kernel, regardless of where they're
currently placed.
A number of error fixes.
2007-09-22 13:57:13 +02:00
Eric Anholt
24e33627c5
Merge branch 'bo-set-pin'
...
This branch replaces the NO_MOVE/NO_EVICT flags to buffer validation with a
separate privileged ioctl to pin buffers like NO_EVICT meant before. The
functionality that was supposed to be covered by NO_MOVE may be reintroduced
later, possibly in a different way, after the superioctl branch is merged.
2007-09-21 17:12:19 -07:00
Dave Airlie
bc5423f168
drm_sysfs: update sysfs code from kernel
2007-09-20 14:01:29 +10:00
Eric Anholt
3d3a96ad4e
Merge branch 'origin' into bo-set-pin
2007-09-19 15:55:58 -07:00
Ian Romanick
a3881ad2fe
Add ioc32 compat layer for XGI DRM.
2007-09-18 11:03:49 -07:00
Ian Romanick
e7d4a26913
Fix ioc32 compat layer
...
Previously any ioctls that weren't explicitly listed in the compat ioctl
table would fail with ENOTTY. If the incoming ioctl number is outside the
range of the table, assume that it Just Works, and pass it off to drm_ioctl.
This make the fence related ioctls work on 64-bit PowerPC.
2007-09-18 11:03:08 -07:00
Brian
41345b95a2
Added bool typedef added in kernel 2.6.19
...
This allows the xgi code to compile with older kernels.
2007-09-12 12:05:15 -06:00
Brian
c453135789
Added idr_replace() function which was apparently added in Linux 2.6.18
...
Someone should probably double-check my work here since this is the
first time I've touched drm_compat.[ch]
2007-09-12 11:49:51 -06:00
Ian Romanick
c597bd57ee
Bump version to 1.0.0.
2007-09-06 15:20:52 -07:00
Ian Romanick
fee49e2071
Merge branch 'master' of ssh+git://git.freedesktop.org/git/mesa/drm into xgi-0-0-2
2007-08-31 10:54:55 -07:00
Ian Romanick
bb3da88601
Acutally emit the IRQ (duh) when setting the fence post.
2007-08-31 10:48:13 -07:00
Ian Romanick
9c5b9d458b
Use ati_pcigart for PCI-e GART table handling.
2007-08-29 14:41:49 -07:00
Ian Romanick
c46ffd6b29
Fix late night dumb-dumb mistake.
2007-08-29 00:23:30 -07:00
Ian Romanick
2bcd5b5e33
Use DRM_SPINLOCK / DRM_UNSPINLOCK macros.
2007-08-29 00:04:18 -07:00
Dave Airlie
589707b765
drm: remove XFREE86_VERSION macros
2007-08-28 15:17:36 +10:00
Ian Romanick
3383e8bd6b
Remove unnecessary include.
2007-08-17 10:53:18 -07:00
Ian Romanick
0d3c741df1
Forgot to add this file on the last commit.
2007-08-16 13:43:04 -07:00
Eric Anholt
0055fd5c35
Merge branch 'master' into bo-set-pin
2007-08-16 09:23:09 -07:00
Ian Romanick
d8a800b63d
Implement fence support.
2007-08-15 21:05:26 -07:00
Eric Anholt
b668d6d905
Fix dev->agp->base initialization on BSD, and fix addmap range check on Linux.
...
With the previous linux commit, an AGP aperture at the end of the address space
would have wrapped to 0 and the test would have failed.
2007-08-15 14:29:31 -07:00
Ben Skeggs
c3faa589b0
nouveau: Allow GART notifiers when using sgdma code.
2007-08-15 13:36:54 +10:00
Ian Romanick
f563a50d14
Eliminate unused / useless ioctls.
2007-08-14 13:44:51 -07:00
Ian Romanick
7b12174aac
Clean up remaining C++ style comments.
2007-08-14 13:24:02 -07:00
Ian Romanick
d3c8e98dd9
Move dwWriteReg to xgi_cmdlist.c, the only file where it is used.
2007-08-14 13:20:37 -07:00
Ian Romanick
be76f0eea9
Remove unused interrupt related functions.
2007-08-14 13:19:48 -07:00
Ian Romanick
891714d8d7
Clean up xgi_(en|dis)able_(mmio|ge) and move to xgi_misc.c.
2007-08-14 13:18:44 -07:00
Eric Anholt
3ee211f4f7
Bug #11895 : Only add the AGP base to map offset if the caller didn't.
...
The i830 and newer intel 2D code adds the AGP base to map offsets already,
because it wasn't doing the AGP enable which used to set dev->agp->base.
Credit goes to Zhenyu for finding the issue.
2007-08-13 16:32:32 -07:00
Ian Romanick
15f841bd52
Strobe magic 0xB03F register to flush PCI-e GART table.
...
The original XGI kernel driver strobed 0xB03F each time a page was
allocated to back a GART page. When the driver was converted to use
the DRM SG interface, this code was lost. Returning it fixes a long
standing issue where the X-server would work fine the first time, but
acceleration commands would be ignored on the second X-server
invocation.
2007-08-13 16:21:20 -07:00
Ian Romanick
20a0e5e429
After calling drm_sman_cleanup, mark both heaps as uninitialized.
...
Since the heaps weren't marked as uninitialized, SG memory was never
re-allocated. This prevented the X-server from being able to restart
without re-loading the kernel module.
2007-08-09 18:57:15 -07:00
Ian Romanick
06e09842df
Use DRM_MEMORYBARRIER() macro instead of mb().
2007-08-09 18:28:16 -07:00
Ian Romanick
371f0a4d41
Mask off correct bits in M2REG_AUTO_LINK_STATUS for interrupt handling.
2007-08-09 18:15:42 -07:00
Ian Romanick
6dd97099ea
Minor clean up of IRQ code. Much, much more to come.
2007-08-09 16:20:44 -07:00
Ian Romanick
dbd4d0597f
Use sman memory manager instead of internal version.
2007-08-09 16:01:14 -07:00
Ian Romanick
aea6b4dea9
Unify alloc and free ioctls.
...
The DRM_XGI_PCIE_ALLOC and DRM_XGI_FB_ALLOC ioctls (and the matching
free ioctls) are unified to DRM_XGI_ALLOC. The desired memory region
is selected by xgi_mem_alloc::location. The region is magically
encoded in xgi_mem_alloc::index, which is used to release the memory.
Bump to version 0.11.0. This update requires a new DDX.
2007-08-09 15:30:36 -07:00
Ian Romanick
25cb876f85
Associate master file pointer with command list buffer.
...
Pass the master's file pointer, as supplied to xgi_bootstrap, to
xgi_cmdlist_initialize. Associate that pointer with the memory
allocated for the command list buffer. By doing this the memory will
be automatically cleaned up when the master closes the device. This
allows the removal of some clean up code.
2007-08-09 15:23:13 -07:00
Ian Romanick
f7ba02b745
Unify infrastructure for freeing on-card / GART memory.
2007-08-06 17:27:15 -07:00
Ian Romanick
6718198897
Release client memory in reclaim_buffers_idlelocked instead of preclose.
2007-08-06 16:56:20 -07:00
Ian Romanick
f3072becda
Refactor xgi_(fb|pcie)_free_all into xgi_free_all.
2007-08-06 16:35:07 -07:00
Ian Romanick
90907c5915
Replace per-heap semaphores with drm_device::struct_mutex.
2007-08-06 16:17:23 -07:00
Ian Romanick
f96bff9e21
Unify infrastructure for allocating (not yet freeing) on-card / GART memory.
2007-08-06 16:09:05 -07:00
Ian Romanick
5362cc723e
Eliminate unnecessary function xgi_pcie_free_locked.
2007-08-06 15:52:06 -07:00
Eric Anholt
d749cc9ae8
Initialize the AGP structure's base address at init rather than enable.
...
Not all drivers call enable (intel), but they would still like to use this
member in driver code.
2007-08-06 15:45:37 -07:00
Ian Romanick
a6fb93a150
Finish removing allocation "owner" infrastructure.
2007-08-06 15:43:51 -07:00
Ian Romanick
78e9c1a93d
Eliminate special-case handling of framebuffer (fake) allocation.
2007-08-06 15:37:56 -07:00
Ian Romanick
997a9a738e
Eliminate allocation "owner" usage.
2007-08-06 15:31:34 -07:00
Ben Skeggs
8d5a8ebc31
nouveau: ouch, add nouveau_dma.[ch] files..
2007-08-06 22:32:36 +10:00
Ben Skeggs
92084c6e05
Export some useful ttm functions to drivers.
2007-08-06 22:11:18 +10:00
Ben Skeggs
cf04641bc6
nouveau: Give DRM its own gpu channel
...
If your card doesn't have working context switching, it is now broken.
2007-08-06 22:05:31 +10:00
Ben Skeggs
97770db720
nouveau: Various internal and external API changes
...
1. DRM_NOUVEAU_GPUOBJ_FREE
Used to free GPU objects. The obvious usage case is for Gr objects,
but notifiers can also be destroyed in the same way.
GPU objects gain a destructor method and private data fields with
this change, so other specialised cases (like notifiers) can be
implemented on top of gpuobjs.
2. DRM_NOUVEAU_CHANNEL_FREE
3. DRM_NOUVEAU_CARD_INIT
Ideally we'd do init during module load, but this isn't currently
possible. Doing init during firstopen() is bad as X has a love of
opening/closing the DRM many times during startup. Once the
modesetting-101 branch is merged this can go away.
IRQs are enabled in nouveau_card_init() now, rather than having the
X server call drmCtlInstHandler(). We'll need this for when we give
the kernel module its own channel.
4. DRM_NOUVEAU_GETPARAM
Add CHIPSET_ID value, which will return the chipset id derived
from NV_PMC_BOOT_0.
4. Use list_* in a few places, rather than home-brewed stuff.
2007-08-06 21:45:18 +10:00
Ben Skeggs
beaa0c9a28
nouveau: Pass channel struct around instead of channel id.
2007-08-06 03:40:43 +10:00
Eric Anholt
3a0bc518e3
Remove the pinned buffer from the LRU when pinning.
...
Also, be a little safer with setting the pinned flag within the struct lock.
I'm not 100% sure if this is required, but it seems like it might be.
2007-08-02 14:08:04 -07:00
Eric Anholt
cf4f1a85af
Add a couple of doxygen comments from reading the code.
2007-08-02 13:51:55 -07:00
Dave Airlie
7602e4f8a6
drm: add unlocked ioctl code path - not used yet
2007-08-02 19:13:58 +10:00
Ian Romanick
f83000c8b3
Refactor register dumping code.
2007-07-31 17:27:00 -07:00
Dave Airlie
c395d27a72
drm/fence: shut up lockdep
2007-08-01 10:12:36 +10:00
Dave Airlie
283eaa2559
drm: fix fencing refcount error
...
This extra increase was causing fence leaks on my system, due to create/user add already increasing it twice no need for a 3rd go.
2007-07-31 09:25:51 +10:00
Ian Romanick
08919d8a70
Move additional GE initialization into the kernel.
...
This code comes directly from the X server.
2007-07-30 12:01:52 -07:00
Ian Romanick
2fc697a7d2
Fix GE shut-down sequence.
...
When the GE is shut down, an empty command packet without a begin-link
must be sent. After this command is sent, wait for the hardware to go
idle. Finally, turn off the GE and disable MMIO.
2007-07-30 10:20:15 -07:00
Ian Romanick
01628a430d
Use DRM_READ/DRM_WRITE macros instead of directly accessing MMIO space.
2007-07-30 10:02:46 -07:00
Ian Romanick
2ac80e79e4
Use OUT3C5B macro instead of assuming little-endian byte order.
2007-07-30 09:59:19 -07:00