summaryrefslogtreecommitdiff
path: root/linux-core
AgeCommit message (Collapse)Author
2007-08-13Bug #11895: Only add the AGP base to map offset if the caller didn't.Eric Anholt
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-13Strobe magic 0xB03F register to flush PCI-e GART table.Ian Romanick
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-09After calling drm_sman_cleanup, mark both heaps as uninitialized.Ian Romanick
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-09Use DRM_MEMORYBARRIER() macro instead of mb().Ian Romanick
2007-08-09Mask off correct bits in M2REG_AUTO_LINK_STATUS for interrupt handling.Ian Romanick
2007-08-09Minor clean up of IRQ code. Much, much more to come.Ian Romanick
2007-08-09Use sman memory manager instead of internal version.Ian Romanick
2007-08-09Unify alloc and free ioctls.Ian Romanick
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-09Associate master file pointer with command list buffer.Ian Romanick
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-06Unify infrastructure for freeing on-card / GART memory.Ian Romanick
2007-08-06Release client memory in reclaim_buffers_idlelocked instead of preclose.Ian Romanick
2007-08-06Refactor xgi_(fb|pcie)_free_all into xgi_free_all.Ian Romanick
2007-08-06Replace per-heap semaphores with drm_device::struct_mutex.Ian Romanick
2007-08-06Unify infrastructure for allocating (not yet freeing) on-card / GART memory.Ian Romanick
2007-08-06Eliminate unnecessary function xgi_pcie_free_locked.Ian Romanick
2007-08-06Initialize the AGP structure's base address at init rather than enable.Eric Anholt
Not all drivers call enable (intel), but they would still like to use this member in driver code.
2007-08-06Finish removing allocation "owner" infrastructure.Ian Romanick
2007-08-06Eliminate special-case handling of framebuffer (fake) allocation.Ian Romanick
2007-08-06Eliminate allocation "owner" usage.Ian Romanick
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