summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-07-06radeon: Improve vblank counter.Michel Dänzer
The frame counter seems to increase only at the end of vertical blank, so we need to add 1 while in vertical blank.
2007-06-22Merge branch 'vblank-rework' into vblankJesse Barnes
2007-06-22more vblank reworkJesse Barnes
- use a timer for disabling vblank events to avoid enable/disable calls too often - make i915 work with pre-965 chips again (would like to structure this better, but this hack works on my test system)
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-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-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-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-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-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-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
2007-05-31i915: Add support for 965GME/GLE chip.Wang Zhenyu
2007-05-29Update a bunch of FreeBSD port code.Jung-uk Kim
Tested on r200/r300. i915 updates still remain to be done.
2007-05-29reformatting, clean-upsBrian
2007-05-29Clean-ups and reformatting.Brian
Use 4-space indentation consistently. Replace occurances of: if (cond) code; with: if (cond) code; to facilitate putting breakpoints on code.
2007-05-27drm: move context handling code to use linux idrDave Airlie
2007-05-27drm: convert drawable handling to use Linux idrDave Airlie
This cleans this code up a lot and uses the generic Linux idr which is designed for this. Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-26drm: spinlock initializer cleanupThomas Gleixner
2007-05-26drm: make sure the drawable code doesn't call malloc(0).Michel Dänzer
Signed-off-by: Michel Dänzer <michel@tungstengraphics.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-05-26radeon: add other IGP chipsetsDave Airlie
2007-05-26Revert "drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls."Dave Airlie
This reverts commit 3fdef0dc2000308b16907b95f637c60acde80a74. ditto not on master yet
2007-05-26Revert "drm/ttm: cleanup most of fence ioctl split out"Dave Airlie
This reverts commit 3dfc1400e9fc58c69292d7cf7c2e1653fa5e6991. this shouldn't have gone on master yet
2007-05-26whitespace fixups from kernelDave Airlie