Dave Airlie
9afe872ae9
radeon: limit LVDS to first CRTC for now
2008-08-28 11:30:55 +10:00
Dave Airlie
6a27e019bc
radeon: fixup checks for crtc in dpms paths
2008-08-28 11:30:20 +10:00
Dave Airlie
f9d4c58d43
radeon: braino pointed out on mailing list
...
thanks to Ville Syrjälä
2008-08-27 12:35:11 +10:00
Dave Airlie
a4167e7b57
radeon: avoid oops on encoders with no crtc set
2008-08-27 11:12:19 +10:00
Stephane Marchesin
bffbb497e2
Change git-describe into git describe.
2008-08-27 02:27:10 +02:00
Dave Airlie
01b2e7368a
radeon/ttm: add support for zeroing the contents of VRAM buffers
...
This uses a solid fill fastpath, falling back to the slow memset path.
2008-08-26 17:44:47 +10:00
Dave Airlie
203243eea5
drm: add move zero function to memset unclean buffers
2008-08-26 17:43:12 +10:00
Dave Airlie
c72a4e20e8
drm/ttm: export drm_bo_add_ttm
2008-08-26 17:42:36 +10:00
Dave Airlie
361ab10d2f
radeon: fixup domains and use them properly
2008-08-26 17:39:00 +10:00
Dave Airlie
4c8e8e0d0b
drm: add memory clean flag.
...
When the mapping is clean this flag will be set. This can be used
by a driver to save migrating and allocating pages for an object
that will first be used in VRAM.
2008-08-26 17:33:46 +10:00
Alex Deucher
ba61880ac8
radeon: fix warning from radeon_legacy_state removal
2008-08-19 13:06:04 -04:00
Alex Deucher
b2c19c788a
radeon: legacy lvds updates
2008-08-19 13:03:23 -04:00
Alex Deucher
232c369a05
radeon: first pass at legacy dac detect
...
- done: primary dac, vga on tvdac
- todo: ext dac, tv on tvdac
2008-08-17 18:38:41 -04:00
Alex Deucher
aed70622ab
radeon: first pass at bios scratch regs
...
- todo: updated connected status
2008-08-17 18:09:07 -04:00
Alex Deucher
226c97e3b7
radeon: remove unused legacy state
2008-08-17 15:38:05 -04:00
Alex Deucher
6af286079b
radeon: get primary dac adj info from bios tables
2008-08-17 15:33:31 -04:00
Maarten Maathuis
a5381cac55
nouveau: make it compile under 2.6.27
2008-08-17 00:41:50 +02:00
Maarten Maathuis
ba840fca19
linux: on_each_cpu has 3 args on 2.6.27
2008-08-17 00:35:06 +02:00
Jesse Barnes
a2adc69656
i915: finish removing TTM bits
...
Makes it build again.
2008-08-16 12:09:24 -07:00
Jesse Barnes
d313108167
Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-gem
2008-08-16 11:45:53 -07:00
Jesse Barnes
893315d49e
i915: set domain properly on fb mapping, flush out changes
...
The user visible ioctl does this, but since we call into GEM internals
directly, we have to flush things ourselves. Fixes initial fb console
corruption.
2008-08-16 11:35:10 -07:00
Dave Airlie
2030db7532
radeon: reserve 64k of VRAM for now for text mode so we don't trample it
...
need to revisit this later I'm sure
2008-08-15 09:56:42 +10:00
Dave Airlie
e0bbd04eb0
radeon: fix LVDS modes problem
2008-08-15 09:42:06 +10:00
Dave Airlie
30ff279e42
radeon: add support for memory map init
2008-08-14 14:43:51 +10:00
Jesse Barnes
5f9e4a764a
i915: update cursor handling to use GEM objects
2008-08-13 16:57:42 -07:00
Dave Airlie
2d4420c666
Merge branch 'radeon-gem-cs' into modesetting-gem
...
Conflicts:
libdrm/xf86drm.c
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_compat.h
linux-core/drm_drv.c
linux-core/drm_stub.c
linux-core/drm_vm.c
shared-core/i915_dma.c
shared-core/r300_cmdbuf.c
shared-core/radeon_drv.h
2008-08-14 09:36:34 +10:00
Alex Deucher
2a65759d15
Add com bios asic init bits
2008-08-14 09:19:03 +10:00
Alex Deucher
f38fff5416
Fill in and make use of more com bios tables on legacy chips
2008-08-14 09:19:03 +10:00
Alex Deucher
9b79d356c1
Add additional quirks from ddx
2008-08-14 09:19:03 +10:00
Alex Deucher
a1f1202470
Fix warnings
2008-08-14 09:19:03 +10:00
Alex Deucher
b486ed7f7d
Get legacy working finally
...
- extra ~ in RADEON_WRITE_P()
- re-arrange crtc setup a bit
- add debugging for tracing calls
- fix pitch calculation
2008-08-14 09:19:03 +10:00
Alex Deucher
8867eca872
set base in legacy crtc mode set
2008-08-14 09:19:03 +10:00
Alex Deucher
ae89ced7de
Convert COM BIOS to table offset lookup function
2008-08-14 09:19:03 +10:00
Alex Deucher
5af426a2b2
Restructure cursor handling and add support for legacy cursors
2008-08-14 09:19:03 +10:00
Alex Deucher
f2351ab38c
atom: implement crtc lock
2008-08-14 09:19:03 +10:00
Alex Deucher
e20c670a5a
LUT updates
...
- Add gamma set for legacy chips
- Add 16 bpp gamma set
2008-08-14 09:19:03 +10:00
Alex Deucher
d4f9eaa55a
various cleanups
...
- white space
- move i2c_lock to radeon_i2c.c
- enable tv dac on legacy
2008-08-14 09:19:03 +10:00
Alex Deucher
019745c417
Add legacy dac detect stubs
2008-08-14 09:19:03 +10:00
Alex Deucher
b6f5b8ec71
unify connector, i2c handling for atom and legacy
2008-08-14 09:19:02 +10:00
Alex Deucher
5f427e9aae
Brute force port of legacy crtc/encoder code
...
- removed save/init/restore chain with set functions
2008-08-14 09:19:02 +10:00
Alex Deucher
7677c2dba5
on_each_cpu() compat fixup from krh
2008-08-14 09:19:02 +10:00
Dave Airlie
0580785030
radeon: FEDORA: patch to make 3D driver work
...
set gart buffers start
2008-08-14 09:15:28 +10:00
Dave Airlie
58df2fa0ec
radeon: remove debugging
2008-08-14 09:14:56 +10:00
Dave Airlie
b0ee12e6bb
radeon: use mm_enabled variable to denote memory manager running
2008-08-14 09:14:14 +10:00
Dave Airlie
18020e5e96
radeon: make buffer swap for older drivers work again on GEM
2008-08-14 09:12:36 +10:00
Dave Airlie
957c71ff52
radeon: FEDORA: add old DMA buffers on top of GEM
...
This really shouldn't go upstream, it just lets me
run the old 3D driver on GEM setup system
2008-08-14 09:10:11 +10:00
Jesse Barnes
b8724ae647
Merge branch 'modesetting-101' into modesetting-gem
2008-08-13 10:09:41 -07:00
Jesse Barnes
2f03ba4aad
Merge branch 'master' into modesetting-gem
...
Conflicts:
libdrm/Makefile.am
libdrm/xf86drm.h
shared-core/i915_dma.c
shared-core/i915_irq.c
2008-08-13 10:08:02 -07:00
Thomas Hellstrom
af12ef4f6b
Don't call the vblank tasklet with irqs disabled.
...
If a specific tasklet shares data with irq context,
it needs to take a private irq-blocking spinlock within
the tasklet itself.
2008-08-13 10:04:21 +02:00
Jesse Barnes
085df6491e
Add error checking to framebuffer creation
...
Make the Intel routine return an error if needed and make the core check for
it.
2008-08-12 18:23:58 -07:00
Dave Airlie
08faab27e5
drm_vm: fix for build on 2.6.22
...
thanks to malc0 for pointing it out
2008-08-11 10:58:41 +10:00
Dave Airlie
280d415957
drm: add OS_HAS_GEM option.
...
To build i915 driver pass OS_HAS_GEM=1 to make for now
2008-08-11 10:47:00 +10:00
Maarten Maathuis
f79ed55462
NV50: enable hotplug irq
2008-08-09 19:47:06 +02:00
Maarten Maathuis
2b7feebb8a
NV50: call drm_sysfs_hotplug_event when appropriate
2008-08-09 19:33:32 +02:00
Dave Airlie
12e6a114cf
drm: TRUE/true
2008-08-09 17:19:16 +10:00
Eric Anholt
e1b8e79796
Merge branch 'drm-gem'
...
Conflicts:
shared-core/i915_dma.c
This brings in kernel support and userland interface for intel GEM.
2008-08-08 14:05:01 -07:00
Dave Airlie
c2184e450e
radeon: add initial support for legacy crtc/encoders.
...
not all there yet
2008-08-08 16:04:45 +10:00
Jesse Barnes
8074b2e83d
Make modesetting-gem build with recent kernels
...
Needed to merge in VM fault changes & pci_read_base API update.
2008-08-07 17:15:50 -07:00
Jesse Barnes
c7fb19e9b0
Merge branch 'drm-gem' into modesetting-gem
2008-08-07 14:02:04 -07:00
Keith Packard
ac20e14d23
Switch from shmem_getpage to read_mapping_page
2008-08-06 10:11:11 -07:00
Dave Airlie
8c042a0b05
radeon: fixup PCI GART table with GEM enabled
2008-08-06 15:59:31 +10:00
Dave Airlie
6435958673
radeon: just evict to TT not cached
2008-08-06 15:58:09 +10:00
Dave Airlie
a6c075fca6
drm: don't teardown things in modeset paths
2008-08-06 15:57:38 +10:00
Dave Airlie
04b5584c62
pcigart: fixup memset + remove wbinvd
2008-08-06 15:56:08 +10:00
Keith Packard
dc0546c87f
[gem-intel] Retiring flush requests should clear flushed write_domains
...
When i915_gem_retire_request has a flush which matches an object write
domain, clear the write domain. This will move the object to the inactive
list rather than the flushing list, avoiding trouble with objects left stuck
on the flushing list.
2008-08-05 16:06:40 -07:00
Keith Packard
ceb3d5e383
[gem-intel] Don't clear write_domain until flush completes
...
In i915_gem_object_wait_rendering, if the object write domain is being
written by the GPU, the appropriate flushing commands are written to the
device and an additional request queued to mark that flush. Finally, the
function blocks on that new request.
The bug was that the write_domain in the object was cleared before the
function blocked.
If the wait is interrupted by a signal, the flushing commands may still be
pending. With the current write_domain information lost, the restarted
syscall will drop right through the write_domain test as that value was
lost, and so the function will not block at all. Oops.
Fixed by simply moving the write_domain clear until after the wait_request
succeeds. Note that the restarted system call will generate an additional
flush sequence and request, but that should be 'harmless', aside from a
slight performance impact.
Someday we'll track flushing more accurately and clear write_domains more
efficiently, but for now, this should suffice.
This bug was discovered in the 2d gem development by running x11perf
-copypixwin500 and noticing that the window got cleared accidentally.
2008-08-05 14:44:53 -07:00
Dave Airlie
4748fbcbd7
radeon: fix blit due to registers wrong
2008-08-05 11:36:37 +10:00
Dave Airlie
fd75c02ddd
drm: finish bo after lastclose
2008-08-04 14:59:49 +10:00
Dave Airlie
29649ddede
radeon: don't use ring if cp not going
2008-08-04 14:56:08 +10:00
Dave Airlie
717dd804d0
drm: fixup master code to use krefs
2008-08-04 14:54:32 +10:00
Dave Airlie
129c8a1181
modesetting: pick_crtcs can't be static
2008-08-04 14:53:14 +10:00
Dave Airlie
922f74f3c9
drm: remove unneeded debugging
2008-08-04 14:52:58 +10:00
Kristian Høgsberg
086716c8e2
Merge commit 'origin/drm-gem' into modesetting-gem
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_mm.c
linux-core/drm_stub.c
linux-core/i915_gem.c
linux-core/i915_opregion.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-08-01 13:35:56 -04:00
Kristian Høgsberg
5052e966ec
Merge commit 'origin/master' into modesetting-gem
...
Conflicts:
linux-core/Makefile.kernel
linux-core/ati_pcigart.c
linux-core/drm_compat.h
linux-core/drm_irq.c
linux-core/drm_lock.c
linux-core/i915_drv.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/nouveau_mem.c
shared-core/radeon_cp.c
shared-core/radeon_drv.h
2008-07-31 15:18:32 -04:00
Dave Airlie
296073dc5f
drm: remove object hash
2008-07-31 14:39:25 +10:00
Dave Airlie
d2d7f3069d
drm: userspace rip out TTM API
2008-07-31 13:31:30 +10:00
Dave Airlie
10d5b037b8
drm: add fault handler support so as to be more like possible upstream
2008-07-31 13:12:36 +10:00
Dave Airlie
55761b2fe7
drm: add fault handler support so as to be more like possible upstream
...
(cherry picked from commit 10d5b037b8
)
2008-07-31 13:11:28 +10:00
Dave Airlie
9b8d71b5eb
TTM: remove API and userspace objects.
...
This removes all the TTM userspace API and all userspace objects.
It also removes the drm_bo_lock.c code
2008-07-31 12:54:48 +10:00
Kristian Høgsberg
6d4e147480
Make it compile again.
2008-07-30 16:34:37 -04:00
Eric Anholt
689548b527
intel-gem: Remove dead field from reverted changes.
2008-07-30 11:29:32 -07:00
Eric Anholt
33c8e03787
Revert "Rename drm_mm.c and its fuctions to drm_memrange."
...
This reverts commit 3ad8db2071
.
We ended up not needing that namespace, and I'd rather not have the churn
for producing diffs.
2008-07-30 11:25:34 -07:00
Dave Airlie
fb5542aaa8
radeon: hack gem to get an offset back for Mesa.
2008-07-30 17:06:11 +10:00
Dave Airlie
95c02743c9
i915: more version checks
2008-07-30 16:52:13 +10:00
Dave Airlie
02b09d271c
i915: add version checks for opregion on old kernels
2008-07-30 16:26:59 +10:00
Eric Anholt
8fc72aef70
intel-gem: actually add i915_gem_debug.c.
2008-07-29 20:26:38 -07:00
Eric Anholt
0f78e30e0a
intel-gem: Check return value of pci_read_base.
2008-07-29 11:10:47 -07:00
Dave Airlie
0452be8826
radeon: move code around putting emit into cs
2008-07-29 18:05:11 +10:00
Dave Airlie
4234f82acc
radeon_cs: add relocate hook for mm and non-mm relocations
2008-07-29 16:51:47 +10:00
Eric Anholt
e68b57c17d
intel-gem: checkpatch.pl on drm_proc.c new contents.
2008-07-28 23:12:41 -07:00
Eric Anholt
1d2bb68d28
Merge commit 'origin/master' into drm-gem
...
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-07-28 23:12:26 -07:00
Eric Anholt
487c42bd42
intel-gem: Another checkpatch.pl pass.
2008-07-28 11:45:22 -07:00
Eric Anholt
1bdf35fe19
intel-gem: Fix regression tests.
...
Main fix is an oops that was triggered by the gtt pwrite path when we don't
have the gtt initialized. Also, settle on -EBADF for "bad object handle",
and -EINVAL for "reading/writing beyond object boundary".
2008-07-28 11:29:16 -07:00
Eric Anholt
f85fd1b42d
intel-gem: Speed up tiled readpixels by tracking which pages have been flushed.
...
This is around 3x or so speedup, since we would read wide rows at a time, and
clflush each tile 8 times as a result. We'll want code related to this anyway
when we do fault-based per-page clflushing for sw fallbacks.
2008-07-28 11:25:19 -07:00
Dave Airlie
dc3a7c023d
r300: initial command stream parser for packet 0.
...
this at least parses the DDX stream and lets me run gnome-terminal/metacity
2008-07-28 17:27:24 +10:00
Dave Airlie
38835f9cd2
radeon command submission start
...
take code from Jerome munge into a TTM IB re-use
2008-07-28 15:21:13 +10:00
Eric Anholt
04ae66db1c
intel-gem: Move debug-only functions to a separate file.
2008-07-26 19:52:47 -07:00
Alex Deucher
5282a505b6
NV50: s/FALSE/false/
2008-07-26 16:57:02 -04:00
Stefan Becker
514c05cebe
radeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.
...
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16799 .
2008-07-26 16:49:14 +02:00
Dave Airlie
df9871064e
radeon: add initial atombios modesetting and GEM -> TTM translation layer.
...
This is an initial import of the atom bios parser with modesetting support
for r500 hw using atombios. It also includes a simple memory manager
layer that translates a radeon GEM style interface onto TTM internally.
So far this memory manager has only been used for pinned object allocation
for the DDX to test modesetting.
2008-07-26 08:56:23 +10:00