- 03 Aug, 2010 1 commit
-
-
Jesse Barnes authored
Intel Core i3/5 platforms with integrated graphics support both CPU and GPU turbo mode. CPU turbo mode is opportunistic: the CPU will use any available power to increase core frequencies if thermal headroom is available. The GPU side is more manual however; the graphics driver must monitor GPU power and temperature and coordinate with a core thermal driver to take advantage of available thermal and power headroom in the package. The intelligent power sharing (IPS) driver is intended to coordinate this activity by monitoring MCP (multi-chip package) temperature and power, allowing the CPU and/or GPU to increase their power consumption, and thus performance, when possible. The goal is to maximize performance within a given platform's TDP (thermal design point). Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by:
Matthew Garrett <mjg@redhat.com>
-
- 01 Jun, 2010 1 commit
-
-
Zou Nan hai authored
This will let userland only try to use the new media decode functionality when the appropriate kernel is present. Signed-off-by:
Zou Nan hai <nanhai.zou@intel.com> Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 26 May, 2010 1 commit
-
-
Zou Nan hai authored
Introduces a more complete intel_ring_buffer structure with callbacks for setup and management of a particular ringbuffer, and converts the render ring buffer consumers to use it. Signed-off-by:
Zou Nan hai <nanhai.zou@intel.com> Signed-off-by:
Xiang Hai hao <haihao.xiang@intel.com> [anholt: Fixed up whitespace fail and rebased against prep patches] Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 06 Jan, 2010 1 commit
-
-
Jesse Barnes authored
This patch adds a new execbuf ioctl, execbuf2, for use by clients that want to control fence register allocation more finely. The buffer passed in to the new ioctl includes a new relocation type to indicate whether a given object needs a fence register assigned for the command buffer in question. Compatibility with the existing execbuf ioctl is implemented in terms of the new code, preserving the assumption that fence registers are required for pre-965 rendering commands. Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> [ickle: Remove pre-emptive clear_fence_reg()] Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Kristian Høgsberg <krh@bitplanet.net> [anholt: Removed dmesg spam] Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 03 Dec, 2009 1 commit
-
-
Kristian Høgsberg authored
This let's use use the linux drm headers as the canonical source for libdrm on all platforms. Signed-off-by:
Kristian Høgsberg <krh@bitplanet.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 01 Dec, 2009 2 commits
-
-
Kristian Høgsberg authored
Signed-off-by:
Kristian Høgsberg <krh@bitplanet.net> Signed-off-by:
Eric Anholt <eric@anholt.net>
-
Jesse Barnes authored
Add a GETPARAM request for checking if page flipping is supported. Useful for the 2D driver to enable the flipping path. Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 05 Nov, 2009 1 commit
-
-
Daniel Vetter authored
This implements intel overlay support for kms via a device-specific ioctl. Thomas Hellstrom brought up the idea of a general ioctl (on dri-devel). We've reached the conclusion that such an infrastructure only makes sense when multiple kms overlay implementations exists, which atm don't (and it doesn't look like this is gonna change). Open issues: - Runs in sync with the gpu, i.e. unnecessary waiting. I've decided to wait on this because the hw tends to hang when changing something in this area. I left some dummy functions as infrastructure. - polyphase filtering uses a static table. - uses uninterruptible sleeps. Unfortunately the alternatives may unnecessarily wedged the hw if/when we timeout too early (and userspace only overloaded the batch buffers with stuff worth a few secs of gpu time). Changes since v1: - fix off-by-one misconception on my side. This fixes fullscreen playback. Changes since v2: - add underrun detection as spec'ed for i965. - flush caches properly, fixing visual corruptions. Changes since v4: - fix up cache flushing of overlay memory regs. - killed require_pipe_a logic - it hangs the chip. Tested-By: diego.abelenda@gmail.com (on a 865G) Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch> [anholt: Resolved against the MADVISE ioctl going in before this one] Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 23 Sep, 2009 1 commit
-
-
Chris Wilson authored
In order to correctly prevent the invalid reuse of a purged buffer, we need to track such events and warn the user before something bad happens. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- 17 Sep, 2009 1 commit
-
-
Chris Wilson authored
Similar to the madvise() concept, the application may wish to mark some data as volatile. That is in the event of memory pressure the kernel is free to discard such buffers safe in the knowledge that the application can recreate them on demand, and is simply using these as a cache. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org>
-
- 14 May, 2009 1 commit
-
-
Carl Worth authored
This allows userlevel code to discover the pipe number corresponding to a given CRTC ID. This is necessary for doing pipe-specific operations such as waiting for vblank on a given CRTC. Failure to use the right pipe mapping can result in GPU hangs, or at least failure to actually sync to vblank. Signed-off-by:
Carl Worth <cworth@cworth.org> [anholt: Style touchups from review] Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 08 Apr, 2009 1 commit
-
-
Eric Anholt authored
Save the bit 17 state of the pages when freeing the page list, and reswizzle them if necessary when rebinding the pages (in case they were swapped out). Since we have userland with expectations that the swizzle enums let it pread and pwrite contents accurately, we can't expose a new swizzle enum for bit 17 (which it would have to GTT map to handle), so we handle it down in pread and pwrite by swizzling the copy when bit 17 of the page address is set. Signed-off-by:
Eric Anholt <eric@anholt.net>
-
- 26 Mar, 2009 1 commit
-
-
Arnd Bergmann authored
The drm headers are traditionally shared with BSD and could not use the strict linux integer types. This is over now, so we can use our own types now. Cc: David Airlie <airlied@linux.ie> Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
H. Peter Anvin <hpa@linux.intel.com> Signed-off-by:
Ingo Molnar <mingo@elte.hu>
-
- 08 Feb, 2009 1 commit
-
-
Jesse Barnes authored
Adds code to set up fence registers at execbuf time on pre-965 chips as necessary. Also fixes up a few bugs in the pre-965 tile register support (get_order != ffs). The number of fences available to the kernel defaults to the hw limit minus 3 (for legacy X front/back/depth), but a new parameter allows userspace to override that as needed. Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 29 Dec, 2008 4 commits
-
-
Eric Anholt authored
fdo bug #19132. Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
Painfully userspace started using new names that were never actually to be used from the external repo. Also fill out the gaps in the structure for old/new userspace compat Add compat defines for these structs. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Jesse Barnes authored
This commit adds i915 driver support for the DRM mode setting APIs. Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are supported. HDMI, DisplayPort and additional SDVO output support will follow. Support for the mode setting code is controlled by the new 'modeset' module option. A new config option, CONFIG_DRM_I915_KMS controls the default behavior, and whether a PCI ID list is built into the module for use by user level module utilities. Note that if mode setting is enabled, user level drivers that access display registers directly or that don't use the kernel graphics memory manager will likely corrupt kernel graphics memory, disrupt output configuration (possibly leading to hangs and/or blank displays), and prevent panic/oops messages from appearing. So use caution when enabling this code; be sure your user level code supports the new interfaces. A new SysRq key, 'g', provides emergency support for switching back to the kernel's framebuffer console; which is useful for testing. Co-authors: Dave Airlie <airlied@linux.ie>, Hong Liu <hong.liu@intel.com> Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Jesse Barnes authored
Use the new core GEM object mapping code to allow GTT mapping of GEM objects on i915. The fault handler will make sure a fence register is allocated too, if the object in question is tiled. Signed-off-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 03 Nov, 2008 1 commit
-
-
Eric Anholt authored
This will let userland know when to submit its batchbuffers, before they get too big to fit in the aperture. Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 17 Oct, 2008 2 commits
-
-
Kristian Høgsberg authored
Signed-off-by:
Kristian Høgsberg <krh@redhat.com> Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Eric Anholt authored
GEM allows the creation of persistent buffer objects accessible by the graphics device through new ioctls for managing execution of commands on the device. The userland API is almost entirely driver-specific to ensure that any driver building on this model can easily map the interface to individual driver requirements. GEM is used by the 2d driver for managing its internal state allocations and will be used for pixmap storage to reduce memory consumption and enable zero-copy GLX_EXT_texture_from_pixmap, and in the 3d driver is used to enable GL_EXT_framebuffer_object and GL_ARB_pixel_buffer_object. Signed-off-by:
Eric Anholt <eric@anholt.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 14 Jul, 2008 1 commit
-
-
Dave Airlie authored
With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 07 May, 2008 1 commit
-
-
Dave Airlie authored
This reverts commit ac741ab7 . Okay this looks like wasn't as fully baked as I'd led myself to believe. Revert for now for further baking. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 26 Apr, 2008 1 commit
-
-
Jesse Barnes authored
Other Authors: Michel Dänzer <michel@tungstengraphics.com> mga: Ian Romanick <idr@us.ibm.com> via: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> This re-works the DRM internals to provide a better interface for drivers to expose vblank on multiple crtcs. It also includes work done by Michel on making i915 triple buffering and pageflipping work properly. Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 11 Jul, 2007 1 commit
-
-
Dave Airlie authored
This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 10 Jun, 2007 1 commit
-
-
Wang Zhenyu authored
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. Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 07 Dec, 2006 3 commits
-
-
=?utf-8?q?Michel_D=C3=A4nzer?= authored
Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
=?utf-8?q?Michel_D=C3=A4nzer?= authored
of pipe number. Handle relative as well as absolute target sequence numbers. Return error if target sequence has already passed, so userspace can deal with this situation as it sees fit. On success, return the sequence number of the vertical blank when the buffer swap is expected to take place. Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want to use ioctl() instead of drmCommandWriteRead(). Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
=?utf-8?q?Michel_D=C3=A4nzer?= authored
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. Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 21 Sep, 2006 1 commit
-
-
Alan Hourihane authored
This is a patch prepared by Guangdeng Liao based off of Tungsten Graphics's final code drop. From: Alan Hourihane <alanh@tungstengraphics.com> Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 24 Jun, 2006 1 commit
-
-
Dave Airlie authored
i915 vblanks can be generated from either pipe a or b, however a disabled pipe generates no interrupts. This change allows the X server to select which pipe generates vblank interrupts. From: Keith Packard <keith.packard@intel.com> via DRM CVS Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 25 Jan, 2006 1 commit
-
-
Dave Airlie authored
Fix CMDBUFFER path, add heap destroy and flesh out sarea for rotation (Tungsten Graphics) From: Alan Hourihane <alanh@tungstengraphics.com> Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 02 Jan, 2006 1 commit
-
-
Dave Airlie authored
Add support for vblank ioctls to i915 driver From: Dave Airlie <airlied@linux.ie> Signed-off-by:
Dave Airlie <airlied@linux.ie>
-
- 23 Jun, 2005 1 commit
-
-
Dave Airlie authored
From: Alan Hourihane Signed-off-by:
David Airlie <airlied@linux.ie>
-
- 16 Apr, 2005 1 commit
-
-
Linus Torvalds authored
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
-