summaryrefslogtreecommitdiff
path: root/shared-core/i915_drv.h
AgeCommit message (Collapse)Author
2007-07-11Merge branch 'master' into cleanupDave Airlie
Conflicts: libdrm/xf86drm.c linux-core/drm_bo.c linux-core/drm_fence.c
2007-06-29merge fixesAlan Hourihane
2007-06-29Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Alan Hourihane
modesetting-101 Conflicts: linux-core/drm_drv.c linux-core/drm_fops.c linux-core/drm_objects.h linux-core/drm_stub.c shared-core/i915_dma.c
2007-06-22more vblank reworkJesse Barnes
- use a timer for disabling vblank events to avoid enable/disable calls too often - make i915 work with pre-965 chips again (would like to structure this better, but this hack works on my test system)
2007-06-15i915: Fix handling of breadcrumb counter wraparounds.Michel Dänzer
2007-06-14Comment new vblank routines and fixup several issues:Jesse Barnes
- use correct refcount variable in get/put routines - extract counter update from drm_vblank_get - make signal handling callback per-crtc - update interrupt handling logic, drivers should use drm_handle_vblank - move wakeup and counter update logic to new drm_handle_vblank routine - fixup usage of get/put in light of counter update extraction - fix longstanding bug in signal code, update pending counter only *after* we're sure we'll setup signal handling
2007-06-12Update vblank code:Jesse Barnes
- move pre/post modeset ioctl to core - fixup i915 buffer swap - fix outstanding signal count code - create new core vblank init routine - test (works with glxgears) - simplify i915 interrupt handler
2007-06-12Initial checkin of vblank rework. Code attempts to reduce the numberJesse Barnes
of vblank interrupt in order to save power.
2007-06-12Try to make buffer object / fence object ioctl args 64-bit safe.Thomas Hellstrom
Introduce tile members for future tiled buffer support. Allow user-space to explicitly define a fence-class. Remove the implicit fence-class mechanism. 64-bit wide buffer object flag member.
2007-06-05Add support for the G33, Q33, and Q35 chipsets.Wang Zhenyu
These require that the status page be referenced by a pointer in GTT, rather than phsyical memory. So, we have the X Server allocate that memory and tell us the address, instead.
2007-05-22Suspend/resume support (incomplete).Jesse Barnes
2007-05-17Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm ↵Jesse Barnes
into origin/modesetting-101 Conflicts: linux-core/drm_crtc.c linux-core/drm_fb.c Lots of changes to merge with alanh's latest stuff: o fix use of fb->pitch now that it has the right value o add new helper for finding the CRTC given an FB o fix new fb_probe/fb_remove functions to take a CRTC o fixup callers of new FB routines o port drm_fb changes to intel_fb o check for errors after creating fb buffer object o go back to using cfb_imageblit since the accel stubs aren't ready
2007-05-17Fix FB pitch value (we had it wrong and were working around it in a fewJesse Barnes
places). Add new FB hooks to the drm driver structure and make i915 use them for an Intel specific FB driver. This will allow acceleration and better handling of the command stream.
2007-05-10Just some minor cleanups.Alan Hourihane
2007-04-26i915: fix vblank pipe setupDave Airlie
2007-04-17Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm ↵Jesse Barnes
into origin/modesetting-101 Conflicts: shared-core/i915_init.c - reconcile with airlied's new code
2007-04-17Cleanup whitespace, rename macro argument.Jesse Barnes
2007-04-17another large overhaul of interactions with userspace...Dave Airlie
We need to keep a list of user created fbs to nuke on master exit. We also need to use the bo properly.
2007-04-13i915/drm: clean up a lot of the i915/drm startup/teardown sequencesDavid Airlie
When the kernel driver is loaded it sets up a lot of stuff.. it tears down the same stuff on unload. This add a new map type called DRM_DRIVER which means the driver will clean the mapping up and fix up the map cleaner
2007-04-11Add aperture size and preallocation probing (from intelfb), cleanup load ↵Jesse Barnes
code to be more general.
2007-04-10Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm ↵Jesse Barnes
into origin/modesetting-101 Conflicts: linux-core/drm_crtc.c - trivial merge linux-core/drm_crtc.h - trivial merge linux-core/intel_display.c - crtc_config -> mode_config shared-core/i915_dma.c - accommodate new init code in i915_init.c
2007-04-10Add save/restore state for LVDS code, along with a few other LVDS relatedJesse Barnes
items to i915 private structure.
2007-04-10set the base address of the CRTC correctlyDavid Airlie
2007-04-05Initial import of modesetting for intel driver in DRMDave Airlie
2007-03-27drm/i915: set the bo up at firstopen time not after DMA initDave Airlie
This is required to use TTM to allocate the ring buffer.
2007-03-19more whitespace issuesDave Airlie
2007-02-28i915: Eliminate dev_priv->current_page.Michel Dänzer
Always use dev_priv->sarea_priv->pf_current_page directly. This allows clients to modify it as well while they hold the HW lock, e.g. in order to sync pages between pipes.
2007-02-28i915: Don't emit waits for pending flips before emitting synchronous flips.Michel Dänzer
The assumption is that synchronous flips are not isolated usually, and waiting for all of them could result in stalling the pipeline for long periods of time. Also use i915_emit_mi_flush() instead of an old-fashioned way to achieve the same effect.
2007-02-22i915: Add support for scheduled buffer swaps to be done as flips.Michel Dänzer
Unfortunately, emitting asynchronous flips during vertical blank results in tearing. So we have to wait for the previous vertical blank and emit a synchronous flip.
2007-02-19i915: Improved page flipping support, including triple buffering.Michel Dänzer
Pages are tracked independently on each pipe. Bump the minor version for 3D clients to know page flipping is usable, and bump driver date.
2007-02-19i915: Page flipping enhancements.Michel Dänzer
Leave it to the client to wait for the flip to complete when necessary, but wait for a previous flip to complete before emitting another one. This should help avoid unnecessary stalling of the ring due to pending flips. Call i915_do_cleanup_pageflip() unconditionally in preclose.
2007-02-19i915: Unify breadcrumb emission.Michel Dänzer
2007-02-16Simple fence object sample driver for via, based on idling the GPU.Thomas Hellstrom
Buffer object driver for via. Some changes to buffer object driver callbacks. Improve fence flushing.
2007-02-14Merge branch 'ttm-vram-0-1-branch'Thomas Hellstrom
2007-02-14Remove an intel-specific hack and replace it with a fence driver callback.Thomas Hellstrom
2007-02-09I915 accelerated blit copy functional.Thomas Hellstrom
Fixed - to System memory copies are implemented by flipping in a cache-coherent TTM, blitting to it, and then flipping it out.
2007-02-07Add chip family flags to i915 driver, and fix a missing '"' in mach64 ID list.Eric Anholt
2007-02-06Implement a policy for selecting memory types.Thomas Hellstrom
2007-01-31memory manager: Make device driver aware of different memory types.Thomas Hellstrom
Memory types are either fixed (on-card or pre-bound AGP) or not fixed (dynamically bound) to an aperture. They also carry information about: 1) Whether they can be mapped cached. 2) Whether they are at all mappable. 3) Whether they need an ioremap to be accessible from kernel space. In this way VRAM memory and, for example, pre-bound AGP appear identical to the memory manager. This also makes support for unmappable VRAM simple to implement.
2007-01-24vblank interrupt fixZou Nan hai
2007-01-06Revert i915 drm driver name to i915; miniglx doesn't work otherwiseKeith Packard
Yes, this driver supports the new memory manager, that is indicated by the version number being >= 1.7.
2007-01-06Bump i915 minor for ARB_OC ioctlWang Zhenyu
2006-10-12Simplify the AGP backend interface somewhat.Thomas Hellstrom
Fix buffer bound caching policy changing, Allow on-the-fly changing of caching policy on bound buffers if the hardware supports it. Allow drivers to use driver-specific AGP memory types for TTM AGP pages. Will make AGP drivers much easier to migrate.
2006-09-29Bump driver date.Thomas Hellstrom
2006-09-29i915: Bump minor again to differentiate from vsync changes.Michel Dänzer
2006-09-29i915: Bump minor for swap scheduling ioctl and secondary vblank support.Michel Dänzer
(cherry picked from 2627131e5d0c8cd5e3f0db06451c2e7ae7569b1b commit)
2006-09-29i915: Add ioctl for scheduling buffer swaps at vertical blanks.Michel Dänzer
This uses the core facility to schedule a driver callback that will be called ASAP after the given vertical blank interrupt with the HW lock held. (cherry picked from 257771fa290b62d4d2ad896843cf3a207978d0bb commit)
2006-09-29Add support for secondary vertical blank interrupt to i915 driver.Michel Dänzer
When the vertical blank interrupt is enabled for both pipes, pipe A is considered primary and pipe B secondary. When it's only enabled for one pipe, it's always considered primary for backwards compatibility. (cherry picked from 0c7d7f43610f705e8536a949cf2407efaa5ec217 commit)
2006-09-28Don't enable fence / buffer objects on non-linux systems.Thomas Hellstrom
Bump driver minor and date.
2006-09-25Add /proc filesystem buffer / fence object accounting.Thomas Hellstrom
Check for NULL pointer in the i915 flush handler. Remove i915_sync_flush declaration.