summaryrefslogtreecommitdiff
path: root/linux-core
AgeCommit message (Collapse)Author
2008-06-13[intel-gem] throttle based on frames rather than time. Reduces jitter.Keith Packard
Record the last execbuffer sequence for each client. Record that sequence in the throttle ioctl as the 'throttle sequence'. Wait for the last throttle sequence in the throttle ioctl.
2008-06-13[intel-gem] evict_something was failing when wait_request freed objectsKeith Packard
When i915_wait_request clears object from the active list, it may end up freeing them and not moving them to the inactive list. This ends up unbinding objects from the GTT without there ever being new objects visible to i915_gem_evict_something on the inactive list. As the only success condition required the presence of objects on the inactive list, this would falsely assume that no GTT space had been made available, and end up returning -ENOMEM to the application.
2008-06-13[intel] Enable MSI for i915 IRQKeith Packard
2008-06-13[intel-gem] Use a delayed_work instead of a timer + work_structKeith Packard
We want request retirement to occur about once a second when the request queue is non-empty. This was done with a timer that queued a work_struct, using a delayed_work instead makes a lot more sense.
2008-06-13[intel-gem] Reorder i915_add_request to schedule work lastKeith Packard
i915_add_request was calling schedule_delayed_work before adding the request to the list; it makes more sense to do that last.
2008-06-13Use /bin/pwd instead of trusting shell built-inKeith Packard
2008-06-13[gem] Don't require the lock in execbuf now that it's not needed for the ring.Eric Anholt
2008-06-11[gem] Remove the drm_client_lock_take in set_domain.Eric Anholt
We no longer need to use it to protect against shared ringbuffer access.
2008-06-11Use GEM in modesettingJesse Barnes
Use GEM for ring buffer setup and framebuffer allocation. This means reworking the hardware status page stuff a bit (just use the basic range allocator for vram for now) and #ifdef'ing out the TTM & DRI2 code. Works well enough to load/unload several times and display fbcon on my T61 (though there's still some unexplained console corruption).
2008-06-11[gem] Another round of cleanups from checkpatch.plEric Anholt
2008-06-11[gem] Move potentially device-specific ioctls to the intel driver.Eric Anholt
This is the create (may want location flags), pread/pwrite/mmap (performance tuning hints), and set_domain (will 32 bits be enough for everyone?) ioctls. Left in the generic set are just flink/open/close. The 2D driver must be updated for this change, and API but not ABI is broken for 3D. The driver version is bumped to mark this.
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
They are not unnecessary since the kernel's the only thing touching the ring.
2008-06-11Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
Use new GEM based ring buffer initialization. Still need to init GEM & use it for framebuffer allocation etc. Conflicts: shared-core/i915_dma.c shared-core/i915_drv.h
2008-06-10[gem] Manage the ringbuffer from the kernel in the GEM case.Eric Anholt
This requires that the X Server use the execbuf interface for buffer submission, as it no longer has direct access to the ring. This is therefore a flag day for the gem interface. This also adds enter/leavevt ioctls for use by the X Server. These would get stubbed out in a modesetting implementation, but are required while in an environment where the device's state is only managed by the DRM while X has the VT.
2008-06-10Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
Passed the compile test; it's ready to ship. Conflicts: libdrm/Makefile.am linux-core/Makefile.kernel linux-core/drmP.h linux-core/drm_memrange.c linux-core/drm_stub.c shared-core/drm.h shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-06-09Add EDID quirk handlingJesse Barnes
Port over EDID quirks from X.Org so we can handle more monitors. This meant adding size info to the drm_display_mode struct, but other than that the changes were isolated to the DRM EDID handling code (as they should be).
2008-06-06[intel] remove settable use_mi_batchbuffer_startKeith Packard
The driver can know what hardware requires MI_BATCH_BUFFER vs MI_BATCH_BUFFER_START; there's no reason to let user mode configure this.
2008-06-06[intel-gem] Use timers to retire requests periodically.Keith Packard
Without the user IRQ running constantly, there's no wakeup when the ring empties to go retire requests and free buffers. Use a 1 second timer to make that happen more often.
2008-06-06[intel-gem] Add explicit throttle ioctlKeith Packard
Instead of throttling and execbuffer time, have the application ask to throttle explicitly. This allows the throttle to happen less often, and without holding the DRM lock.
2008-06-06[intel-gem] Dump error status on wait_request failureKeith Packard
2008-06-06drm: fix up fb resize againDave Airlie
2008-06-06intel: don't set the mode on the framebuffer if isn't set to scanout our ↵Dave Airlie
framebuffer
2008-06-06Merge remote branch 'origin/modesetting-101' into modesetting-101-fbDave Airlie
2008-06-06intelfb: add multi fb pathsDave Airlie
2008-06-06intelfb: remove duplicate defineDave Airlie
2008-06-06intelfb: admit fbdev is crap and punt on trying to resize to a larger fbdev.Dave Airlie
2008-06-06intelfb: move mode sets into the intel crtcsDave Airlie
better place to store them.
2008-06-06drm/intel: make hotplug just be an eventDave Airlie
2008-06-06intel: if no spare crtc exists don't just take one.Dave Airlie
2008-06-05sysfs registration/teardown fixupsJesse Barnes
A check in drm_sysfs_connector_remove was supposed to allow it to be called even with unregistered objects, to make cleanup paths a little simpler. However, device_is_regsitered didn't always seem to return what we thought it would, so we'd sometimes end up leaving objects lying around rather than unregistering them. Fix this situation up by requiring devices to be registered before being removed. Any problems resulting from this change should be easier to track down than the alternative (which is leaving kobjects registered after unload).
2008-06-05drm/modeset: add more debugging and fixup some fb enable/disabe bitsDave Airlie
2008-06-05drm/modesetting: more fb interface cleanupsDave Airlie
2008-06-05drm/modesetting: attempt to make fb code more saneDave Airlie
2008-06-05drm: modesetting unify the hotplug init paths a lot.Dave Airlie
remove fb callbacks, just probe into the driver to sort it out
2008-06-05modesetting: fix fb clearing upDave Airlie
2008-06-05modesetting: use surface width height for buffer allocsDave Airlie
2008-06-05modesetting: add surface width/heightsDave Airlie
2008-06-05modesetting: initial attempt at debonging fbDave Airlie
2008-06-04i915: use kzalloc to allocate intel_output for lvdsJesse Barnes
Better to initialize all the struct fields to 0. Also more consistent with other output init routines.
2008-06-04Fix crash in drm_mode_connector_update_edid_propertyJesse Barnes
We need to initialize the edid_blob_ptr to NULL when we init a connector, otherwise drm_mode_connector_update_edid_property may think there's a valid EDID lying around and try to destroy it, causing a crash.
2008-06-04drm: fix hotplug oopsDave Airlie
2008-06-04intel: report a known connectorDave Airlie
2008-06-03Drop struct_mutex while waiting in drm_client_lock_takeKeith Packard
struct_mutex cannot be held while blocking on DRM lock.
2008-06-04drm: introduce generation counter to interface.Dave Airlie
Idea being if you want to add new crtc/output/encoder dynamically later, you just increase the generation counter and userspace should re-read all the resources
2008-06-04drm/sysfs: don't try an unregister if not registeredDave Airlie
2008-06-04intel: use kzallocDave Airlie
2008-06-04drm/modesetting: bo not used anymoreDave Airlie
2008-06-04drm: remove sysfs in driver for now.. should probably be in helperDave Airlie
2008-06-04drm/modesetting: pass object handle to driver !boDave Airlie