summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2008-06-13[FreeBSD] Fix another lock leakRobert Noland
2008-06-13[intel-gem] Pin objects during execbufferKeith Packard
2008-06-13[intel-gem] throttle based on frames rather than time. Reduces jitter.Keith Packard
2008-06-13[intel-gem] evict_something was failing when wait_request freed objectsKeith Packard
2008-06-13[intel] Enable MSI for i915 IRQKeith Packard
2008-06-13[intel] Restructure irq to pend all work until after iir write.Keith Packard
2008-06-13[intel-gem] Use a delayed_work instead of a timer + work_structKeith Packard
2008-06-13[intel-gem] Reorder i915_add_request to schedule work lastKeith Packard
2008-06-13Use /bin/pwd instead of trusting shell built-inKeith Packard
2008-06-13Fix i915_wait_irq in the presence of interrupt masking.Eric Anholt
2008-06-13[gem] Catch -EINTR from blocking ioctls and restart them.Eric Anholt
2008-06-13[gem] Remove the interrupt handler for retiring requests.Eric Anholt
2008-06-13[gem] Don't require the lock in execbuf now that it's not needed for the ring.Eric Anholt
2008-06-13radeon: bump driver date to know if lockup fix is inJerome Glisse
2008-06-13radeon: r345xx fixe hard lockupJerome Glisse
2008-06-12xgi: Bump kernel versionIan Romanick
2008-06-12Bump libdrm version to 2.4.0.Eric Anholt
2008-06-12Don't clear USER_INTERRUPT if we're not handling it.Eric Anholt
2008-06-11[gem] Remove the drm_client_lock_take in set_domain.Eric Anholt
2008-06-11Use GEM in modesettingJesse Barnes
2008-06-11Move the renaming of mm.c symbols to #defines in the header.Eric Anholt
2008-06-11[gem] Another round of cleanups from checkpatch.plEric Anholt
2008-06-11RADEON: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTATAlex Deucher
2008-06-11[gem] Move potentially device-specific ioctls to the intel driver.Eric Anholt
2008-06-11Remove override of drm module list in preparation for merge.Eric Anholt
2008-06-11[gem] Remove carefully-sprinkled i915_kernel_lost_context().Eric Anholt
2008-06-11Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
2008-06-10[intel] Fix BUG_ON trigger in irq masking if you did on/off with irqs disabled.Eric Anholt
2008-06-10[gem] Manage the ringbuffer from the kernel in the GEM case.Eric Anholt
2008-06-10xgixp: Remove dependency on TTM fencesIan Romanick
2008-06-10Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
2008-06-10xgi: Fix 64-bit kernel / 32-bit user issue.Ian Romanick
2008-06-10ati_pcigart: split out the page insert functionDave Airlie
2008-06-09Add EDID quirk handlingJesse Barnes
2008-06-09RADEON: Add untested support for RS400 chipsAlex Deucher
2008-06-09RADEON: switch IGP gart to use radeon_write_agp_base()Alex Deucher
2008-06-08Fix typo in i915_suspendRobert Noland
2008-06-08I915 suspend/resume for FreeBSDRobert Noland
2008-06-09r300/r500: add hier-z regsDave Airlie
2008-06-08[FreeBSD] Rework ati_pcigart.cRobert Noland
2008-06-08[FreeBSD] We need to request busmastering support.Robert Noland
2008-06-08[FreeBSD] Incorporate vblank fixes for bsd.Robert Noland
2008-06-08[FreeBSD] Forgot to call mtx_destroy on all the locks at unload.Robert Noland
2008-06-08[FreeBSD] Remove the locks in the vblank_disable_fnRobert Noland
2008-06-08[FreeBSD] Go back to using vbl_lock and move init/destroy to load/unload.Robert Noland
2008-06-06[gem] Don't forget to munmap in the non-bo-reuse object-freeing case.Eric Anholt
2008-06-06 [intel] remove settable use_mi_batchbuffer_startKeith Packard
2008-06-06[intel] remove settable use_mi_batchbuffer_startKeith Packard
2008-06-06[intel-gem] Use timers to retire requests periodically.Keith Packard
2008-06-06[intel] free the hardware status page at driver_unloadKeith Packard
PPLIERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * USE OR OTHER DEALINGS IN THE SOFTWARE. * * **************************************************************************/ /* * Authors: * Thomas Hellström <thomas-at-tungstengraphics-dot-com> */ #include "drmP.h" #include "sis_drm.h" #include "sis_drv.h" #if defined(__linux__) #include <video/sisfb.h> #endif #define VIDEO_TYPE 0 #define AGP_TYPE 1 #define SIS_MM_ALIGN_SHIFT 4 #define SIS_MM_ALIGN_MASK ( (1 << SIS_MM_ALIGN_SHIFT) - 1) #if defined(__linux__) && defined(CONFIG_FB_SIS) /* fb management via fb device */ #define SIS_MM_ALIGN_SHIFT 0 #define SIS_MM_ALIGN_MASK 0 static void *sis_sman_mm_allocate(void *private, unsigned long size, unsigned alignment) { struct sis_memreq req; req.size = size; sis_malloc(&req); if (req.size == 0) return NULL; else return (void *)~req.offset; } static void sis_sman_mm_free(void *private, void *ref) { sis_free(~((unsigned long)ref)); } static void sis_sman_mm_destroy(void *private) { ; } static unsigned long sis_sman_mm_offset(void *private, void *ref) { return ~((unsigned long)ref); } #endif static int sis_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv) { drm_sis_private_t *dev_priv = dev->dev_private; drm_sis_fb_t *fb = data; int ret; mutex_lock(&dev->struct_mutex); #if defined(__linux__) && defined(CONFIG_FB_SIS) { struct drm_sman_mm sman_mm;