Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-06-13 | [gem] Catch -EINTR from blocking ioctls and restart them. | Eric Anholt | |
Thanks to Thomas Hellstrom for catching the issue, no thanks to the kernel developer who authoritatively told me that they would get restarted on their own. | |||
2008-06-13 | [gem] Remove the interrupt handler for retiring requests. | Eric Anholt | |
This was insufficient once we started masking interrupts to only when someone was waiting for them (and would thus retire requests themselves). It was replaced by the retire_timer. | |||
2008-06-13 | [gem] Don't require the lock in execbuf now that it's not needed for the ring. | Eric Anholt | |
2008-06-12 | Bump libdrm version to 2.4.0. | Eric Anholt | |
We need a version to depend on from the other components that require GEM and the bufmgr code. Some interfaces will be removed before the 2.4.0 release. | |||
2008-06-12 | Don't clear USER_INTERRUPT if we're not handling it. | Eric Anholt | |
This fixes a regression from commit d434b64f6a760d85295e32298a9a1f3624ee1b69 which could cause us to fail to wake up for user interrupts if we lost a race. | |||
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-11 | Move the renaming of mm.c symbols to #defines in the header. | Eric Anholt | |
This reduces the diff from Mesa and reduces the illegibility of what I did. | |||
2008-06-11 | [gem] Another round of cleanups from checkpatch.pl | Eric 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-11 | Remove 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-10 | [intel] Fix BUG_ON trigger in irq masking if you did on/off with irqs disabled. | Eric Anholt | |
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-06 | [gem] Don't forget to munmap in the non-bo-reuse object-freeing case. | Eric Anholt | |
2008-06-06 | [intel] remove settable use_mi_batchbuffer_start | Keith 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] free the hardware status page at driver_unload | Keith Packard | |
This goes with the other hardware status page patch. | |||
2008-06-06 | [intel-gem] Add explicit throttle ioctl | Keith 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 | [libdrm/intel] Eliminate extra dri_gem_bo_bucket_entry structure | Keith Packard | |
Place the buffer reuse links right into the dri_bo_gem object. | |||
2008-06-06 | [libdrm/intel] Remove unused intel_validate_entry structure | Keith Packard | |
2008-06-06 | [libdrm/intel] Reuse entire dri_bo_gem structure | Keith Packard | |
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 | [intel] Allocate hardware status page at driver load time | Keith Packard | |
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 | Ignore X server provided mmio address | Keith Packard | |
2008-06-06 | [intel-gem] Dump error status on wait_request failure | Keith Packard | |
2008-06-05 | Add a function to bufmgr_fake to evict all buffers in the GTT. | Eric Anholt | |
This will be used by the X Server for VT switch. | |||
2008-06-03 | Drop struct_mutex while waiting in drm_client_lock_take | Keith Packard | |
struct_mutex cannot be held while blocking on DRM lock. | |||
2008-06-03 | Fix libdrm to actually include the new code instead of just building it. | Eric Anholt | |
2008-06-03 | Fix and hook up bufmgr code to the build. | Eric Anholt | |
2008-06-03 | Import bufmgr code to libdrm. Not yet hooked up to the build. | Eric Anholt | |
2008-06-02 | [intel-gem] reloc_and_validate_object → object_bind_and_relocate | Keith Packard | |
Just renaming this function and related parameters to match terminology used elsewhere in the driver. | |||
2008-06-02 | [intel-gem] Propagate set_domain errors. | Keith Packard | |
set_domain can block waiting for rendering to complete. If that process is interrupted by a signal, it can return -EINTR. Catch this error in all callers and correctly deal with the result. | |||
2008-05-30 | Merge commit 'origin/master' into drm-gem | Eric Anholt | |
Conflicts: linux-core/Makefile.kernel shared-core/i915_drv.h shared-core/nouveau_state.c | |||
2008-05-30 | [intel-gem] Only update obj->write_domain if we're actually changing it. | Eric Anholt | |
The problem was revealed where on 965, the display list vertex buffer would see: create -> (CPU, CPU) set_domain (CPU, CPU) -> (CPU, CPU) set_comain (CPU, 0) -> (CPU, 0) (no clflush occurred) execbuf (GPU, 0) -> (CPU+GPU, 0) (still no clflush) instead of: create -> (CPU, CPU) set_domain (CPU, CPU) -> (CPU, CPU) set_comain (CPU, 0) -> (CPU, CPU) execbuf (GPU, 0) -> (CPU+GPU, 0) (clflushed) | |||
2008-05-30 | [intel-gem] Add an option to check GTT versus CPU coherency at execbuf time. | Eric Anholt | |
2008-05-30 | r500: attempt to make AGP work by programming agp base in the MC correctly | Dave Airlie | |
2008-05-29 | [intel-gem] Write the presumed_offset back out after updating it. | Eric Anholt | |
Otherwise, 965 constant state buffers get re-relocated every exec. Ouch. | |||
2008-05-28 | [intel-gem] Clean up active/inactive/flushing list debugging. | Keith Packard | |
2008-05-28 | radeon: split microcode out into a separate header file. | Dave Airlie | |
2008-05-27 | [intel-gem] Replace idlelock usage with real lock acquisition. | Eric Anholt | |
2008-05-28 | i915: fix BSD bh, DRI2 not uses anywhere else | Dave Airlie | |
2008-05-28 | radeon: bump release date/version for r500 3D support | Dave Airlie | |
2008-05-27 | RADEON: add get_param for number of GB pipes | Alex Deucher | |
2008-05-27 | [BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing. | Owain Ainsworth | |
Also remove an unreachable unlock. | |||
2008-05-27 | [BSD] Fix lock leak in drm_update_draw malloc failure path. | Owain Ainsworth | |
2008-05-27 | [BSD] Fix lock leaks in error paths in drm_bufs.c. | Owain Ainsworth | |
2008-05-27 | [BSD] Remove superfluous recursive locking in drm_add_magic. | Owain Ainsworth | |
2008-05-27 | [i915] Fix typo in (unused) START_ADDR definition. | Jie Luo | |
2008-05-27 | [FreeBSD] Add vblank-rework support and get drivers building. | Robert Noland | |
The i915 driver now works again. | |||
2008-05-27 | [FreeBSD] Convert from drm_device_t to struct drm_device for consistency. | Eric Anholt | |
2008-05-26 | [intel-gem] Must hold DRM lock while setting object domain | Keith Packard | |
Object domain transfer can involve adding flush ops to the request queue, and so the DRM lock must be held to avoid having the X server smash pointers badly. |