summaryrefslogtreecommitdiff
path: root/linux-core
AgeCommit message (Collapse)Author
2007-08-06nouveau: ouch, add nouveau_dma.[ch] files..Ben Skeggs
2007-08-06Export some useful ttm functions to drivers.Ben Skeggs
2007-08-06nouveau: Give DRM its own gpu channelBen Skeggs
If your card doesn't have working context switching, it is now broken.
2007-08-06nouveau: Various internal and external API changesBen Skeggs
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-06nouveau: Pass channel struct around instead of channel id.Ben Skeggs
2007-08-02Remove the pinned buffer from the LRU when pinning.Eric Anholt
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-02Add a couple of doxygen comments from reading the code.Eric Anholt
2007-08-02drm: add unlocked ioctl code path - not used yetDave Airlie
2007-07-31Refactor register dumping code.Ian Romanick
2007-08-01drm/fence: shut up lockdepDave Airlie
2007-07-31drm: fix fencing refcount errorDave Airlie
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-30Move additional GE initialization into the kernel.Ian Romanick
This code comes directly from the X server.
2007-07-30Fix GE shut-down sequence.Ian Romanick
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-30Use DRM_READ/DRM_WRITE macros instead of directly accessing MMIO space.Ian Romanick
2007-07-30Use OUT3C5B macro instead of assuming little-endian byte order.Ian Romanick
2007-07-27Convert to new ioctl interface between core DRM and device-specific module.Ian Romanick
2007-07-26Eliminate use of DRM_ERR.Ian Romanick
2007-07-26Eliminate unnecessary (and now wrong) call gto drm_sg_free.Ian Romanick
2007-07-26Merge branch 'master' of ssh+git://git.freedesktop.org/git/mesa/drm into ↵Ian Romanick
xgi-0-0-2 Conflicts: linux-core/drmP.h linux-core/drm_scatter.c
2007-07-26debug print ioctl return value as -integer rather than fffffwhatever.Eric Anholt
2007-07-26Copy the important parts of object_validate into object_create().Eric Anholt
This should let us allocate buffers without holding the hardware lock. While here, add DRM_DEBUG info for the drm_bo ioctls, so you can see something more specific than just the cmd value per ioctl.
2007-07-26Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning.Eric Anholt
This cleans up the create/validate interfaces for this very uncommon path, and makes pinned object creation much easier to use for the X Server.
2007-07-26drm/bo: set the req pointer for each buffer to validateDave Airlie
2007-07-26drm: fix size argument for copy to/from userDave Airlie
2007-07-24Fix typo on previous commit. Sigh...Ian Romanick
2007-07-24Pass correct offset to xgi_find_pcie_virt.Ian Romanick
The wrong offset was being passed to xgi_find_pcie_virt. This would cause an oops in addFlush2D.
2007-07-24Fix license formatting.Ian Romanick
2007-07-24Fix flags for serveral ioctls.Ian Romanick
2007-07-24Fix bug preventing X server from restarting.Ian Romanick
The core DRM lastclose routine automatically destroys all mappings and releases SG memory. XP10 DRM and DDX assumed this data stayed around until module unload. xgi_bootstrap was reworked to recreate all these mappings. In addition, the drm_addmap for the GART backing store was moved into the kernel. This causes a change to the ioctl protocol and a version bump.
2007-07-23Minor log message clean up.Ian Romanick
2007-07-23Minor log message clean up.Ian Romanick
2007-07-23linux: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can't find client #idx.Eric Anholt
Fixes the getclient test and dritest -c.
2007-07-23Eliminate XGI_CHECK_PCI_CONFIG.Ian Romanick
Based on review comments from airlied, XGI_CHECK_PCI_CONFIG is removed. He believes (and I tend to agree) that this is a largely unnecessary workaround for a bug elsewhere.
2007-07-23drm_rmmap_ioctl(): remove dead codeAdrian Bunk
This patch removes some obviously dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-07-21Bump version.Ian Romanick
2007-07-21Remove some extraneous debug messages.Ian Romanick
2007-07-21Rename and document fields of xgi_cmdring_info.Ian Romanick
2007-07-21Make s_cmdring a field in the xgi_info structure instead of a global.Ian Romanick
2007-07-21Clean up xgi_cmd_info and associated code.Ian Romanick
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-21Fix misc ioctl issues, makes Nouveau run.Pekka Paalanen
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-21fix missing brace placement for IOC_INDave Airlie
2007-07-21fix drm no-compile due to BSD :-)Dave Airlie
2007-07-20Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.Eric Anholt
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-20Replace filp in ioctl arguments with drm_file *file_priv.Eric Anholt
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-20Remove DRM_ERR OS macro.Eric Anholt
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-20Fix linux spinlock macros after the last commit.Eric Anholt
2007-07-20Clean up flush command generation in addFlush2D.Ian Romanick
2007-07-20Clean up generation of begin commands in xgi_submit_cmdlistIan Romanick
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-20Change handling of begin types slightly.Ian Romanick
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-20Changed mode config spinlock to mutexJakob Bornecrantz