summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-05-28Bugzilla #3217: Create a new __drm_pci_free which is used internally inEric Anholt
linux-core to free pci memory without freeing the structure. Linux-core internals often create pci dma handle structures on the stack due to the lack of a drm_local_map_t to store them in properly. Fix the original drm_pci_free to actually free the dma handle structure instead of leaking it. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
2005-05-28Bugzilla #3217: The size field in the new dma handle structure wasEric Anholt
uninitialized, and its use in drm_pci_free later resulted in panics. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
2005-05-28Actually check for drm_fb_loaded before trying to initialize the sysdevAlan Hourihane
approach.
2005-05-28Re-implement the power management.Alan Hourihane
There's two choices when fb is or isn't loaded as we treat ourselves as a PCI driver in the latter case. If we are a PCI driver, then register the suspend/resume functions directly. If not, then we register as a sysdev and pick up the suspend/resume actions and pump them down into a generic *power function. It'll be nice when this little mess is sorted out with regard to being a real PCI driver ;-/
2005-05-27Modify drm_driver::device_is_agp to return a tri-state value to indicateIan Romanick
that a device absolutely is, absolutely is not, or may or may not be AGP. Modify the i915 DRM to use this to force all i9x5 devices to be "AGP" (even the PCI-e devices). Reported by: Lukas Hejtmanek
2005-05-27add radeon registers from VHA code these are the "unknown" registersDave Airlie
2005-05-23VIA:Thomas Hellstrom
64-bit fixes. Bumped driver date and patchlevel.
2005-05-22Refactor the routines for "calculating" the size of the WARP microcode. TheIan Romanick
two routines (one for G200 and one for G400) were replaced with static const variables and a single function that returns the correct size. The code to generate an error if the allocated WARP region is too small was refactored from mga_warp_install_{g200,g400}_microcode to mga_wrap_install_microcode. mga_warp_microcode_size is global to the MGA DRM because it will soon be used by code in another file.
2005-05-21Forgot to bump the patchlevel and driver date on last commit.Ian Romanick
2005-05-21Change the MGA initialization and cleanup a bit. The dev_private structureIan Romanick
is now allocated (and partially filled in) by the new mga_driver_preinit function. This allows the driver to detect the type of card (i.e., G200 class vs. G400 class) on its own. The chipset value passed to mga_dma_init is now ignored. This same technique is used by the radeon DRM. As a result of this, mga_driver_pretakedown was converted to mga_driver_postcleanup. This routine gets called in some other places than might be expected, and it sets the dev_private pointer to NULL. That little gem took over an hour to track down. :(
2005-05-20Refactor common, boilerplate ioctl code from drm_addbufs_* functions intoIan Romanick
drm_addbufs. This makes the code more like the BSD code, and makes the drm_addbufs_* functions callable in-kernel. Reviewed by: Dave Airlie
2005-05-18Add i945G pci ids to drmDave Airlie
From: Christopher Allen Wing <wingc@engin.umich.edu> Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-05-17Savage doesn't require AGP any more. Enable build even without CONFIG_AGP.Felix Kuehling
2005-05-16Added device_is_agp callback to drm_driver. This function is called by theIan Romanick
platform-specific drm_device_is_agp function. Added implementation of this function the the Linux-specific portion of the MGA driver to detect PCI G450 cards. Added code to the Linux-specific portion of the generic DRM layer to not initialize AGP infrastructure if the card is not AGP (this matches what already existed in BSD). Bumped the driver date and the driver patch-level for MGA. This mostly fixes bugzilla #3248. The BSD side still needs an implementation of mga_driver_device_is_agp.
2005-05-15wrap config.h include with defined for KERNELDave Airlie
2005-05-08VIA: Fix for oops when AGP ring-buffer initialization is called and thereThomas Hellstrom
is no AGP memory acquired.
2005-04-26Convert NOMAN to the new preferred spelling NO_MAN to quiet warnings.Eric Anholt
2005-04-26Clean up some const qualifier cast warnings.Eric Anholt
2005-04-26Convert BSD code to mostly use bus_dma, the dma abstraction for dealingEric Anholt
with IOMMUs and such. There is one usage of the forbidden vtophys() left in drm_scatter.c which will be fixed up soon. This required a KPI change for drm_pci_alloc/free() to return/use a drm_dma_handle_t that keeps track of os-specific bits, rather than just passing around the vaddr/busaddr/size. Submitted by: Tonnerre Lombard (partially) Tested on: FreeBSD: Rage128 AGP/PCI Linux: Savage4 AGP/PCI
2005-04-26Use msleep instead of tsleep to drop the DRM device lock and avoid aEric Anholt
sleep-with- mutex held. This probably ought to be an os-independent sleep function ala DRM_USLEEP.
2005-04-24Fix a panic on startup with non-initmapping drivers by assigning theEric Anholt
drm_ioremap return value to the map handle again. Submitted by: Tor Egge, tegge at freebsd dot org
2005-04-20A fix for a locking bug which is triggered when a client tries to lock withThomas Hellstrom
flag DMA_QUIESCENT (typically the X server), but gets interrupted by a signal. The locking IOCTL should then return an error, but if DMA_QUIESCENT succeeds it returns 0, and the client falsely thinks it has the lock. In addition The client waits for DMA_QUISCENT and possibly DMA_READY without having the lock.
2005-04-20VIA: Interrupt handler bugfixes. Bumped patchlevel to 2.6.2.Thomas Hellstrom
2005-04-19Revert last commit, it affect via thingsDave Airlie
2005-04-18VIA:Thomas Hellstrom
1) Security fix: Stopped possible MMIO access to PCI DMA area for the unichrome Pro. 2) Fixed an odd cpu usage problem by padding small AGP DMA submissions. Bumped patchlevel.
2005-04-16Use /*- to begin license blocks in BSD code to reduce diffs against FreeBSDEric Anholt
CVS.
2005-04-13Fix build on FreeBSD-current, thanks to jhb@.Eric Anholt
2005-04-04mirror changes made in main tree.. just happened to be doing this myselfDave Airlie
2005-03-29Missing file via_video.c commited.Thomas Hellstrom
2005-03-29Add skeletal imagine driver (but don't build it yet).Adam Jackson
2005-03-28Via updates:Thomas Hellstrom
New PCI command parser. Moved from via_dma.c to via_verifier.c so functions with similar functionality are close to eachother. Moved video related functions to via_video.c, which might be extended in the future, as new video functionality is added. New device-specific generic IRQ IOCTL, similar to the general VBLANK IOCTL, but with support for multiple device IRQ sources and functionality. Support for Unichrome Pro PM800/CN400 video DMA commands in verifier and PCI parser. Support for Unichrome Pro PM800/CN400 HQV IRQs in the new generic IRQ IOCTL. Bumped minor. New version 2.6.0.
2005-03-27Description: Rather than use custom code in DRM_WAIT_ON() to do exactlyDave Airlie
what wait_event_interruptible_timeout() does, use the function and just change the return values appropriately. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
2005-03-27Some ia64 platforms may not support write combining on all type of memory,Dave Airlie
so we need to consult the EFI memory map before we try to set the write combine attribute of a page. This patch will try to map a page write combined if it's not an AGP page and the EFI memory map says it's ok, otherwise it falls back to a regular, uncached mapping. Can someone please apply this to the drm tree? From: Jesse Barnes
2005-03-25Don't know who set the i915GM PCI ID incorrectly but it should be 0x2592Alan Hourihane
2005-03-25From Xorg CVS realign the i915_drv.hDave Airlie
From: Tungsten Graphics Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-03-25use linux-core for 2.6 not this stuff..Dave Airlie
2005-03-25fix up AGP multi-head support for kernel 2.6.12Dave Airlie
2005-03-25verify_area is deprecated, replaced by access_ok. Seems I missed this oneDave Airlie
when I did the big overall conversion. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
2005-03-25fix bug with XFree86 4.3 on core drmDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-03-253dfx DRM depends on PCIDave Airlie
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2005-03-25For 2.6.12 and 2.6.11.x:Dave Airlie
Remove incorrect "drm_"-prefix from parameter description. Signed-off-by: Magnus Damm <damm@opensource.se>
2005-03-18Add support for production version of ATI RN50/ES1000. (ATI TechnologiesMichel Daenzer
Inc.)
2005-03-15add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear filtering onRoland Scheidegger
r200
2005-03-14via changes:Thomas Hellstrom
1. Initialize futex locks to zero on device init. 2. Remove some stray defines from via_drm.h 3. Prepare via_drm.h for drm client inclusion. The goal is to share a common file with common definitions. 4. Sync shared / shared-core via_drm.h 5. Bump minor, because of the futex lock initialization.
2005-03-13Command DMA optimizations:Felix Kuehling
- don't waste DMA memory when small command buffers are flushed - minimized padding with noops - slightly simplified faked DMA flushing
2005-03-08Fix for bug 2673 from Egbert Eich - memset the versionDave Airlie
2005-03-07Tracked down random lockups related to command DMA that occurred in Quake3Felix Kuehling
after ~5min: buffer aging was subtly broken. Part of this may have also affected vertex DMA buffer aging and client-side texture heap aging, though with less fatal consequences. Bumped minor version and driver date.
2005-03-07minor pointer cast typoDave Airlie
2005-03-06Added support for command DMA on Savage4-based hardware. UnfortunatelyFelix Kuehling
command and vertex DMA don't work at the same time. Command DMA performance is superior and works with all vertex formats. Bumped minor version and driver date.
2005-03-04add some idct type 3 packets for referenceDave Airlie