Jesse Barnes
070755af3f
i915: unmap BIOS when we're done with it
...
At the moment, we only read it at startup time, so we can just unmap it there
when we're done.
2008-05-28 08:24:42 -07:00
Jesse Barnes
9fc4ea5c00
i915: do a better job of parsing VBIOS data
...
Add code to get panel modes from the VBIOS if present and check whether certain
outputs exist. Should make our display detection code a little more robust.
2008-05-23 18:42:47 -07:00
Jesse Barnes
b4d8cda8e6
drm_mode_debug_printmodeline doesn't need struct drm_device *
...
Makes printing modelines from some routines easier.
2008-05-23 18:41:58 -07:00
Hong Liu
1cde3cc1ac
i915: check dummy page before freeing
...
The dummy read page will point to NULL if drm_bo_driver_init failed at
firstopen (modeset is not enabled), and will cause kernel oops at
subsequent drm_lastclose call, so be sure to check it.
2008-05-22 10:35:55 -07:00
Hong Liu
e8320a716d
i915: init bo mm at driver init only when modeset=1
...
To avoid bo memory manager being inited twice, it will be called
at firstopen when modeset is not enabled.
2008-05-22 10:34:08 -07:00
Jesse Barnes
e4f29968f4
Merge branch 'modesetting-101' of ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
2008-05-13 14:47:17 -07:00
Jesse Barnes
ee631e1b86
i915: register definition & header file cleanup
...
It would be nice if one day the DRM driver was the canonical source for
register definitions and core macros. To that end, this patch cleans
things up quite a bit, removing redundant definitions (some with
different names referring to the same register) and generally tidying up
the header file.
2008-05-13 14:44:17 -07:00
Jakob Bornecrantz
5be53a0881
i915: execbuf now works without i915_dma_init being called
2008-05-13 09:26:26 +02:00
Jesse Barnes
d32ce7f621
i915: TV hotplug fixes
...
In order to avoid recursive ->detect->interrupt->detect->interrupt->...
we need to disable TV hotplug interrupts in
intel_tv.c:intel_tv_detect_type. We also need to enable the TV interrupt
detection and hotplug sequence properly in i915_irq.c.
2008-05-12 15:47:19 -07:00
Hong Liu
a51e38548c
fix kernel oops when removing fb
...
drm_crtc->fb may point to NULL, f.e X server will allocate a new fb
and assign it to the CRTC at startup, when X server exits, it will destroy
the allocated fb, making drm_crtc->fb points to NULL.
2008-05-12 12:31:56 -07:00
Hong Liu
b2dee13f5d
free dummy read page if fail to init mm
...
Since drm_bo_driver_init will be called in driver_load, we need to free
what it alloced when error to avoid memory leak.
2008-05-12 12:07:27 -07:00
Hong Liu
f1b9bbe2b8
modeset init code cleanup
...
moving modeset init code into one function and correct error
handling druing i915 init
2008-05-12 12:07:04 -07:00
Hong Liu
af60d87869
fix G33 hardware status page in modeset
...
We need to alloc a hw status page bo for G33 if modeset is enabled since the 2D
driver can't alloc gfx memory when working in drm modeset.
2008-05-12 12:04:02 -07:00
Dave Airlie
3f66a0005c
drm: remove root only from a lot of drm ioctls to get stuff running as non-root
2008-05-12 16:29:22 +10:00
Dave Airlie
1eedeed091
drm: masters are always authenticated
2008-05-12 16:28:58 +10:00
Dave Airlie
8f7fc880e8
drm: fix oops on reading proc file with no master
2008-05-12 16:28:40 +10:00
Hong Liu
dce3442194
fixup i915 workqueue handling when modeset=1
...
Fixup workqueue creation error handling and make sure we destroy the queue on
unload.
2008-05-09 14:29:10 -07:00
Jesse Barnes
6ee0c09b0e
i915: use BDB TV flag for TV detection
...
Even if the TV encoder hasn't been fused off, we may not have a TV connector on
the platform. The BDB in the BIOS should give us this info in some cases.
2008-05-09 14:19:39 -07:00
Jesse Barnes
12725a37af
i915: add basic VBT support
...
Map the VBIOS (and therefore VBT) at init time for use by various output
initialization routines.
2008-05-09 14:19:00 -07:00
Alan Hourihane
eeff906aa0
Fix build problems
2008-05-09 16:36:28 +01:00
Alan Hourihane
7317e774b5
Fix test applications for recent DRM changes
2008-05-09 09:26:17 +01:00
Jakob Bornecrantz
7bcbc443f4
i915: Changed intel_fb to use the new drm_crtc_set_config interface
2008-05-08 20:10:18 +02:00
Jakob Bornecrantz
9d9104ad5f
i915: Fixed indent in intel_fb.c
2008-05-08 15:25:37 +02:00
Jakob Bornecrantz
ba36d54ad4
drm: Made set_config use drm_mode_set as a argument
2008-05-08 15:03:57 +02:00
Dave Airlie
4466fea7ba
Revert "i915: fix vbl swap for multi-master"
...
This reverts commit 2a78ad2264
.
2008-05-08 17:12:16 +10:00
Dave Airlie
2a78ad2264
i915: fix vbl swap for multi-master
...
patch from F9 tree
2008-05-08 16:14:33 +10:00
Dave Airlie
442e124123
drm: check for NULL fb here, shouldn't happen but avoid oops for now
2008-05-08 16:11:25 +10:00
Dave Airlie
19abd5c1ac
drm: set crtc->fb to NULL
2008-05-08 16:10:26 +10:00
Dave Airlie
74a49aea61
intel: set correct limits on screen width/height from DDX
2008-05-08 16:10:06 +10:00
Dave Airlie
576cba86b7
drm: fix replacefb to change fb properties
2008-05-08 16:09:45 +10:00
Dave Airlie
ed072ed075
drm_mode: initial replacefb implemenation
2008-05-08 14:02:05 +10:00
Dave Airlie
df46e0691b
drm: fix typo from previous merge
2008-05-08 10:45:18 +10:00
Dave Airlie
9d1db4ced1
cursor: pass handle not BO.
2008-05-08 10:26:37 +10:00
Dave Airlie
ef204fb5c2
Merge remote branch 'origin/master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
shared-core/i915_drv.h
2008-05-08 10:25:01 +10:00
Dave Airlie
b44f2da380
drm: nopage compat fixup for drm_vm
...
The kernel has removed nopage so move the old nopage codepaths into a compat vm file and switch to using the fault paths.
nopfn is on its way out in the future also, so we should switch to using fault
for that path as well soon
2008-05-07 15:10:23 +10:00
Dave Airlie
d015219bd0
r500: add allowed range for us config/pixsize
2008-05-05 17:03:27 +10:00
Ben Skeggs
3ac74f3208
nv50: enable 0x400500 bit 0 after PGRAPH exception also
...
No solid idea about what these 2 bits do, but nv50 can now survive a few
PGRAPH exceptions just as nv40 does :)
2008-05-02 01:36:30 +10:00
Ben Skeggs
6d8062ac1e
nouveau: guard against channels potentially not having a context, fix nv50
2008-05-02 01:36:08 +10:00
Ben Skeggs
77d20928b3
nouveau: disable all card interrupts when unknown PFIFO IRQ occurs.
...
This is possibly temporary. I can trigger an unending IRQ storm on G8x
in some circumstances, and have no idea how to handle that particular PFIFO
exception correctly yet.
2008-05-02 00:53:42 +10:00
Ben Skeggs
5c4c778c0d
nouveau: restore original NV_PFIFO_CACHES_REASSIGN value in fifo handler
...
Doesn't fix any issue I've seen, but is a potential issue if a FIFO IRQ
occurs during channel creation/takedown.
2008-05-02 00:52:21 +10:00
Ben Skeggs
bfbe4ade32
nouveau: gather nsource in trap_info()
...
The IRQ handling stuff really is a mess.. On the TODO :)
2008-05-02 00:51:00 +10:00
Ben Skeggs
e317dfdabf
nv50: PGRAPH exception handling completely different from earlier chips
2008-05-02 00:06:22 +10:00
Ben Skeggs
b92efd5956
nv50: I cave... Add nv84 initial context values.
...
I swore I'd actually do this properly and not go the horrible route
we did with nv4x, but I won't get around to it just yet with so many
*actually* interesting things to do first.. One day.
Since someone already added nv86, why not!
2008-05-01 23:50:44 +10:00
Jesse Barnes
cb33133ef3
i915: fix off by one in VGA save/restore of AR & CR regs
...
Turns out it's important to save/restore AR14 in particular.
2008-04-29 12:39:38 -07:00
Maarten Maathuis
f31e04a960
nouveau: NV9x cards exist as well.
2008-04-29 19:34:22 +02:00
Thomas Hellstrom
7f269bec7e
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_compat.c
linux-core/drm_fops.c
linux-core/drm_lock.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-04-28 12:10:44 +02:00
Jesse Barnes
7f8e406085
Use fixed sized types in new ioctls
...
Make both crtc and the command argument 32 bits to avoid any 32-on-64 compat
issues.
2008-04-27 09:42:17 -07:00
Jesse Barnes
b45fe49bcd
Enum-ectomy of vblank modesetting ioctl
...
Enum can be of pretty much any size since C leaves the choice of size up to the implementation. So avoid using it in new interfaces like the vblank pre- & post-modeset ioctl. Thanks to hch for spotting this.
2008-04-26 17:11:18 -07:00
Kristian Høgsberg
55a9941977
Make via compile.
...
Chase the lock to it's new location.
2008-04-23 12:43:52 -04:00
Kristian Høgsberg
33fa02f2d8
Make radeon_ms compile.
...
Remove lock functions and use pci_map_rom() instead of pci_map_rom_copy().
2008-04-23 12:42:26 -04:00