summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-06-22Fix vblank wait condition.Michel Dänzer
Sync-to-vblank actually works again for me with radeon.
2007-06-22Use drm_calloc instead of assigning 0.Michel Dänzer
2007-06-22drm_modeset_ctl_t fixes.Michel Dänzer
s/u64/drm_u64_t/ to allow userspace code using drm.h to compile. Move 64 bit arg member to the beginning to avoid alignment issues with 32 bit userspace on 64 bit kernels.
2007-06-22Remove mask parameter from radeon_acknowledge_irqs().Michel Dänzer
Simply always acknowledge all interrupts we're interested in, to avoid hard hangs when an unexpected interrupt is flagged.
2007-06-21Merge branch 'vblank-rework' into vblankJesse Barnes
2007-06-21RADEON: fix race in vblank interrupt handlingJesse Barnes
It's possible that we disable vblank interrupts and clear the corresponding flag in irq_enable_reg, but receive an interrupt at just the wrong time, causing us to not ack it properly, nor report to the core kernel that it was handled. Fix that case by always handling vblank interrupts, even if the irq_enable_reg field is clear.
2007-06-21r300: Synchronized the register defines file; documentation changes.Oliver McFadden
2007-06-21r300: Allow writes to R300_VAP_PVS_WAITIDLE.Oliver McFadden
2007-06-18Remove broken CRTC enable checks and incorrect user irq enable in set_pipeJesse Barnes
routine.
2007-06-18radeon: VBlank rework fixups.Michel Dänzer
Fix range of frame counter registers. Use DRM_ERR() instead of Linux specific error codes in shared code. Remove duplicate register definitions and superfluous local variables.
2007-06-18r300: Registers 0x2220-0x2230 are known as R300_VAP_CLIP_X_0-R300_VAP_CLIP_Y_1.Oliver McFadden
2007-06-18r300: Synchronized the register defines file again.Oliver McFadden
2007-06-18fix radeon setparam on 32/64 systems, harder.David Woodhouse
Commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 introduced a compat_ioctl handler for RADEON_SETPARAM, the sole purpose of which was to handle the fact that on i386, alignof(uint64_t)==4. Unfortunately, this handler was installed for _all_ 64-bit architectures, instead of only x86_64 and ia64. And thus it breaks 32-bit compatibility on every other arch, where 64-bit integers are aligned to 8 bytes in 32-bit mode just the same as in 64-bit mode. Arnd has a cunning plan to use 'compat_u64' with appropriate alignment attributes according to the 32-bit ABI, but for now let's just make the compat_radeon_cp_setparam routine entirely disappear on 64-bit machines whose 32-bit compat support isn't for i386. It would be a no-op with compat_u64 anyway. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-06-15Remove broken crtc enable checks, radeon does it slightly differentlyJesse Barnes
(this makes get_vblank_counter return an actual value).
2007-06-15First cut at radeon support for the vblank rework.Jesse Barnes
2007-06-15i915: Fix handling of breadcrumb counter wraparounds.Michel Dänzer
2007-06-15Remove DRIVER_IRQ_VBL(2).Michel Dänzer
If the driver doesn't support vertical blank interrupts, it won't call drm_vblank_init(), and dev->num_crtcs will be 0. Also fix an off-by-one test against dev->num_crtcs.
2007-06-15Make vblank waitqueue per CRTC.Michel Dänzer
2007-06-15Fix i915 sequence mask.Thomas Hellstrom
2007-06-15Indentation fixes.Thomas Hellstrom
2007-06-15Fix refcounting / lock race.Thomas Hellstrom
Reported by Steve Wilkins / Michel Dänzer.
2007-06-15Locking fixes and instrumentation.Thomas Hellstrom
2007-06-15Wake up vblank waitqueue in drm_handle_vblank().Michel Dänzer
2007-06-15i915: Fix tests for vblank interrupts being enabled on CRTC by X server.Michel Dänzer
2007-06-15Return current sequence number to userspace after blocking wait for vblank.Michel Dänzer
2007-06-15Fix memory leaks in vblank error paths.Michel Dänzer
Also use drm_calloc instead of drm_alloc and memset, and use the size of the struct instead of the size of the pointer for allocation...
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-13Fix drmMMUnlock / drmMMLock return values.Thomas Hellstrom
2007-06-13Make sure we read fence->signaled while spinlocked.Thomas Hellstrom
2007-06-13Fix fence object deref race.Thomas Hellstrom
2007-06-12Remove unnecessary (and uncommented!) read barrier from the interruptJesse Barnes
path. It doesn't appear to serve any useful purpose.
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-12Fix some obvious bugs.Thomas Hellstrom
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-10use krh's idr mods to remove lists from idr codeDave Airlie
2007-06-08r300: Added the CP maximum fetch size and ring rptr update variables.Oliver McFadden
2007-06-07oops must fix this properly at some pointDave Airlie
2007-06-07drm: fix radeon setparam alignment issues on 32/64-bitDave Airlie
2007-06-05r300: Small correction to the previous commit.Oliver McFadden
2007-06-05r300: Document more of the RADEON_RBBM_STATUS register.Alex Deucher
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-06-05remove include of linux ioctl32.h from drm driversDave Airlie
2007-06-04nouveau: fix RAMHT wrappingMaurice van der Pot
2007-06-03radeon: refine irq acking for vbl on crtc 2Dave Airlie
2007-06-03Revert "drm: add new drm_wait_on function to replace macro"root
This reverts commit 6e860d08d0f5b1e9a2d711aaf9fd6b982aa8039e. As I said not a good plan - this macro will have to stay for now, trying to do the vbl code with the inline was a bit messy - may need specialised drm wait on functions
2007-06-03Revert "move i915 to new drm_wait_on function"root
This reverts commit feb68037784ac09e333a321d294fdb2d8c57a4c8. This was a bad idea, the macro is actually a bit harder to convert to a static for the other use cases
2007-06-03radeon: add support for vblank on crtc2Dave Airlie
This add support for CRTC2 vblank on radeon similiar to the i915 support
2007-06-01drm: fixup initialisation of list heads and idrDave Airlie
2007-05-31i915: Add support for 945GME chipWang Zhenyu