Eric Anholt
2150da5d1a
[gem] Manage the ringbuffer from the kernel in the GEM case.
...
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-10 22:57:07 -07:00
Ian Romanick
b535567ee9
xgixp: Remove dependency on TTM fences
2008-06-10 22:18:14 -07:00
Jesse Barnes
a1d9600724
Merge commit 'origin/drm-gem' into modesetting-gem
...
Passed the compile test; it's ready to ship.
Conflicts:
libdrm/Makefile.am
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_memrange.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-06-10 17:31:54 -07:00
Ian Romanick
4f3da2f200
xgi: Fix 64-bit kernel / 32-bit user issue.
2008-06-10 11:29:15 -07:00
Dave Airlie
cdd0cb0ab3
ati_pcigart: split out the page insert function
2008-06-10 16:27:50 +10:00
Jesse Barnes
c987e76d95
Add EDID quirk handling
...
Port over EDID quirks from X.Org so we can handle more monitors. This meant
adding size info to the drm_display_mode struct, but other than that the
changes were isolated to the DRM EDID handling code (as they should be).
2008-06-09 16:20:45 -07:00
Alex Deucher
4b8aecbde8
RADEON: Add untested support for RS400 chips
...
GART setup appears to work the same as RS480 chips.
Also RC4xx chips are actually RS400 based, not RS480 based.
2008-06-09 16:58:06 -04:00
Alex Deucher
f6982b54c9
RADEON: switch IGP gart to use radeon_write_agp_base()
2008-06-09 16:28:35 -04:00
Robert Noland
63eb58040d
Fix typo in i915_suspend
...
Reported by vehemens
2008-06-08 23:46:14 -04:00
Robert Noland
116870a908
I915 suspend/resume for FreeBSD
2008-06-08 13:56:14 -04:00
Dave Airlie
d43f3cb097
r300/r500: add hier-z regs
2008-06-09 05:32:41 +10:00
Robert Noland
3b6ca4bf3f
[FreeBSD] Rework ati_pcigart.c
...
This is mostly just a diff reduction with the linux version.
I'm not convinced that it will make anything better.
2008-06-08 02:00:48 -04:00
Robert Noland
96141bd33c
[FreeBSD] We need to request busmastering support.
...
This seems to be the key to getting at least some radeon
cards working. Most, if not all drivers need it enabled,
so just request it once the driver has attached.
2008-06-08 02:00:48 -04:00
Robert Noland
6d6921719c
[FreeBSD] Incorporate vblank fixes for bsd.
2008-06-08 01:53:45 -04:00
Robert Noland
ec3d996021
[FreeBSD] Forgot to call mtx_destroy on all the locks at unload.
2008-06-08 01:53:45 -04:00
Robert Noland
93c57ff4e5
[FreeBSD] Remove the locks in the vblank_disable_fn
...
They are recursive and causing panics with witness enabled.
2008-06-08 01:53:45 -04:00
Robert Noland
fc74c2e9d6
[FreeBSD] Go back to using vbl_lock and move init/destroy to load/unload.
2008-06-08 01:53:45 -04:00
Eric Anholt
500c81d194
[gem] Don't forget to munmap in the non-bo-reuse object-freeing case.
2008-06-06 17:13:16 -07:00
Keith Packard
c2fc142ea7
[intel] remove settable use_mi_batchbuffer_start
...
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 21:54:38 +01:00
Keith Packard
6cd0ef06a6
[intel] remove settable use_mi_batchbuffer_start
...
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 13:26:03 -07:00
Keith Packard
9f46c6935d
[intel-gem] Use timers to retire requests periodically.
...
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 13:00:47 -07:00
Keith Packard
a708106c77
[intel] free the hardware status page at driver_unload
...
This goes with the other hardware status page patch.
2008-06-06 13:00:46 -07:00
Keith Packard
56a96841d0
[intel-gem] Add explicit throttle ioctl
...
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 13:00:46 -07:00
Keith Packard
329e086225
[libdrm/intel] Eliminate extra dri_gem_bo_bucket_entry structure
...
Place the buffer reuse links right into the dri_bo_gem object.
2008-06-06 13:00:46 -07:00
Keith Packard
5a55b48a41
[libdrm/intel] Remove unused intel_validate_entry structure
2008-06-06 13:00:46 -07:00
Keith Packard
a919ff5d5e
[libdrm/intel] Reuse entire dri_bo_gem structure
...
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 13:00:46 -07:00
Keith Packard
5f5badb26f
[intel] Allocate hardware status page at driver load time
...
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 13:00:46 -07:00
Keith Packard
84162ccb7d
Ignore X server provided mmio address
2008-06-06 13:00:46 -07:00
Keith Packard
118baeee18
[intel-gem] Dump error status on wait_request failure
2008-06-06 13:00:46 -07:00
Dave Airlie
6d4ffd12cd
drm: fix up fb resize again
2008-06-06 16:24:27 +10:00
Dave Airlie
00bb548c61
intel: don't set the mode on the framebuffer if isn't set to scanout our framebuffer
2008-06-06 15:38:53 +10:00
Dave Airlie
ec774e4d72
Merge remote branch 'origin/modesetting-101' into modesetting-101-fb
2008-06-06 15:21:57 +10:00
Dave Airlie
be501f00a3
intelfb: add multi fb paths
2008-06-06 15:21:22 +10:00
Dave Airlie
e6a3a1fdad
intelfb: remove duplicate define
2008-06-06 14:55:03 +10:00
Dave Airlie
fc08877b17
intelfb: admit fbdev is crap and punt on trying to resize to a larger fbdev.
2008-06-06 14:53:34 +10:00
Dave Airlie
8387a232a3
intelfb: move mode sets into the intel crtcs
...
better place to store them.
2008-06-06 12:02:51 +10:00
Dave Airlie
25c1bb334f
drm/intel: make hotplug just be an event
2008-06-06 10:39:58 +10:00
Dave Airlie
5f94172f81
intel: if no spare crtc exists don't just take one.
2008-06-06 10:31:36 +10:00
Jesse Barnes
03bf1fba67
sysfs registration/teardown fixups
...
A check in drm_sysfs_connector_remove was supposed to allow it to be called
even with unregistered objects, to make cleanup paths a little simpler.
However, device_is_regsitered didn't always seem to return what we thought it
would, so we'd sometimes end up leaving objects lying around rather than
unregistering them.
Fix this situation up by requiring devices to be registered before being
removed. Any problems resulting from this change should be easier to track
down than the alternative (which is leaving kobjects registered after unload).
2008-06-05 15:58:43 -07:00
Dennis Kasprzyk
6905c7a29d
radeon: Restore software interrupt on resume.
...
Fixes performance drop after suspend/resume on some systems.
2008-06-05 18:23:37 +02:00
Eric Anholt
d198e9b091
Add a function to bufmgr_fake to evict all buffers in the GTT.
...
This will be used by the X Server for VT switch.
2008-06-05 08:45:39 -07:00
Dave Airlie
d9ead89c79
drm/modeset: add more debugging and fixup some fb enable/disabe bits
2008-06-05 16:32:41 +10:00
Dave Airlie
b31adb005a
drm/modesetting: more fb interface cleanups
2008-06-05 15:55:03 +10:00
Dave Airlie
efcf066eff
drm/modesetting: attempt to make fb code more sane
2008-06-05 15:21:07 +10:00
Dave Airlie
f73e54bbf0
drm: modesetting unify the hotplug init paths a lot.
...
remove fb callbacks, just probe into the driver to sort it out
2008-06-05 13:40:08 +10:00
Dave Airlie
56a1293184
modesetting: fix fb clearing up
2008-06-05 11:43:48 +10:00
Dave Airlie
1495dd31d6
modesetting: use surface width height for buffer allocs
2008-06-05 11:24:57 +10:00
Dave Airlie
1d980669e6
modesetting: add surface width/heights
2008-06-05 11:20:52 +10:00
Dave Airlie
967bd21911
modesetting: initial attempt at debonging fb
2008-06-05 11:11:22 +10:00
Jesse Barnes
e90716671d
i915: use kzalloc to allocate intel_output for lvds
...
Better to initialize all the struct fields to 0. Also more consistent with
other output init routines.
2008-06-04 12:50:03 -07:00