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
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
Jesse Barnes
52183fb05b
Fix crash in drm_mode_connector_update_edid_property
...
We need to initialize the edid_blob_ptr to NULL when we init a connector,
otherwise drm_mode_connector_update_edid_property may think there's a valid
EDID lying around and try to destroy it, causing a crash.
2008-06-04 09:38:44 -07:00
Dave Airlie
cf1964f971
drm: fix hotplug oops
2008-06-04 15:17:13 +10:00
Dave Airlie
a8725d95bc
intel: report a known connector
2008-06-04 15:17:00 +10:00
Dave Airlie
382aa3ceeb
drm: introduce generation counter to interface.
...
Idea being if you want to add new crtc/output/encoder dynamically later,
you just increase the generation counter and userspace should re-read
all the resources
2008-06-04 13:50:51 +10:00
Dave Airlie
9f31bd09c1
drm/sysfs: don't try an unregister if not registered
2008-06-04 13:16:49 +10:00
Dave Airlie
8e4c61e526
intel: use kzalloc
2008-06-04 13:09:20 +10:00
Dave Airlie
8690ad8ae0
drm/modesetting: bo not used anymore
2008-06-04 13:09:05 +10:00
Dave Airlie
58aca7485a
drm: remove sysfs in driver for now.. should probably be in helper
2008-06-04 13:03:23 +10:00
Dave Airlie
fd27591c6c
drm/modesetting: pass object handle to driver !bo
2008-06-04 13:00:31 +10:00
Dave Airlie
76a44f14d6
drm/modesetting: overhaul the fb create/delete.
...
Move TTM code into the driver
2008-06-04 11:59:28 +10:00
Dave Airlie
40229b6ad5
drm: make mode comparison more betterer.
...
This compares the clocks after converting to fb pico timings so we
get the same answer if the X and fb modes are the same.
2008-06-04 10:36:58 +10:00
Alan Hourihane
3ed17803d8
more checks for NULL encoder so we don't segfault.
2008-06-02 10:44:29 +01:00
Alan Hourihane
dc022084cd
Fix warnings
2008-06-02 10:03:28 +01:00
Dave Airlie
149b17311a
drm: initial mode object groups.
...
This creates a default group attached to the legacy drm minor nodes.
It covers all the objects in the set. make set resources only return
objects for this set. Need to fix up other functions to only work on
objects in their allowed set.
2008-06-02 16:45:44 +10:00
Dave Airlie
50d3e5bd02
drm/modesetting: redo object handles around a core object.
...
handle crtc/encoders/connectors/fb/mode/property/blob using this system.
2008-06-02 16:19:21 +10:00
Dave Airlie
c321bc4f92
drm: only report framebuffers available on this fd.
...
Not 100% sure this is a good idea, but I think I'd rather things
communicate with bo handles not fb ids.
2008-06-02 14:33:42 +10:00
Dave Airlie
4e7b246398
drm: add functions to get/set gamma ramps
2008-06-02 14:04:41 +10:00
Dave Airlie
eba6cdc936
Merge branch 'modesetting-101-encoders' into modesetting-101
2008-06-02 12:58:10 +10:00
Dave Airlie
7fec6c0e2a
drm: fixup encoder picking in set_config stage
2008-06-02 12:57:09 +10:00
Dave Airlie
46c78a2223
drm/modesetting: add best encoder finding for modesetting
...
This asks the driver to suggest the best encoder for the connector
during the pick crtcs stage.
Need to also do this during mode setting stages
2008-06-02 11:44:35 +10:00
Dave Airlie
0dd000b578
drm/modesetting: move some connector functions to helper.
...
Migrated the output mode collection into the helper.
2008-06-02 11:12:28 +10:00
Dave Airlie
dba95ec343
drm: fixup some interfaces so test code works again
2008-06-02 10:41:12 +10:00
Dave Airlie
e439e74776
drm/modesetting: another re-org of some internals.
...
Move dpms into the helper functions.
Move crtc into the encoder.
Move disable unused functions into the helper.
2008-06-02 10:05:54 +10:00
Kristian Høgsberg
efb48c6cf7
Fix ivch i2c read function to use the "special" i2c format.
2008-05-30 14:24:21 -04:00
Dave Airlie
5d47185eb6
drm: switch possible crtc/clones over to encoders
2008-05-30 15:32:58 +10:00
Dave Airlie
9d38448ed3
modesetting: the great renaming.
...
Okay we have crtc, encoder and connectors.
No more outputs exposed beyond driver internals
I've broken intel tv connector stuff.
Really for TV we should have one TV connector, with a sub property for the
type of signal been driven over it
2008-05-30 15:10:04 +10:00
Dave Airlie
6aeef92c0c
drm: attach an encoder.
...
Time to do some renaming on the connectors I think
2008-05-30 13:57:27 +10:00
Dave Airlie
9239cf511f
drm: add encoder attach/detach
2008-05-30 13:31:16 +10:00
Dave Airlie
1542492b79
drm: init the encoder list/count
2008-05-30 12:24:30 +10:00
Dave Airlie
6b5592790d
drm: add red hat copyright.
2008-05-30 12:20:36 +10:00
Dave Airlie
b72419a8f7
drm: add encoder ids to the output handling
2008-05-30 12:19:13 +10:00
Dave Airlie
8ae82f3a2f
drm: add encoder / get encoder to the modesetting resources interface
2008-05-30 12:03:36 +10:00
Dave Airlie
6b970f193b
drm: remove unused init func from outputs
2008-05-30 11:48:41 +10:00
Dave Airlie
9654c776fd
drm/modesetting: add initial encoder structures and setup functions
2008-05-30 11:47:57 +10:00
Dave Airlie
98c5cf7f6f
modesetting: reorganise out crtc/outputs are allocated.
...
Use subclassing from the drivers to allocate the objects. This saves
two objects being allocated for each crtc/output and generally makes
exit paths cleaner.
2008-05-30 11:25:41 +10:00
Dave Airlie
df8cd54286
modesetting: reorganise code into core and helper functions.
...
This splits a lot of the core modesetting code out into a file of
helper functions, that are only called from themselves and/or the driver.
The driver gets called into more often or can call these functions from itself
if it is a helper using driver.
I've broken framebuffer resize doing this but I didn't like the API for that
in any case.
2008-05-29 14:02:14 +10:00
Dave Airlie
ee5afc6342
modeset: disable radeon ms by default
...
as I'm going to break it.
2008-05-29 13:58:26 +10:00
Alan Hourihane
3a3f39d144
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
shared-core/i915_drv.h
2008-05-28 21:01:18 +01:00
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
Dave Airlie
5b86823fa3
radeon: split microcode out into a separate header file.
2008-05-28 11:12:57 +10: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
Dave Airlie
a09c0bbe11
ati_pcigart: oops wrong way around not that it actually mattered
2008-05-14 22:48:12 +10:00
Dave Airlie
4c6ec02eb8
ati_pcigart: stop working in the evenings you mess up too often
2008-05-14 22:44:22 +10:00
Dave Airlie
2712cdeec3
Revert "ati_pcigart: fixup properly this version might even work"
...
This reverts commit bc0836e12a
.
tree has some kref hacks in it - oops
2008-05-14 22:43:28 +10:00
Dave Airlie
bc0836e12a
ati_pcigart: fixup properly this version might even work
2008-05-14 22:42:21 +10:00
Dave Airlie
dd1f33f83c
ati_pcigart: fill out 40-bit gart table support properly
...
Thanks to Alex for supplying this info.
2008-05-14 22:35:32 +10: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
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
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
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
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
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
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
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
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
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
Thomas Hellstrom
10b9a116a7
Don't disable IRQs, just tasklets, when taking the drm lock spinlock.
2008-04-23 17:34:21 +02:00
Jakob Bornecrantz
9ba3aaaa1a
Fixed unlock check on EAGAIN
2008-04-23 12:43:45 +02:00
Hong Liu
b57e1f7efd
add sysfs entry for DVO output
...
forget to add it in the previous DVO porting patch.
Signed-off-by: Hong Liu <hong.liu@intel.com>
2008-04-22 18:35:26 -07:00
Hong Liu
c250104c8f
fix removing output_attrs
...
fix a typo in removing output sysfs.
Signed-off-by: Hong Liu <hong.liu@intel.com>
2008-04-22 18:32:39 -07:00
Pekka Paalanen
b3967765c0
linux-core Makefile: add GIT_REVISION
...
This tries to automatically fetch a git revision string and if succeeds,
it #defines GIT_REVISION string macro. Packagers can override it by
'make GIT_REVISION=foo'.
Update Nouveau to use GIT_REVISION, if defined, instead of DRIVER_DATE
in struct drm_driver.
Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-04-22 22:07:21 +03:00
Hong Liu
21a93915d8
Porting DVO stuff
...
Ported from Xorg intel 2d driver. Changed interfaces definitions, which needed
to be changed later if other device wants to use these DVO stuff.
2008-04-17 11:43:28 -07:00
Thomas Hellstrom
1ad1bd5bd9
Fix buffer object map wait error.
...
Add some branch prediction hints.
2008-04-14 13:52:33 +02:00
Thomas Hellstrom
c5955c6523
Fix buffer object creation validation.
...
BO lock fixes.
2008-04-14 12:14:20 +02:00
Thomas Hellstrom
c9b73ef6da
Unlock the BO mutex while waiting for idle, unmapped, unfenced.
...
Move unfenced checking into idle checking.
Never time out while waiting for software events like unmapped or unfenced.
2008-04-14 12:13:33 +02:00
Thomas Hellstrom
65dd0e68ff
Fix up buffer manager locking.
2008-04-14 12:13:17 +02:00
Keith Packard
b986d7d2c9
Save and restore dsparb and d_state regs
2008-04-11 20:31:07 -07:00