Dave Airlie [Thu, 26 Apr 2007 04:50:00 +0000 (14:50 +1000)]
i915: fix vblank pipe setup
Dave Airlie [Mon, 23 Apr 2007 01:42:29 +0000 (11:42 +1000)]
drm: make mode numbers no change by comparing probed modes
The mode list sets all the output modes to UNVERIFIED, then probes a new list,
If a mode is on the new list and not on the old, it adds it to the old,
if a mode is on the new list and old, it just updates the status to the new
mode status.
If a mode is on the old list and not on the new, prune invalid modes should
remove all UNVERIFIED modes
Dave Airlie [Sun, 22 Apr 2007 23:10:46 +0000 (09:10 +1000)]
fixup vrefresh reporting, it should now be *1000 in userspace
Jesse Barnes [Sat, 21 Apr 2007 01:00:44 +0000 (18:00 -0700)]
Oops, edid data should just be a char *, as edid.h is private to edid.c
(we can just recombine them now).
Jesse Barnes [Sat, 21 Apr 2007 00:59:30 +0000 (17:59 -0700)]
Add a monitor information structure separate from the EDID data for tracking
monitor limits, etc.
Jesse Barnes [Sat, 21 Apr 2007 00:03:50 +0000 (17:03 -0700)]
Document drm_modes.c functions.
Jesse Barnes [Fri, 20 Apr 2007 23:32:58 +0000 (16:32 -0700)]
Add a mode name generation wrapper to make name format changes easier.
Kristian Høgsberg [Fri, 20 Apr 2007 22:06:31 +0000 (18:06 -0400)]
Initialize rwlock using rwlock_init to appease lockdep validator.
Kristian Høgsberg [Fri, 20 Apr 2007 20:52:04 +0000 (16:52 -0400)]
Clean up and return if no outputs are found.
Dave Airlie [Wed, 18 Apr 2007 23:43:46 +0000 (09:43 +1000)]
backout SDVO control bus check and comment why this is a bad idea
Jesse Barnes [Wed, 18 Apr 2007 18:49:42 +0000 (11:49 -0700)]
Document main drm_crtc.c functions, and rename drm_crtc_mode_create to
drm_mode_create to be consistent with the other functions. Also document
where we need locking fixes and what the locks are for.
Alan Hourihane [Wed, 18 Apr 2007 13:18:56 +0000 (14:18 +0100)]
Shouldn't free the mode here. It's done later on.
Alan Hourihane [Wed, 18 Apr 2007 12:52:46 +0000 (13:52 +0100)]
Fix return status
Alan Hourihane [Wed, 18 Apr 2007 11:19:16 +0000 (12:19 +0100)]
Fix build problem
Alan Hourihane [Wed, 18 Apr 2007 11:10:06 +0000 (12:10 +0100)]
free the duplicated mode.
Alan Hourihane [Wed, 18 Apr 2007 11:07:55 +0000 (12:07 +0100)]
When no valid EDID modes are available, we bail.
This snippet adds a standard 640x480 @ 60Hz mode when
that occurs, so we can continue with a basic mode.
Should we do this here though ???
Alan Hourihane [Wed, 18 Apr 2007 10:55:09 +0000 (11:55 +0100)]
Merge remote branch 'origin/modesetting-101' into modesetting-101
Alan Hourihane [Wed, 18 Apr 2007 10:53:25 +0000 (11:53 +0100)]
Support the RGB outputs of SDVO cards, which are essentially
VGA outs.
The drm_initial_config path has specific handling code to name
match for VGA, TMDS or LVDS. This is pretty restrictive and should
probably be dealt with to be more generic.
Alan Hourihane [Wed, 18 Apr 2007 10:47:21 +0000 (11:47 +0100)]
Check status after SDVO command for sdvo_set_control_bus_switch
Alan Hourihane [Wed, 18 Apr 2007 10:46:04 +0000 (11:46 +0100)]
Move SDVO PENDING check to read_response so all SDVO commands
benefit from the spin loop.
Dave Airlie [Wed, 18 Apr 2007 04:55:43 +0000 (14:55 +1000)]
make sure TMDS gets a crtc
Dave Airlie [Wed, 18 Apr 2007 04:11:49 +0000 (14:11 +1000)]
Merge branch 'origin' into modesetting-101
Conflicts:
linux-core/drm_bo.c
Merge in changes from master from Thomas fixiing TTM problems
Jesse Barnes [Wed, 18 Apr 2007 01:20:05 +0000 (18:20 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Jesse Barnes [Wed, 18 Apr 2007 01:03:14 +0000 (18:03 -0700)]
Just use drm_output_destroy to cleanup LVDS failures. It'll call our cleanup
routine, which will take care of freeing our dev_priv and i2c ddc bus.
Dave Airlie [Wed, 18 Apr 2007 00:41:39 +0000 (10:41 +1000)]
don't crash if no desired mode
Dave Airlie [Wed, 18 Apr 2007 00:39:58 +0000 (10:39 +1000)]
backout alanh's broken commit
David Airlie [Fri, 13 Apr 2007 06:43:55 +0000 (16:43 +1000)]
clean up ring buffer and TTM in i915_driver_unload
I've commented out the framebuffer for now
Jesse Barnes [Wed, 18 Apr 2007 00:30:46 +0000 (17:30 -0700)]
Add framebuffer bo freeing to drm_mode_config_cleanup (seems like the best
place for now).
Jakob Bornecrantz [Tue, 17 Apr 2007 20:27:46 +0000 (22:27 +0200)]
Lvds now power up backlight on commit
Now saves previous power level in prepare and sets
that power level in commit, should power level
be 0 it will set maximum level.
Jesse Barnes [Tue, 17 Apr 2007 17:14:18 +0000 (10:14 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Conflicts:
shared-core/i915_init.c - reconcile with airlied's new code
Jesse Barnes [Tue, 17 Apr 2007 17:00:37 +0000 (10:00 -0700)]
Move initial framebuffer allocation and configuration to drm_initial_config,
remove i915_driver_load fb related stuff. Add a small helper for setting up
outputs.
Jesse Barnes [Tue, 17 Apr 2007 16:59:21 +0000 (09:59 -0700)]
Cleanup whitespace, rename macro argument.
Jesse Barnes [Tue, 17 Apr 2007 16:57:08 +0000 (09:57 -0700)]
Add prototypes for drm_bo_init_mm and drm_buffer_object_create for use by
in-kernel code.
Alan Hourihane [Tue, 17 Apr 2007 15:11:00 +0000 (16:11 +0100)]
Fix a register read that was swapped SDVOB/SDVOC
Check for the PENDING message when reading the attached
displays. Ensures the command has completed before continuing.
(probably need to check PENDING in other SDVO calls too)
Alan Hourihane [Tue, 17 Apr 2007 15:09:40 +0000 (16:09 +0100)]
Fix SDVO outputs
Alan Hourihane [Tue, 17 Apr 2007 15:08:26 +0000 (16:08 +0100)]
Correct PCI ID for i845
Thomas Hellstrom [Tue, 17 Apr 2007 12:15:37 +0000 (14:15 +0200)]
Don't always free up memory space when we unpin buffers.
Thomas Hellstrom [Tue, 17 Apr 2007 08:53:19 +0000 (10:53 +0200)]
Fix buffer object reference problems.
(Reported by Dave Airlie).
Dave Airlie [Tue, 17 Apr 2007 08:18:42 +0000 (18:18 +1000)]
I don't think this dec is necessary and my stuff all works without ..
with it everything falls over
Dave Airlie [Tue, 17 Apr 2007 08:18:25 +0000 (18:18 +1000)]
add some missing export symbols
Dave Airlie [Tue, 17 Apr 2007 08:16:38 +0000 (18:16 +1000)]
another large overhaul of interactions with userspace...
We need to keep a list of user created fbs to nuke on master exit.
We also need to use the bo properly.
Thomas Hellstrom [Tue, 17 Apr 2007 06:58:23 +0000 (08:58 +0200)]
via: Make sure we flush write-combining using a follow-up read.
Thomas Hellstrom [Tue, 17 Apr 2007 06:46:45 +0000 (08:46 +0200)]
Add a code comment.
Jakob Bornecrantz [Mon, 16 Apr 2007 18:54:24 +0000 (20:54 +0200)]
Fix offset should from pci device address
Thomas Hellstrom [Mon, 16 Apr 2007 14:23:05 +0000 (16:23 +0200)]
Require the hardware lock for buffer creation
(since that implies a validate).
Fix drm_bo_wait_unfenced error messages and codes.
Fix some return codes from libdrm.
Jesse Barnes [Sat, 14 Apr 2007 22:35:38 +0000 (15:35 -0700)]
Use drm_mem_reg_ioremap to map buffer object.
Jesse Barnes [Sat, 14 Apr 2007 22:35:21 +0000 (15:35 -0700)]
Fix PRIV0 memory initialization (mm_init takes pages, not bytes), align fb
allocation correctly, and use drm_mem_reg_iomap to map ring buffer object.
Jakob Bornecrantz [Fri, 13 Apr 2007 00:23:42 +0000 (02:23 +0200)]
Added debug messages so we know which output we are dealing with
David Airlie [Fri, 13 Apr 2007 04:33:52 +0000 (14:33 +1000)]
i915/drm: clean up a lot of the i915/drm startup/teardown sequences
When the kernel driver is loaded it sets up a lot of stuff..
it tears down the same stuff on unload.
This add a new map type called DRM_DRIVER which means the driver will clean the mapping up
and fix up the map cleaner
David Airlie [Fri, 13 Apr 2007 04:31:10 +0000 (14:31 +1000)]
export drm_bo_driver_finish symbol
David Airlie [Fri, 13 Apr 2007 04:30:44 +0000 (14:30 +1000)]
revert LVDS destroy - this oops on sysfs on sdvo init of i2c bus
Jesse Barnes [Fri, 13 Apr 2007 01:30:36 +0000 (18:30 -0700)]
Move driver load call to after AGP init, in case the load routine needs AGP stuff.
Jesse Barnes [Thu, 12 Apr 2007 21:57:07 +0000 (14:57 -0700)]
Oops, forgot to push the msleep() in the hotplug test. Wouldn't want to
spin in the kernel for a whole second w/o it...
Jesse Barnes [Thu, 12 Apr 2007 19:43:47 +0000 (12:43 -0700)]
Use crtc_from_pipe call in intel_lvds.c and add get_mode panel mode detection. Also fix up error case for when LVDS mode can't be determined. Leave placeholder code in place for BIOS mode probing and platform quirks.
Jesse Barnes [Thu, 12 Apr 2007 19:41:56 +0000 (12:41 -0700)]
Add new function for getting a CRTC pointer given a pipe number.
Jesse Barnes [Thu, 12 Apr 2007 19:40:51 +0000 (12:40 -0700)]
Fix 945+ hotplug detection, remove some unused variables.
Jesse Barnes [Thu, 12 Apr 2007 18:50:57 +0000 (11:50 -0700)]
Don't need a NULL check prior to calling kfree.
Jesse Barnes [Thu, 12 Apr 2007 18:40:12 +0000 (11:40 -0700)]
Initialize the hw lock waitqueue so we don't hang in drm_lastclose.
Jesse Barnes [Thu, 12 Apr 2007 16:01:53 +0000 (09:01 -0700)]
Don't use drm_setup, do SAREA allocation and mapping directly instead.
Jesse Barnes [Thu, 12 Apr 2007 15:57:58 +0000 (08:57 -0700)]
Move i2c init back to where it belongs and add i2c unregistration in *_destroy.
Jesse Barnes [Thu, 12 Apr 2007 15:56:34 +0000 (08:56 -0700)]
Whitespace cleanup
Jesse Barnes [Thu, 12 Apr 2007 15:55:51 +0000 (08:55 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Jesse Barnes [Thu, 12 Apr 2007 15:53:03 +0000 (08:53 -0700)]
Revert "Export drm_setup for use by new driver init code.", we don't really want to use this function
This reverts commit
e114b981bc291049fa6996d487334a408acc1ce2.
Alan Hourihane [Thu, 12 Apr 2007 14:12:00 +0000 (15:12 +0100)]
Use drm_framebuffer instead of drm_crtc for fb & fbt
Alan Hourihane [Thu, 12 Apr 2007 14:11:38 +0000 (15:11 +0100)]
Remove extraneous drm_crtc.h include
Alan Hourihane [Thu, 12 Apr 2007 14:10:08 +0000 (15:10 +0100)]
Merge remote branch 'origin/modesetting-101' into modesetting-101
Jesse Barnes [Thu, 12 Apr 2007 03:41:54 +0000 (20:41 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
Jesse Barnes [Thu, 12 Apr 2007 03:41:27 +0000 (20:41 -0700)]
Remove debug statement about buffer objects
Dave Airlie [Thu, 12 Apr 2007 02:11:58 +0000 (12:11 +1000)]
use FB everywhere
Dave Airlie [Thu, 12 Apr 2007 01:55:10 +0000 (11:55 +1000)]
cleanup framebuffers on drm unload
Dave Airlie [Thu, 12 Apr 2007 01:54:49 +0000 (11:54 +1000)]
only initialise modes when fbcon or fbset asks for it
Dave Airlie [Thu, 12 Apr 2007 01:43:13 +0000 (11:43 +1000)]
set bracing style like Linux
Dave Airlie [Thu, 12 Apr 2007 01:28:55 +0000 (11:28 +1000)]
fix unbalanced lock and make sure mode list has modes so lvds code doesn't crash
Dave Airlie [Wed, 11 Apr 2007 22:54:31 +0000 (08:54 +1000)]
allow framebuffer changes on the crtc setup
Dave Airlie [Wed, 11 Apr 2007 22:45:40 +0000 (08:45 +1000)]
add getfb ioctl
Jesse Barnes [Wed, 11 Apr 2007 19:52:57 +0000 (12:52 -0700)]
Use new kernel buffer object type and cleanup agp probing.
Jesse Barnes [Wed, 11 Apr 2007 19:51:52 +0000 (12:51 -0700)]
Add new buffer object type for kernel allocations that don't initially have a user mapping.
Jesse Barnes [Wed, 11 Apr 2007 18:47:58 +0000 (11:47 -0700)]
Add aperture size and preallocation probing (from intelfb), cleanup load code to be more general.
Jesse Barnes [Wed, 11 Apr 2007 18:46:37 +0000 (11:46 -0700)]
Fix i2c unregistration, cleanup panel_fixed_mode assignment.
Jesse Barnes [Wed, 11 Apr 2007 18:44:54 +0000 (11:44 -0700)]
Whitespace cleanups.
Jesse Barnes [Wed, 11 Apr 2007 18:42:00 +0000 (11:42 -0700)]
Fix EDID pixel clock calculation.
Jesse Barnes [Wed, 11 Apr 2007 14:21:24 +0000 (07:21 -0700)]
fix modeset cleanup for LVDS and reenable it in i915.
Jesse Barnes [Wed, 11 Apr 2007 14:08:48 +0000 (07:08 -0700)]
export vblank routine for use by intel_display.c and intel_sdvo.c.
Jesse Barnes [Wed, 11 Apr 2007 14:08:29 +0000 (07:08 -0700)]
Fixup DDC probing. We only have one DDC bus so we have to use it only
on demand, and unregister when we're done.
Jesse Barnes [Wed, 11 Apr 2007 14:07:54 +0000 (07:07 -0700)]
Various changes for in-kernel modesetting:
- allow drm_buffer_object_create to be called w/o dev_mapping
- fixup i915 init code to allocate memory, fb and set modes right
- pass fb to drm_initial_config for setup
- change some debug output to make it easier to spot
- fixup lvds code to use DDC probing correctly
David Airlie [Wed, 11 Apr 2007 07:35:00 +0000 (17:35 +1000)]
line_length calculation was incorrect.. I now can get fbcon to run
David Airlie [Wed, 11 Apr 2007 07:25:37 +0000 (17:25 +1000)]
oops for 32 pitch.. hey I can see stuff on fbcon now.. it looks like text.. just a bit garbled
David Airlie [Wed, 11 Apr 2007 07:13:57 +0000 (17:13 +1000)]
fixup framebuffer depth
David Airlie [Wed, 11 Apr 2007 07:13:45 +0000 (17:13 +1000)]
add support for setting a framebuffer depth
Dave Airlie [Wed, 11 Apr 2007 06:34:40 +0000 (16:34 +1000)]
add copyright statement
Dave Airlie [Wed, 11 Apr 2007 06:33:03 +0000 (16:33 +1000)]
add initial drm_fb framebuffer
So far I can load fbcon, once I use my miniglx to add a framebuffer.
fbcon doesn't show anything on screen but baby steps and all that.
Dave Airlie [Wed, 11 Apr 2007 04:43:02 +0000 (14:43 +1000)]
comment out unworkable code
Dave Airlie [Wed, 11 Apr 2007 04:34:43 +0000 (14:34 +1000)]
only init at driver load
Dave Airlie [Wed, 11 Apr 2007 04:34:22 +0000 (14:34 +1000)]
only bo finish at driver unload
Dave Airlie [Wed, 11 Apr 2007 04:04:18 +0000 (14:04 +1000)]
use the baseaddr at least
root [Wed, 11 Apr 2007 03:40:50 +0000 (13:40 +1000)]
Revert "Remove some delays from Intel i2c code, we'll need a more comprehensive fix"
This reverts commit
c0336989884e75bcd05284257e884754bb5f85b6.
this break SDVO
David Airlie [Wed, 11 Apr 2007 03:19:30 +0000 (13:19 +1000)]
add an fb count + id get to the get resources code path
David Airlie [Wed, 11 Apr 2007 03:18:49 +0000 (13:18 +1000)]
use fb pitch and fix up some whitespace
Jesse Barnes [Wed, 11 Apr 2007 00:58:30 +0000 (17:58 -0700)]
Merge branch 'modesetting-101' of git+ssh://git.freedesktop.org/git/mesa/drm into origin/modesetting-101
David Airlie [Tue, 10 Apr 2007 23:56:09 +0000 (09:56 +1000)]
fixup calculation to make sdvo work