Jesse Barnes
79d6928520
Fix vblank enable/disable callbacks
...
There were two problems with the existing callback code: the vblank
enable callback happened multiple times per disable, making drivers more
complex than they had to be, and there was a race between the final
decrement of the vblank usage counter and the next enable call, which
could have resulted in a put->schedule disable->get->enable->disable
sequence, which would be bad.
So add a new vblank_enabled array to track vblank enable on per-pipe
basis, and add a lock to protect it along with the refcount +
enable/disable calls to fix the race.
2008-02-07 10:40:06 -08:00
Jakob Bornecrantz
2ceafcccb7
Wrong open call
2008-02-07 19:32:20 +01:00
Jakob Bornecrantz
c8b45e9362
Added userspace part of hotplug ioctl and demo
2008-02-07 19:25:52 +01:00
Jakob Bornecrantz
0618ac8a07
Added kernel part of hotplug ioctl
2008-02-07 19:24:58 +01:00
Jakob Bornecrantz
34b76e0fac
Added hotplug ioctl
2008-02-07 19:23:27 +01:00
Jakob Bornecrantz
87d5f9cb2d
Small update to modedemo
2008-02-07 19:22:38 +01:00
Alan Hourihane
516c7a7b28
update app to cycle through 4 fbdev's
2008-02-05 15:30:28 +00:00
Alan Hourihane
127cb1ff9a
tweak it
2008-02-05 15:24:29 +00:00
Alan Hourihane
936e32b08c
make modefb/modedemo match each others test output.
2008-02-05 15:18:05 +00:00
Alan Hourihane
5997e10ca7
consistency
2008-02-05 15:15:13 +00:00
Alan Hourihane
7af1bb874d
DRM_CONTROL_ALLOW logic was reversed
2008-02-05 15:12:46 +00:00
Alan Hourihane
53937a189f
build fix for older kernels
2008-02-05 10:12:21 +00:00
Alan Hourihane
de0084590b
fix some warnings
2008-02-05 10:11:46 +00:00
Alan Hourihane
5e81a40f3b
build fix for older kernels
2008-02-05 10:11:24 +00:00
Alan Hourihane
f2c706e247
Fix function declaration
2008-02-05 10:11:01 +00:00
Alan Hourihane
7cc825f594
Add missing round_jiffies_relative() for older kernels
2008-02-05 10:10:36 +00:00
Thomas Hellstrom
76748efae2
i915: Re-report breadcrumbs on poll to the fence manager,
...
since a breadcrumb may actually turn up before a corresponding fence object
has been placed on the fence ring.
2008-02-05 10:36:49 +01:00
Alan Hourihane
c9772f8c03
consistency
2008-02-05 09:28:51 +00:00
Alan Hourihane
709aa46293
Remove duplicate
2008-02-05 09:28:32 +00:00
Jakob Bornecrantz
d8bbd02a60
Modedemo now uses two crtc and output pairs
2008-02-04 20:51:59 +01:00
Stuart Bennett
a0781e7622
nouveau: make nv34 work every time, not just every 2nd time
...
And make nv30_graph_init a bit more like mmio-traces
2008-02-04 16:38:31 +00:00
Maarten Maathuis
733e07663e
nouveau: NV40 can/should now be able to run after the blob.
...
- Moved the fix from the ddx to drm, because it seemed more appropriate.
- Don't be shy, report if it works for you or not.
2008-02-02 12:46:47 +01:00
Thomas Hellstrom
c77b0937f2
Add an fence_class_manager::last_queued_sequence member, since a
...
sequence number may actually turn up before the corresponding fence
object has been queued on the ring.
Fence drivers can use this member to determine whether a
sequence number must be re-reported.
2008-01-31 14:11:12 +01:00
Thomas Hellstrom
47ee6237fe
i915: Avoid calling drm_fence_flush_old excessively.
2008-01-30 22:14:02 +01:00
Thomas Hellstrom
f1edb7ad91
Simplify the fencing code and differentiate between flushes and
...
waiting types.
Add a "command_stream_barrier" method to the bo driver.
2008-01-30 22:06:02 +01:00
Jakob Bornecrantz
abed099558
Fix for cursor off
2008-01-30 16:16:10 +01:00
Jakob Bornecrantz
841ef9eb8d
ModeFB demo now display cursor
2008-01-30 15:47:26 +01:00
Ben Skeggs
9a7e45858d
nv40: some more nv67 changes
...
With some luck the drm-side will be OK now for this chipset.
2008-01-30 11:50:17 +11:00
Mirko
0744cb153a
Add new RV380 pci id
...
bug 14289
2008-01-29 10:11:27 -05:00
Jesse Barnes
01f6afcfea
Fix hibernate save/restore of VGA attribute regs
...
In hibernate, we may end up calling the VGA save regs function twice, so we
need to make sure it's idempotent. That means leaving ARX in index mode after
the first save operation. Fixes hibernate on 965.
2008-01-28 21:05:22 -08:00
Jakob Bornecrantz
b9b6f9234d
Misc panning fixes for intel_fb
2008-01-28 22:06:09 +01:00
Jakob Bornecrantz
a2254c5a96
Added cursor support
2008-01-28 03:14:56 +01:00
Maciej Cencora
b8755ff7c3
drm: add initial rs690 support for drm.
...
This adds support for configuring the RS690 GART.
2008-01-27 12:50:31 +10:00
George Sapountzis
6bfb9b639a
mach64: fix after vblank-rework
...
don't disable vblank interrupts (similar to r128)
2008-01-25 16:54:29 +02:00
Dave Airlie
98361cf28c
if irq already enabled well just keep trucking
2008-01-25 16:34:05 +10:00
Dave Airlie
fa7b779c91
don't reinit ring if already initialised
2008-01-25 16:32:09 +10:00
Dave Airlie
e7a41d7f5b
Merge remote branch 'origin/master' into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_drv.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/radeon_irq.c
2008-01-25 15:27:53 +10:00
Jesse Barnes
bfdddd218e
Fixup modeset ioctl number & typedef usage
...
Should be 0x08 rather than 0xa0, and shouldn't use typedefs.
2008-01-24 21:13:33 -08:00
Eric Anholt
e3c42f0004
Merge commit 'airlied/i915-ttm-cfu'
...
This requires updated Mesa to handle the new relocation format.
2008-01-24 12:44:19 -08:00
Jesse Barnes
c7ee6cc269
Remove broken 'in vblank' accounting
...
We need to return an accurate vblank count to the callers of
->get_vblank_counter, and in the Intel case the actual frame count
register isn't udpated until the next active line is displayed, so we
need to return one more than the frame count register if we're currently
in a vblank period.
However, none of the various ways of doing this is working yet, so
disable the logic for now. This may result in a few missed events, but
should fix the hangs some people have seen due to the current code
tripping the wraparound logic in drm_update_vblank_count.
2008-01-24 08:57:04 -08:00
Dave Airlie
5b99306452
i915: fix missing header when copying data from userspace
2008-01-24 15:18:09 +10:00
Dave Airlie
34b71eb451
i915 make relocs use copy from user
...
Switch relocs to using copy from user and remove index and pass buffer
handles in instead.
2008-01-24 14:37:40 +10:00
Jesse Barnes
b5a34f5da5
Fix thinko in get_vblank_counter
...
Should use vtotal not htotal to figure out if we're in a vblank period.
2008-01-23 08:39:57 -08:00
Jesse Barnes
cb91784371
Fix IS_I915G macro
...
One to many parantheses...
2008-01-23 08:38:01 -08:00
Maarten Maathuis
7c726086dd
nouveau: Fix warning in nouveau_mem.c
2008-01-23 16:40:19 +01:00
Dave Airlie
c57f43e3a2
i915/flush: get the ret the right way around
2008-01-23 16:45:09 +10:00
Dave Airlie
2f19fe4498
drm/i915: add support for E7221
2008-01-23 16:44:51 +10:00
Jesse Barnes
531f25cfe9
Correct vblank count value
...
The frame count registers don't increment until the start of the next
frame, so make sure we return an incremented count if called during the
actual vblank period.
2008-01-22 15:16:01 -08:00
Jesse Barnes
893e311999
i915 irq fixes
...
Ack the IRQs correctly (PIPExSTAT first followed by IIR). Don't read
vblank counter registers on disabled pipes (might hang otherwise). And
deal with flipped pipe/plane mappings if present.
2008-01-22 13:11:29 -08:00
Jesse Barnes
0cd4cbc9a6
Merge branch 'master' into vblank-rework, including mach64 support
...
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/mga_irq.c
shared-core/radeon_irq.c
shared-core/via_irq.c
Mostly trivial conflicts.
mach64 support from Mathieu Bérard.
2008-01-22 09:42:37 -08:00