summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* drm/fbdev: rework output polling to be back in the core. (v4)Dave Airlie2010-05-189-11/+22
| | | | | | | | | | | | | | | | | After thinking it over a lot it made more sense for the core to deal with the output polling especially so it can notify X. v2: drop plans for fake connector - per Michel's comments - fix X patch sent to xorg-devel, add intel polled/hpd setting, add initial nouveau polled/hpd settings. v3: add config lock take inside polling, add intel/nouveau poll init/fini calls v4: config lock was a bit agressive, only needed around connector list reading. otherwise it could re-enter. glisse: discard drm_helper_hpd_irq_event v3: Reviewed-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* fbdev: allow passing more than one aperture for handoffMarcin Slusarz2010-05-181-3/+8
| | | | | | | | | | | | | | It removes a hack from nouveau code which had to detect which region to pass to kick vesafb/efifb. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Cc: Eric Anholt <eric@anholt.net> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Dave Airlie <airlied@redhat.com> Cc: Peter Jones <pjones@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Revert "drm/i915: Configure the TV sense state correctly on GM45 to make TV ↵Dave Airlie2010-04-201-9/+0
| | | | | | | | | | | detection reliable" Eric mentioned on irc this patch was bad, so revert it. This reverts commit fb8b5a39b6310379d7b54c0c7113703a8eaf4a57. Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915: drop pointer to drm_gem_objectDaniel Vetter2010-04-206-26/+23
| | | | | | | | | Luckily the change is quite a little bit less invasive than I've feared. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915: don't use ->driver_private anymoreDaniel Vetter2010-04-202-2/+2
| | | | | | | | Thanks to the to_intel_bo helper, this change is rather trivial. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915: embed the gem object into drm_i915_gem_objectDaniel Vetter2010-04-202-29/+30
| | | | | | | | | Just embed it and adjust the pointers, No other changes (that's for later patches). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/i915: introduce i915_gem_alloc_objectDaniel Vetter2010-04-205-6/+14
| | | | | | | | Just preparation, no functional change. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: free core gem object from driver callbacksDaniel Vetter2010-04-201-0/+3
| | | | | | | | | | | | | When drivers embed the core gem object into their own structures, they'll have to do this. Temporarily this results in an ugly kfree(gem_obj); in every gem driver. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge branch 'drm-fbdev-cleanup' into drm-core-nextDave Airlie2010-04-206-136/+126
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * drm-fbdev-cleanup: drm/fb: remove drm_fb_helper_setcolreg drm/kms/fb: use slow work mechanism for normal hotplug also. drm/kms/fb: add polling support for when nothing is connected. drm/kms/fb: provide a 1024x768 fbcon if no outputs found. drm/kms/fb: separate fbdev connector list from core drm connectors drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list drm/fb: fix fbdev object model + cleanup properly. Conflicts: drivers/gpu/drm/i915/i915_drv.h drivers/gpu/drm/nouveau/nouveau_drv.h
| * drm/fb: remove drm_fb_helper_setcolregJames Simmons2010-04-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | This patch is against the drm-fbdevfix1 branch. It removes the drm_fb_helper_setcolreg function. The reason is that fb_setcolreg is only used in the case where fb_setcmap is called and no fb_ops->fb_setcmap is used. In the drm case we always need a fb_setcmap hook to handle multiple crtcs so we don't need a fb_setcolreg hook. Please apply. Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/kms/fb: use slow work mechanism for normal hotplug also.Dave Airlie2010-04-073-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | a) slow work is always used now for any fbcon hotplug, as its not a fast task and is more suited to being ran under slow work. b) attempt to not do any fbdev changes when X is running as we'll just mess it up. This hooks set_par to hopefully do the changes once X hands control to fbdev. This also adds the nouveau/intel hotplug support. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/kms/fb: separate fbdev connector list from core drm connectorsDave Airlie2010-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This breaks the connection between the core drm connector list and the fbdev connector usage, and allows them to become disjoint in the future. It also removes the untype void* that was in the connector struct to support this. All connectors are added to the fbdev now but this could be changed in the future. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/kms/fb: move to using fb helper crtc grouping instead of core crtc listDave Airlie2010-04-072-52/+46
| | | | | | | | | | | | | | | | | | | | This move to using the list of crtcs in the fb helper and cleans up the whole picking code, now we store the crtc/connectors we want directly into the modeset and we use the modeset directly to set the mode. Fixes from James Simmons and Ben Skeggs. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/fb: fix fbdev object model + cleanup properly.Dave Airlie2010-04-075-121/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work. This patch a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs. b) migrated all the fb helper functions out of the crtc helper file into the fb helper file. c) pushed the fb probing/hotplug control into the driver d) makes the surface sizes into a structure for ease of passing This changes the intel/radeon/nouveau drivers to use the new helper. Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next ↵Dave Airlie2010-04-2023-1485/+1775
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-core-next * 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next: (48 commits) agp/intel-gtt: kill previous_size assignments agp/intel-gtt: kill intel_i830_tlbflush agp/intel: split out gmch/gtt probe, part 1 agp/intel: kill mutli_gmch_chip agp/intel: uncoditionally reconfigure driver on resume agp/intel: split out the GTT support agp/intel: introduce intel-agp.h header file drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect() drm/i915/pch: Use minimal number of FDI lanes (v2) drm/i915: Add the support of memory self-refresh on Ironlake drm/i915: Move Pineview CxSR and watermark code into update_wm hook. drm/i915: Only save/restore FBC on the platform that supports FBC drm/i915: Fix the incorrect argument for SDVO SET_TV_format command drm/i915: Add support of SDVO on Ibexpeak PCH drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on). drm/i915: do not read uninitialized ->dev_private Revert "drm/i915: Use a dmi quirk to skip a broken SDVO TV output." drm/i915: implement multifunction SDVO device support drm/i915: remove unused intel_pipe_get_connector() drm/i915: remove connector object in old output structure ...
| * | drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()Karsten Wiese2010-04-191-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PORT_HOTPLUG_EN has allready been setup in i915_driver_irq_postinstall(), when intel_dp_detect() runs. Delete the DP[BCD]_HOTPLUG_INT_EN defines, they are not referenced anymore. I found this while searching for a fix for https://bugzilla.redhat.com/show_bug.cgi?id=528312 Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915/pch: Use minimal number of FDI lanes (v2)Adam Jackson2010-04-192-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should be a small power savings. Tested on Lenovo T410 (Ironlake), LVDS VGA and DisplayPort, up to 1920x1200R. v2: Add Sandybridge support, fix obvious math error. Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Add the support of memory self-refresh on IronlakeZhenyu Wang2010-04-122-3/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the self-refresh watermark for display plane/cursor and enable the memory self-refresh on Ironlake. The watermark is also updated for the active display plane. More than 1W idle power is saved on one Ironlake laptop after enabling memory self-refresh. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: Move Pineview CxSR and watermark code into update_wm hook.Zhao Yakui2010-04-122-74/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, after setting up the Pineview CxSR state, i9xx_update_wm would get called and overwrite our state. BTW: We will disable the self-refresh and never enable it any more if we can't find the appropriate the latency on pineview plaftorm. In such case the update_wm callback will be NULL. The bitmask macro is also defined to access the corresponding fifo watermark register. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: Only save/restore FBC on the platform that supports FBCZhao Yakui2010-04-121-19/+22
| | | | | | | | | | | | | | | Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: Fix the incorrect argument for SDVO SET_TV_format commandZhao Yakui2010-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it will cause that S-video output becomes black/white when switching to other TV format. http://bugs.freedesktop.org/show_bug.cgi?id=23916 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Tested-by: Arnold <arnold.erbsloeh@web.de> Tested-by: Bazin <bazin.cz@gmail.com> Tested-by: Nigel <nigel_tuck@eircom.net> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: Add support of SDVO on Ibexpeak PCHZhao Yakui2010-04-123-16/+36
| | | | | | | | | | | | | | | | | | | | | | | | SDVO on Ibexpeak PCH with Ironlake is multiplexed with HDMIB port, and only has SDVOB port. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on).Carl Worth2010-04-121-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The existing code handling the DPMS ON event is much more careful to ensure that these registers are enabled according to strict sequencing requirements. Enabling these early in mode_set simply defeats that. Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: do not read uninitialized ->dev_privateLuca Tettamanti2010-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ->dev_private at that point is NULL and is initialied only a few lines later. Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | Revert "drm/i915: Use a dmi quirk to skip a broken SDVO TV output."Zhenyu Wang2010-04-121-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6070a4a928f8c92b9fae7d6717ebbb05f425d6b2. The quirk for this SDVO device on IBM specific board is just a hack in old code which showed the broken multifunction SDVO support in the driver. Multifunction SDVO patch provided the right fix for it. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: implement multifunction SDVO device supportZhenyu Wang2010-04-121-236/+375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With new intel_encoder/intel_connector structure change, each supported connector type on SDVO device will be created as a new 'intel_connector', and all attached to one 'intel_encoder' for its SDVO port. The SDVO encoder will handle SDVO protocol stuff, and each connector does its own part of work now, like detection is only to check if current active output is itself, etc. Update since last submit: - Fixed SDVO TV property creation failure by incorrect set target output call Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: remove unused intel_pipe_get_connector()Zhenyu Wang2010-04-121-17/+0
| | | | | | | | | | | | | | | | | | Added by original eDP support patch, not used any more. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: remove connector object in old output structureZhenyu Wang2010-04-122-14/+0
| | | | | | | | | | | | | | | | | | | | | As all display drivers have been converted, remove the left reference for connector object in old structure. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: convert TV driver to new encoder/connector structureZhenyu Wang2010-04-121-14/+26
| | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: convert SDVO driver to new encoder/connector structureZhenyu Wang2010-04-121-66/+94
| | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
| * | drm/i915: convert DVO driver to new encoder/connector structureZhenyu Wang2010-04-121-36/+34
| | | | | | | | | | | | | | | | | | | | | Also remove old UMS copied code for get_crtc. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: convert DP/eDP driver to new encoder/connector structureZhenyu Wang2010-04-122-31/+45
| | | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: convert HDMI driver to new encoder/connector structureZhenyu Wang2010-04-121-12/+24
| | | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: convert LVDS driver to new encoder/connector structureZhenyu Wang2010-04-121-11/+23
| | | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: convert VGA driver to new encoder/connector structureZhenyu Wang2010-04-121-13/+22
| | | | | | | | | | | | | | | Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Set sync polarity correctly on DisplayPortAdam Jackson2010-04-121-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | Probably only matters for format-converting dongles, but might as well get it right all the time. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Un-magic a DPCD register writeAdam Jackson2010-04-121-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: enable DP/eDP for Sandybridge/CougarpointZhenyu Wang2010-04-123-19/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DP on Cougarpoint has new training pattern definitions, and new transcoder DP control register is used to determine the mapping for transcoder and DP digital output. And eDP for Sandybridge has new voltage and pre-emphasis level definitions. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: enable HDMI on CougarpointZhenyu Wang2010-04-121-2/+6
| | | | | | | | | | | | | | | | | | | | | Fix transcoder select bit for HDMI on CPT. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: enable LVDS on CougarpointZhenyu Wang2010-04-121-4/+11
| | | | | | | | | | | | | | | | | | | | | Fix the transcoder select bit for LVDS on CPT. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Fix CRT force detect on CougarpointZhenyu Wang2010-04-121-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | To make CRT force detect reliable on Cougarpoint, we need to disable DAC before force detect, and restore back when trigger is completed. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Support for Cougarpoint PCH display pipelineZhenyu Wang2010-04-123-124/+426
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cougarpoint is the new PCH for Sandybridge CPU. This one resolves the chipset change for display pipeline compared to previous Ibexpeak PCH. Sandybridge/Cougarpoint has different FDI training parameters, so this also makes seperate FDI training functions for IBX and CPT. Other change includes new transcoder DPLL select function to set which DPLL for transcoder to pick up. And with another new transcoder C introduced in Cougarpoint, each connector has new transcoder select bits. This one adds that change to light up VGA. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Probe for PCH chipset typeZhenyu Wang2010-04-123-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PCH is the new name for south bridge from Ironlake/Sandybridge, which contains most of the display outputs except eDP. This one adds a probe function to detect current PCH type, and method to detect Cougarpoint PCH. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Sandybridge has no integrated TVZhenyu Wang2010-04-121-1/+2
| | | | | | | | | | | | | | | | | | | | | Integrated TV is deprecated in new chips from Ironlake. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Fix legacy BLC event for pipe AZhao Yakui2010-04-121-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpRegion event on 965G requires legacy BLC event enabled in pipe stat. As LVDS could be on either pipe now, we should enable BLC event on both pipe. If fail to do so, we couldn't handle the brightness request triggered from graphics opregion. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Clear the LVDS pipe B select bit when moving the LVDS to pipe A.Eric Anholt2010-04-121-0/+2
| | | | | | | | | | | | | | | | | | Based on a patch by Zhao Yakui. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Allow LVDS on pipe A on gen4+Adam Jackson2010-04-122-1/+5
| | | | | | | | | | | | | | | | | | | | | The gen4 docs say it works, so why not. Tested on Ironlake. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: Remove dead KMS encoder save/restore code.Eric Anholt2010-04-1212-643/+4
| | | | | | | | | | | | | | | | | | | | | This was brought over from UMS, and used for a while until we decided that drm_helper_resume_force_mode was easier and more reliable, since it didn't require duplicating all the code deleted here. We just forgot to delete all that junk for a while.
| * | drm/i915: change intel_ddc_get_modes() function parametersZhenyu Wang2010-04-098-35/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This one replaces original param for intel_ddc_get_modes() with DRM connector and i2c bus adapter instead. With explicit params, we won't require that a single driver structure must hold connector and DDC bus reference, which ease the conversion to splitted encoder/ connector model. It also clears up for some cases that we would steal other DDC bus for mode probe, like VGA analog DDC probe for DVI-I. Also it fixed a bug in old DVI-I probe handling, that failed to restore origin analog GPIO port. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/i915: passing drm connector param for load detectionZhenyu Wang2010-04-094-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In load detection, connector's encoder assignment must be kept consistent for proper mode setting, and this makes connector as explicit parameter for load detect function to not require single data structure to hold both encoder and connector reference, ease the transition for splitted encoder/connector model. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>