summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2003-09-24post merge fixAlan Hourihane
2003-09-13compatibility layer still uses agp (not gart)Alan Hourihane
2003-09-12bsd drm fixesAlan Hourihane
2003-09-12linux drm fixesAlan Hourihane
2003-09-12resolve merge conflictsAlan Hourihane
2003-09-09Use spldrm/splx around tsleep() in DRM_WAIT_ONKeith Whitwell
2003-09-07Correct format in debug printfs (free is a pointer, not an int).Eric Anholt
2003-09-07Fix for older -stable.Eric Anholt
2003-08-29Update to reflect renaming of SIS ioctls.Eric Anholt
2003-08-29These files were missed in the SiS DRM commit.Eric Anholt
2003-08-29Port the SiS DRM to FreeBSD. This includes the ability for the DRM toEric Anholt
2003-08-29Add DRM(calloc), which is convenient, used by the new sis code, and takesEric Anholt
2003-08-29Update radeon PCI IDs.Eric Anholt
2003-08-29This PCI header has been living in dev/pci/ for a while now.Eric Anholt
2003-08-28Remove superfluous TLB flushMichel Daenzer
2003-08-26Rename agp to gart for radeonMichel Daenzer
2003-08-26Remove artificial PCI GART limitations, rename AGP to GART whereMichel Daenzer
2003-08-19Fix the debug build.Eric Anholt
2003-08-19- Remove $FreeBSD$ tags as they weren't too useful and merges are now beingEric Anholt
2003-08-18Clean up Radeon DRI resume codeMichel Daenzer
2003-08-18Make r128_do_wait_for_idle static, as it's only used in this file.Eric Anholt
2003-08-18Remove an unnecessary #define __NO_VERSION__Eric Anholt
2003-08-15Merge from 2.6 kernel (Linus Torvalds)Michel Daenzer
2003-08-15DA: loads of whitespace .. some from Linus, some from meDave Airlie
2003-08-13DA: patch from Matthew upgraded to latest DRI head to solve issue with i810Dave Airlie
2003-08-12Whitespace cleanup from the pageflipping commit.Eric Anholt
2003-08-12Document change in interface version 1.9.Eric Anholt
2003-08-12Document the changes in interface version 2.5.Eric Anholt
2003-08-12Merge from FreeBSD r1.11: We have memset in the kernel, no need to defineEric Anholt
2003-08-11DA: code cleanups for i810_dma.c from 2.4 kernelDave Airlie
2003-08-08Added some information as to when (which DRM version) various queries wereIan Romanick
2003-08-07build fix for kernels >= 2.6Michel Daenzer
2003-08-06Fix maplist entries being used after they were freed; thanks to BenjaminMichel Daenzer
2003-07-29IRQ code cleanup suggested by Linus TorvaldsMichel Daenzer
2003-07-26Degrade uninformative error message to debug message, as in other driversMichel Daenzer
2003-07-26Add Rage 128 pageflipping support, defaults to off. DRM version bump toEric Anholt
2003-07-26Fix FreeBSD build after IRQ changes.Eric Anholt
2003-07-25Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't breakMichel Daenzer
2003-07-25Fail in DRM(agp_acquire) if the AGP aperture can't be used, such that the XMichel Daenzer
2003-07-11Restore __HAVE_KERNEL_CTX_SWITCH, required for the sparc drm module in theKeith Whitwell
2003-07-09DA: fix for bug 484 in Bugzilla, originally from me, reworked by DavidDave Airlie
2003-07-09file drm_mem.h was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-09file drm_dma.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-09file drm_fops.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-09file drm_lock.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-09file drm_stub.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-09file drm_vm.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
2003-07-08Removed unused __HAVE_KERNEL_CTX_SWITCH, whatever that was.Keith Whitwell
2003-07-04Don't need to include linux/wrapper.h - we only use Set/ClearPageReservedLeif Delgass
2003-07-01file drm_agp.c was initially added on branch newdrm-0-0-1-branch.Jose Fonseca
TE(MGA_PRIMEND, prim_end); } atomic_inc(&dev_priv->last_fence_retired); DRM_WAKEUP(&dev_priv->fence_queue); handled = 1; } if (handled) return IRQ_HANDLED; return IRQ_NONE; } int mga_enable_vblank(struct drm_device *dev, int crtc) { drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; if (crtc != 0) { DRM_ERROR("tried to enable vblank on non-existent crtc %d\n", crtc); return 0; } MGA_WRITE(MGA_IEN, MGA_VLINEIEN | MGA_SOFTRAPEN); return 0; } void mga_disable_vblank(struct drm_device *dev, int crtc) { if (crtc != 0) { DRM_ERROR("tried to disable vblank on non-existent crtc %d\n", crtc); } /* Do *NOT* disable the vertical refresh interrupt. MGA doesn't have * a nice hardware counter that tracks the number of refreshes when * the interrupt is disabled, and the kernel doesn't know the refresh * rate to calculate an estimate. */ /* MGA_WRITE(MGA_IEN, MGA_VLINEIEN | MGA_SOFTRAPEN); */ } int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence) { drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; unsigned int cur_fence; int ret = 0; /* Assume that the user has missed the current sequence number * by about a day rather than she wants to wait for years * using fences. */ DRM_WAIT_ON(ret, dev_priv->fence_queue, 3 * DRM_HZ, (((cur_fence = atomic_read(&dev_priv->last_fence_retired)) - *sequence) <= (1 << 23))); *sequence = cur_fence; return ret; } void mga_driver_irq_preinstall(struct drm_device * dev) { drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; /* Disable *all* interrupts */ MGA_WRITE(MGA_IEN, 0); /* Clear bits if they're already high */ MGA_WRITE(MGA_ICLEAR, ~0); } int mga_driver_irq_postinstall(struct drm_device * dev) { drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; int ret; ret = drm_vblank_init(dev, 1); if (ret) return ret; DRM_INIT_WAITQUEUE(&dev_priv->fence_queue); /* Turn on soft trap interrupt. Vertical blank interrupts are enabled * in mga_enable_vblank. */ MGA_WRITE(MGA_IEN, MGA_SOFTRAPEN); return 0; } void mga_driver_irq_uninstall(struct drm_device * dev) { drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; if (!dev_priv) return; /* Disable *all* interrupts */ MGA_WRITE(MGA_IEN, 0); dev->irq_enabled = 0; }