Commit graph

1722 commits

Author SHA1 Message Date
Ian Romanick
5d6fdd9d79 Clean up xgi_cmd_info and associated code.
There were numerous unnecessary fields in xgi_cmd_info.  The remaining
fields had pretty crummy names.  Cut out the cruft, and rename the
rest.  As a result, the unused parameter "triggerCounter" to
triggerHWCommandList can be removed.
2007-07-21 20:34:56 -07:00
Pekka Paalanen
0844c46759 Fix misc ioctl issues, makes Nouveau run.
Debug print fix in drm_release().
Forgotten local variable init in drm_setversion().
Unnecessary put_user() in drm_addmap_ioctl().
ioctl->cmd check broken in drm_ioctl(); workaround.
2007-07-21 23:13:25 +03:00
Dave Airlie
b43b0b2b32 fix missing brace placement for IOC_IN 2007-07-21 22:11:41 +10:00
Dave Airlie
f68ad6d1ab fix drm no-compile due to BSD :-) 2007-07-21 21:50:25 +10:00
Eric Anholt
5b38e13416 Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.
The data is now in kernel space, copied in/out as appropriate according to the
This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal
with those failures.  This also means that XFree86 4.2.0 support for i810 DRM
is lost.
2007-07-20 18:16:42 -07:00
Eric Anholt
c1119b1b09 Replace filp in ioctl arguments with drm_file *file_priv.
As a fallout, replace filp storage with file_priv storage for "unique
identifier of a client" all over the DRM.  There is a 1:1 mapping, so this
should be a noop.  This could be a minor performance improvement, as everything
on Linux dereferenced filp to get file_priv anyway, while only the mmap ioctls
went the other direction.
2007-07-20 13:39:45 -07:00
Eric Anholt
e39286eb5e Remove DRM_ERR OS macro.
This was used to make all ioctl handlers return -errno on linux and errno on
*BSD.  Instead, just return -errno in shared code, and flip sign on return from
shared code to *BSD code.
2007-07-20 12:53:52 -07:00
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
Jakob Bornecrantz
9ccb8440f3 Changed mode config spinlock to mutex 2007-07-20 11:36:57 +02: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
Jakob Bornecrantz
43c9abdedc Fix unlocking of spinlock when we should not 2007-07-19 16:58:23 +02: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
0be629a914 drm/radeon/ttm: more VRAM fixes 2007-07-16 14:45:47 +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
Dave Airlie
ead9cd64bd radeon: add VRAM support for radeon ttm
This needs a lot of testing
2007-07-12 14:26:03 +10:00
Dave Airlie
5c6a23704a Merge branch 'radeon-ttm' of git://people.freedesktop.org/~airlied/drm into radeon-ttm
Conflicts:

	linux-core/ati_pcigart.c
	linux-core/drmP.h
	linux-core/radeon_buffer.c
2007-07-12 14:25:29 +10: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