Eric Anholt
5dc9fd96d7
Fix linux spinlock macros after the last commit.
2007-07-20 12:55:51 -07:00
Ian Romanick
ed82d5398a
Clean up flush command generation in addFlush2D.
2007-07-20 11:31:01 -07:00
Ian Romanick
659209cb2d
Clean up generation of begin commands in xgi_submit_cmdlist
...
Generate the begin command once in a temporary buffer. Then,
depending on whether the command is to be written directly to the
hardware or to a secondary buffer, copy to command to the correct place.
2007-07-20 11:29:16 -07:00
Ian Romanick
6bd8483074
Change handling of begin types slightly.
...
Moved the getCurBatchBeginPort before its only caller. Modified
function to return the command ID instead of the port offset.
Function also now assumes input begin type is value.
Added code to ioctl handler to validate begin type.
2007-07-20 10:57:40 -07:00
Ian Romanick
56665a42f4
Delete unused variable in xgi_driver_load.
2007-07-19 19:09:24 -07:00
Ian Romanick
970674f486
Fix error handing related to xgi_cmdlist_initialize.
...
xgi_cmdlist_initialize wasn't correctly checking for errors from
xgi_pcie_alloc. Furthermore, xgi_bootstrap, the one caller of
xgi_cmdlist_initialize, wasn't check its return value.
2007-07-19 19:08:47 -07:00
Ian Romanick
a33f548729
Debug message and comment clean up in xgi_submit_cmdlist.
2007-07-19 19:05:52 -07:00
Ian Romanick
15245b670e
Rework xgi_(pcie|fb)_free_all to prevent deadlock.
2007-07-19 11:38:56 -07:00
Ian Romanick
2f53ce4af2
Move MMIO drm_addmap (and code that depends on it) to xgi_bootstrap.
...
For reasons that I don't understand, the drm_addmap call would succeed
in xgi_driver_load, but writes to the map later would oops. Moving it
to xgi_bootstrap fixes this problem.
2007-07-19 11:05:13 -07:00
Ian Romanick
5ba94c2ab8
Initial pass at converting driver to DRM infrastructure.
2007-07-19 10:29:18 -07:00
Eric Anholt
05204b9c8d
Merge branch 'origin'
2007-07-19 06:31:26 -07:00
Eric Anholt
33a50412c2
Add dry-coded DRM drawable private information storage for FreeBSD.
...
With this, all modules build again.
2007-07-18 14:22:49 -07:00
Thomas Hellstrom
1ff858fe3a
Fix via dmablit when blit queue is full.
...
Fix by Simon Farnsworth, Bugzilla Bug #11542
http://bugs.freedesktop.org/show_bug.cgi?id=11542
2007-07-18 10:40:03 +02:00
Dave Airlie
a64b5d8d37
fix some missing whitespace/tab
2007-07-18 15:49:45 +10:00
Dave Airlie
3a71e87742
drm: idr stuff is upstream for 2.6.23
2007-07-18 09:46:16 +10:00
Dave Airlie
6ad1df2176
drm: remove drm_u64_t, replace with uint64_t everwhere
...
This might break something, stdint.h inclusion in drm.h maybe required
but I'm not sure yet what platforms have it what ones don't.
2007-07-18 09:42:06 +10:00
Dave Airlie
bff698d0ed
drm_context: fix braino
2007-07-18 09:27:21 +10:00
Ian Romanick
7f98815d00
Make drm_sg_free callable in-kernel.
2007-07-16 22:15:01 -07:00
Ian Romanick
bcba7ba981
Log message clean up in WriteRegDWord. Remove unused inline functions.
2007-07-16 21:15:58 -07:00
Ian Romanick
5b08ab258f
Clean ups (primarilly log messages) in xgi_test_rwinkernel.
2007-07-16 21:12:30 -07:00
Ian Romanick
658ff2daf3
Eliminate several useless ioctls and associated cruft.
...
The ioctlss XGI_ESC_DEVICE_INFO, XGI_ESC_MEM_COLLECT,
XGI_ESC_PCIE_CHECK, XGI_ESC_GET_SCREEN_INFO, XGI_ESC_PUT_SCREEN_INFO,
XGI_ESC_MMIO_INFO, and XGI_ESC_SAREA_INFO, are completely unnecessary.
The will be doubly useless when the driver is converted to the DRM
infrastructure.
2007-07-16 20:58:43 -07:00
Ian Romanick
4575d5b8f1
Massive log message clean up in xgi_submit_cmdlist.
2007-07-16 20:56:11 -07:00
Ben Skeggs
ec67c2def9
nouveau: G8x PCIEGART
...
Actually a NV04-NV50 ttm backend for both PCI and PCIEGART, but PCIGART
support for G8X using the current mm has been hacked on top of it.
2007-07-17 13:51:14 +10:00
Dave Airlie
23631fca09
drm: fixup old kernel compat code
2007-07-16 13:52:21 +10:00
Dave Airlie
0accdc1f69
drm: fixup compat wrappers
2007-07-16 13:50:04 +10:00
Dave Airlie
535e3dec8c
drm: remove internal sman typedef
2007-07-16 13:46:37 +10:00
Dave Airlie
191c062933
drm: remove drm_ref_t
2007-07-16 13:45:39 +10:00
Dave Airlie
24311d5d82
drm: remove drm_buf_t
2007-07-16 13:42:11 +10:00
Dave Airlie
be85ad0333
drm: detypedef ttm/bo/fence code
2007-07-16 13:37:02 +10:00
Dave Airlie
6dce9e0735
drm: remove hashtab/sman and object typedefs
2007-07-16 12:48:44 +10:00
Dave Airlie
21ee6fbfb8
drm: remove drmP.h internal typedefs
2007-07-16 12:32:51 +10:00
Dave Airlie
1a07256d60
drm: remove ttm userspace typedefs
2007-07-16 11:30:53 +10:00
Dave Airlie
b95ac8b7b3
drm: detypedef drm.h and fixup all problems
2007-07-16 11:22:15 +10:00
Dave Airlie
4be9554fcd
drm: fix typedef in drm_os_linux.h
2007-07-16 11:13:07 +10:00
Dave Airlie
2134193af6
Merge branch 'drm-ttm-cleanup-branch'
2007-07-16 10:05:20 +10:00
Ian Romanick
5522136b7f
Merge branch 'master' into xgi-0-0-2
2007-07-12 15:28:17 -07:00
Ben Skeggs
750371cb6e
nouveau: separate region_offset into map_handle and offset.
2007-07-12 10:46:57 +10:00
Dave Airlie
2c9e05cf4c
Merge branch 'master' into cleanup
...
Conflicts:
libdrm/xf86drm.c
linux-core/drm_bo.c
linux-core/drm_fence.c
2007-07-11 11:23:41 +10:00
Arthur Huillet
04e4922c0c
Made drm_sg_alloc accessible from inside the DRM - drm_sg_alloc_ioctl is the ioctl wrapper
2007-07-11 02:34:00 +02:00
Ian Romanick
76ca1e858f
Convert occurances of U32 to other types.
...
Most occurances of U32 were converted to u32. These are cases where
the data represents something that will be written to the hardware.
Other cases were converted to 'unsigned int'.
U32 was the last type in xgi_types.h, so that file is removed.
2007-07-09 18:54:25 -07:00
Ian Romanick
5c481d0a42
Eliminiate fields in xgi_info that are duplicates of fields in pci_dev.
2007-07-09 16:43:48 -07:00
Ian Romanick
1f4e24b429
Move types shared with user mode to xgi_drm.h.
2007-07-09 16:33:14 -07:00
Ian Romanick
7268b65d5c
Correct types that are shared with user mode.
2007-07-09 16:22:48 -07:00
Ian Romanick
a3f56dc3d0
Adjust the types of the fields of xgi_aperture.
2007-07-09 16:07:27 -07:00
Ian Romanick
2f2d8b9688
Merge xgi_mem_req and xgi_mem_alloc into a single type.
...
These two structures were used as the request and reply for certain
ioctls. Having a different type for an ioctl's input and output is
just wierd. In addition, each structure contained fields (e.g., pid)
that had no business being there.
This change requires updates to user-space.
2007-07-09 15:59:09 -07:00
Ben Skeggs
c806bba466
nouveau/nv50: Initial channel/object support
...
Should be OK on G84 for a single channel, multiple channels *almost* work.
Untested on G80.
2007-07-09 16:16:44 +10:00
Ian Romanick
86e75b7f7f
Remove XGI_IOCTL_CPUID and associated cruft.
2007-07-05 17:49:13 -07:00
Ian Romanick
8b18276458
Major clean up of xgi_ge_irq_handler
...
Two large blocks of code were moved out of this function into separate
functions. This brought some much needed sanity to the indentation.
Some dead varaibles were removed.
2007-07-05 17:45:44 -07:00
Ian Romanick
2695e8e209
Convert weird rtdsc usage to get_cycles.
...
I'm not convinced that get_cycles is the right approach here, but it's
better than the weird way that rtdsc was being used.
2007-07-05 17:18:12 -07:00
Kristian Høgsberg
d57b7f02d2
Use idr_replace trick to eliminate struct drm_ctx_sarea_list.
2007-07-03 10:41:48 -04:00