Commit Graph

4075 Commits (840c9a305481ed59820bbd87fbcf78dd242d5702)

Author SHA1 Message Date
Keith Packard 56a96841d0 [intel-gem] Add explicit throttle ioctl
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 13:00:46 -07:00
Keith Packard 329e086225 [libdrm/intel] Eliminate extra dri_gem_bo_bucket_entry structure
Place the buffer reuse links right into the dri_bo_gem object.
2008-06-06 13:00:46 -07:00
Keith Packard 5a55b48a41 [libdrm/intel] Remove unused intel_validate_entry structure 2008-06-06 13:00:46 -07:00
Keith Packard a919ff5d5e [libdrm/intel] Reuse entire dri_bo_gem structure
The code was discarding the dri_bo_gem structure and saving only the kernel
handle. This lost the mmap address, causing pain when the next buffer user
wanted to map the buffer.
2008-06-06 13:00:46 -07:00
Keith Packard 5f5badb26f [intel] Allocate hardware status page at driver load time
I couldn't get the re-allocated HWS to work on my 965GM, so I just gave up
and made it persist across the lifetime of the driver instead.
2008-06-06 13:00:46 -07:00
Keith Packard 84162ccb7d Ignore X server provided mmio address 2008-06-06 13:00:46 -07:00
Keith Packard 118baeee18 [intel-gem] Dump error status on wait_request failure 2008-06-06 13:00:46 -07:00
Dave Airlie 6d4ffd12cd drm: fix up fb resize again 2008-06-06 16:24:27 +10:00
Dave Airlie 00bb548c61 intel: don't set the mode on the framebuffer if isn't set to scanout our framebuffer 2008-06-06 15:38:53 +10:00
Dave Airlie ec774e4d72 Merge remote branch 'origin/modesetting-101' into modesetting-101-fb 2008-06-06 15:21:57 +10:00
Dave Airlie be501f00a3 intelfb: add multi fb paths 2008-06-06 15:21:22 +10:00
Dave Airlie e6a3a1fdad intelfb: remove duplicate define 2008-06-06 14:55:03 +10:00
Dave Airlie fc08877b17 intelfb: admit fbdev is crap and punt on trying to resize to a larger fbdev. 2008-06-06 14:53:34 +10:00
Dave Airlie 8387a232a3 intelfb: move mode sets into the intel crtcs
better place to store them.
2008-06-06 12:02:51 +10:00
Dave Airlie 25c1bb334f drm/intel: make hotplug just be an event 2008-06-06 10:39:58 +10:00
Dave Airlie 5f94172f81 intel: if no spare crtc exists don't just take one. 2008-06-06 10:31:36 +10:00
Jesse Barnes 03bf1fba67 sysfs registration/teardown fixups
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-05 15:58:43 -07:00
Dennis Kasprzyk 6905c7a29d radeon: Restore software interrupt on resume.
Fixes performance drop after suspend/resume on some systems.
2008-06-05 18:23:37 +02:00
Eric Anholt d198e9b091 Add a function to bufmgr_fake to evict all buffers in the GTT.
This will be used by the X Server for VT switch.
2008-06-05 08:45:39 -07:00
Dave Airlie d9ead89c79 drm/modeset: add more debugging and fixup some fb enable/disabe bits 2008-06-05 16:32:41 +10:00
Dave Airlie b31adb005a drm/modesetting: more fb interface cleanups 2008-06-05 15:55:03 +10:00
Dave Airlie efcf066eff drm/modesetting: attempt to make fb code more sane 2008-06-05 15:21:07 +10:00
Dave Airlie f73e54bbf0 drm: modesetting unify the hotplug init paths a lot.
remove fb callbacks, just probe into the driver to sort it out
2008-06-05 13:40:08 +10:00
Dave Airlie 56a1293184 modesetting: fix fb clearing up 2008-06-05 11:43:48 +10:00
Dave Airlie 1495dd31d6 modesetting: use surface width height for buffer allocs 2008-06-05 11:24:57 +10:00
Dave Airlie 1d980669e6 modesetting: add surface width/heights 2008-06-05 11:20:52 +10:00
Dave Airlie 967bd21911 modesetting: initial attempt at debonging fb 2008-06-05 11:11:22 +10:00
Jesse Barnes e90716671d i915: use kzalloc to allocate intel_output for lvds
Better to initialize all the struct fields to 0.  Also more consistent with
other output init routines.
2008-06-04 12:50:03 -07:00
Jesse Barnes 52183fb05b Fix crash in drm_mode_connector_update_edid_property
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-04 09:38:44 -07:00
Dave Airlie cf1964f971 drm: fix hotplug oops 2008-06-04 15:17:13 +10:00
Dave Airlie a8725d95bc intel: report a known connector 2008-06-04 15:17:00 +10:00
Keith Packard 0903de0c8f Drop struct_mutex while waiting in drm_client_lock_take
struct_mutex cannot be held while blocking on DRM lock.
2008-06-03 21:49:57 -07:00
Dave Airlie 9390bdab7c libdrm: shouldn't rely on this 2008-06-04 13:53:33 +10:00
Dave Airlie 382aa3ceeb drm: introduce generation counter to interface.
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-04 13:50:51 +10:00
Dave Airlie 9f31bd09c1 drm/sysfs: don't try an unregister if not registered 2008-06-04 13:16:49 +10:00
Dave Airlie 8e4c61e526 intel: use kzalloc 2008-06-04 13:09:20 +10:00
Dave Airlie 8690ad8ae0 drm/modesetting: bo not used anymore 2008-06-04 13:09:05 +10:00
Dave Airlie 58aca7485a drm: remove sysfs in driver for now.. should probably be in helper 2008-06-04 13:03:23 +10:00
Dave Airlie fd27591c6c drm/modesetting: pass object handle to driver !bo 2008-06-04 13:00:31 +10:00
Dave Airlie 76a44f14d6 drm/modesetting: overhaul the fb create/delete.
Move TTM code into the driver
2008-06-04 11:59:28 +10:00
Dave Airlie 40229b6ad5 drm: make mode comparison more betterer.
This compares the clocks after converting to fb pico timings so we
get the same answer if the X and fb modes are the same.
2008-06-04 10:36:58 +10:00
Eric Anholt 8a3b510405 Fix libdrm to actually include the new code instead of just building it. 2008-06-03 14:44:53 -07:00
Eric Anholt c4857429c7 Fix and hook up bufmgr code to the build. 2008-06-03 14:44:53 -07:00
Eric Anholt 6a9eb08a87 Import bufmgr code to libdrm. Not yet hooked up to the build. 2008-06-03 14:44:53 -07:00
Michel Dänzer ba7263b8c2 vblank: Don't wait or update the counter while the CRTC is supposedly disabled.
Without kernel modesetting, this requires cooperation of the userspace
modesetting driver. We may have to leave the vblank interrupt enabled otherwise
to avoid problems.
2008-06-03 11:28:10 +02:00
Michel Dänzer 237172b767 vblank: Clean up compensation for spurious wraparounds of driver counter.
Only compensate when the driver counter actually appears to have moved
backwards.

The compensation deltas need to be incremental instead of absolute; drop the
vblank_offset field and just use atomic_sub().
2008-06-03 11:28:10 +02:00
Michel Dänzer d1dcb2b32e vblank: Special-case driver vblank counter going back by 1.
Turns out the radeon driver is affected by the same problem that prompted i915
to revert to less useful counter flipping at the end of the vblank interval. In
the long term, we can hopefully implement more reliable methods to achieve
counter flipping at the beginning of vblank, but otherwise this should be an
acceptable workaround.
2008-06-03 11:28:09 +02:00
Michel Dänzer 0144ebeb8a vblank: Don't return current sequence number and time if interrupted by signal. 2008-06-03 11:28:09 +02:00
Michel Dänzer 6b520005c6 Revert "don't copy back if an error was returned."
This reverts commit 6671ad1917.

The vblank ioctl needs to update the userspace parameters when interrupted by
a signal, which was prevented by this. Let's see if this breaks other ioctls...
2008-06-03 11:27:39 +02:00
Dave Airlie d5ae19ebcf drm: sg alloc should write back the handle to userspace 2008-06-03 12:44:06 +10:00