Commit Graph

3233 Commits (132ba667f4a88bb182e2d2abc7c4e60699398380)

Author SHA1 Message Date
Dave Airlie 0fbee62ec1 major port of multi-master ideas into modesetting 2008-02-13 15:19:42 +10:00
Dave Airlie db85ed25af Revert "After the previous revert fix libdrm to start at minor 1"
This reverts commit f51dc37d75.

Conflicts:

	tests/modedemo/demo.c
2008-02-13 12:20:02 +10:00
Dave Airlie f276c845bd drm: re-write minor number allocation to use an idr.
Fixup the minor number allocation scheme to use an idr and move the control
nodes up higher.
2008-02-13 12:12:52 +10:00
Jerome Glisse 04257f1a5a radeon_ms: bring radeon_ms up to date with lastest changes 2008-02-09 18:23:35 +01:00
Jesse Barnes d63b57749f Restore pipeconf regs unconditionally
On many chipsets, the checks for DPLL enable or VGA mode will prevent the
pipeconf regs from being restored, which could result in a blank display or X
failing to come back after resume.  So restore them unconditionally along with
actually restoring pipe B's palette correctly.
2008-02-07 17:33:28 -08:00
Jakob Bornecrantz db2a1a223b Added you can now clone displays in modedemo 2008-02-07 23:49:07 +01:00
Alan Hourihane f51dc37d75 After the previous revert fix libdrm to start at minor 1
and fixup the demos
2008-02-07 22:21:50 +00:00
Alan Hourihane fe83c06861 Revert "DRM_CONTROL_ALLOW logic was reversed"
This reverts commit 7af1bb874d.
2008-02-07 21:18:37 +00:00
Jesse Barnes 6f19473191 Fix saveGR array size
Make sure we have enough room for all the GR registers or we'll end up
clobbering the AR index register (which should actually be harmless
unless the BIOS is making an assumption about it).
2008-02-07 11:21:09 -08:00
Jesse Barnes 8b6c96dedd i915: save/restore interrupt state
On resume, if the interrupt state isn't restored correctly, we may end
up with a flood of unexpected or ill-timed interrupts, which could cause
the kernel to disable the interrupt or vblank events to happen at the
wrong time.  So save/restore them properly.
2008-02-07 10:48:08 -08:00
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